Module: EsriShapefile::Shapes

Defined in:
lib/esri_shapefile/models/shapes.rb,
lib/esri_shapefile/models/shapes/null.rb,
lib/esri_shapefile/models/shapes/point.rb,
lib/esri_shapefile/models/shapes/point_m.rb,
lib/esri_shapefile/models/shapes/point_z.rb,
lib/esri_shapefile/models/shapes/polygon.rb,
lib/esri_shapefile/models/shapes/poly_line.rb,
lib/esri_shapefile/models/shapes/polygon_m.rb,
lib/esri_shapefile/models/shapes/polygon_z.rb,
lib/esri_shapefile/models/shapes/multi_patch.rb,
lib/esri_shapefile/models/shapes/multi_point.rb,
lib/esri_shapefile/models/shapes/poly_line_m.rb,
lib/esri_shapefile/models/shapes/poly_line_z.rb,
lib/esri_shapefile/models/shapes/multi_point_m.rb,
lib/esri_shapefile/models/shapes/multi_point_z.rb

Defined Under Namespace

Classes: MultiPatch, MultiPoint, MultiPointM, MultiPointZ, Null, Point, PointM, PointZ, PolyLine, PolyLineM, PolyLineZ, Polygon, PolygonM, PolygonZ

Constant Summary collapse

SHAPES =

Shape types not specified below (2, 4, 6, etc., and up to 33) are reserved for future use

{
  0  => Shapes::Null,
  1  => Shapes::Point,
  3  => Shapes::PolyLine,
  5  => Shapes::Polygon,
  8  => Shapes::MultiPoint,
  11 => Shapes::PointZ,
  13 => Shapes::PolyLineZ,
  15 => Shapes::PolygonZ,
  18 => Shapes::MultiPointZ,
  21 => Shapes::PointM,
  23 => Shapes::PolyLineM,
  25 => Shapes::PolygonM,
  28 => Shapes::MultiPointM,
  31 => Shapes::MultiPatch,
}

Class Method Summary collapse

Class Method Details

.find_by_bytes(bytes) ⇒ Object



27
28
29
30
# File 'lib/esri_shapefile/models/shapes.rb', line 27

def self.find_by_bytes(bytes)
  shape_type = bytes.unpack('l<').first
  find_by_type(shape_type)
end

.find_by_type(shape_type) ⇒ Object



23
24
25
# File 'lib/esri_shapefile/models/shapes.rb', line 23

def self.find_by_type(shape_type)
  SHAPES.fetch(shape_type)
end