Class: GeoRuby::Base::MultiPolygon

Inherits:
GeometryCollection show all
Defined in:
lib/geo_ruby/base/multi_polygon.rb

Overview

Represents a group of polygons (see Polygon).

Instance Attribute Summary

Attributes inherited from GeometryCollection

#geometries

Attributes inherited from Geometry

#srid, #with_m, #with_z

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from GeometryCollection

#==, #binary_representation, #bounding_box, from_geometries, #georss_gml_representation, #georss_simple_representation, #georss_w3cgeo_representation, #kml_representation, #m_range, #method_missing

Methods inherited from Geometry

#as_ewkb, #as_ewkt, #as_georss, #as_hex_ewkb, #as_hex_wkb, #as_kml, #as_wkb, #as_wkt, #bounding_box, #envelope, from_ewkb, from_ewkt, from_georss, from_georss_with_tags, from_hex_ewkb, from_kml, kml_to_wkt, #m_range

Constructor Details

#initialize(srid = @@default_srid, with_z = false, with_m = false) ⇒ MultiPolygon

Returns a new instance of MultiPolygon.



7
8
9
# File 'lib/geo_ruby/base/multi_polygon.rb', line 7

def initialize(srid = @@default_srid,with_z=false,with_m=false)
  super(srid)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class GeoRuby::Base::GeometryCollection

Class Method Details

.from_coordinates(point_sequence_sequences, srid = @@default_srid, with_z = false, with_m = false) ⇒ Object

Creates a multi polygon from sequences of points : ((((x,y)…(x,y)),((x,y)…(x,y)),((x,y)…(x,y)))



30
31
32
33
34
# File 'lib/geo_ruby/base/multi_polygon.rb', line 30

def self.from_coordinates(point_sequence_sequences,srid= @@default_srid,with_z=false,with_m=false)
  multi_polygon = new(srid,with_z,with_m)
  multi_polygon.concat( point_sequence_sequences.collect {|point_sequences| Polygon.from_coordinates(point_sequences,srid,with_z,with_m) } )
  multi_polygon
end

.from_polygons(polygons, srid = @@default_srid, with_z = false, with_m = false) ⇒ Object

Creates a multi polygon from an array of polygons



24
25
26
27
28
# File 'lib/geo_ruby/base/multi_polygon.rb', line 24

def self.from_polygons(polygons,srid=@@default_srid,with_z=false,with_m=false)
  multi_polygon = new(srid,with_z,with_m)
  multi_polygon.concat(polygons)
  multi_polygon
end

Instance Method Details

#binary_geometry_typeObject

:nodoc:



11
12
13
# File 'lib/geo_ruby/base/multi_polygon.rb', line 11

def binary_geometry_type #:nodoc:
  6
end

#text_geometry_typeObject

WKT geometry type



19
20
21
# File 'lib/geo_ruby/base/multi_polygon.rb', line 19

def text_geometry_type #:nodoc:
  "MULTIPOLYGON"
end

#text_representation(allow_z = true, allow_m = true) ⇒ Object

Text representation of a MultiPolygon



15
16
17
# File 'lib/geo_ruby/base/multi_polygon.rb', line 15

def text_representation(allow_z=true,allow_m=true) #:nodoc:
  @geometries.collect{|polygon| "(" + polygon.text_representation(allow_z,allow_m) + ")"}.join(",")
end