Class: GeoRuby::SimpleFeatures::MultiPoint

Inherits:
GeometryCollection show all
Defined in:
lib/geo_ruby/simple_features/multi_point.rb

Overview

Represents a group of points (see Point).

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_geojson, from_georss, from_georss_with_tags, from_hex_ewkb, from_kml, #m_range, #to_json

Constructor Details

#initialize(srid = DEFAULT_SRID, with_z = false, with_m = false) ⇒ MultiPoint

Returns a new instance of MultiPoint.



7
8
9
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 7

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

Dynamic Method Handling

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

Class Method Details

.from_coordinates(points, srid = DEFAULT_SRID, with_z = false, with_m = false) ⇒ Object

Creates a new multi point from a list of point coordinates : ((x,y)…(x,y))



45
46
47
48
49
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 45

def self.from_coordinates(points, srid = DEFAULT_SRID, with_z = false, with_m = false)
  multi_point = new(srid, with_z, with_m)
  multi_point.concat(points.collect { |point| Point.from_coordinates(point, srid, with_z, with_m) })
  multi_point
end

.from_points(points, srid = DEFAULT_SRID, with_z = false, with_m = false) ⇒ Object

Creates a new multi point from an array of points



38
39
40
41
42
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 38

def self.from_points(points, srid = DEFAULT_SRID, with_z = false, with_m = false)
  multi_point = new(srid, with_z, with_m)
  multi_point.concat(points)
  multi_point
end

Instance Method Details

#as_json(_options = {}) ⇒ Object



33
34
35
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 33

def as_json(_options = {})
  { type: 'MultiPoint', coordinates: to_coordinates }
end

#binary_geometry_typeObject

:nodoc:



11
12
13
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 11

def binary_geometry_type #:nodoc:
  4
end

#pointsObject



15
16
17
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 15

def points
  @geometries
end

#text_geometry_typeObject

WKT geoemtry type



25
26
27
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 25

def text_geometry_type #:nodoc:
  'MULTIPOINT'
end

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

Text representation of a MultiPoint



20
21
22
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 20

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

#to_coordinatesObject



29
30
31
# File 'lib/geo_ruby/simple_features/multi_point.rb', line 29

def to_coordinates
  points.map(&:to_coordinates)
end