Class: GeoRuby::SimpleFeatures::EWKTParser
- Inherits:
-
Object
- Object
- GeoRuby::SimpleFeatures::EWKTParser
- Defined in:
- lib/geo_ruby/ewk/ewkt_parser.rb
Overview
Parses EWKT strings and notifies of events (such as the beginning of the definition of geometry, the value of the SRID...) the factory passed as argument to the constructor.
=Example
factory = GeometryFactory::new
ewkt_parser = EWKTParser::new(factory)
ewkt_parser.parse(
You can also use directly the static method Geometry.from_ewkt
Instance Method Summary collapse
-
#initialize(factory) ⇒ EWKTParser
constructor
A new instance of EWKTParser.
-
#parse(ewkt) ⇒ Object
Parses the ewkt string passed as argument and notifies the factory of events.
Constructor Details
#initialize(factory) ⇒ EWKTParser
Returns a new instance of EWKTParser.
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/geo_ruby/ewk/ewkt_parser.rb', line 19 def initialize(factory) @factory = factory @parse_options = { 'POINT' => method(:parse_point), 'LINESTRING' => method(:parse_line_string), 'POLYGON' => method(:parse_polygon), 'MULTIPOINT' => method(:parse_multi_point), 'MULTILINESTRING' => method(:parse_multi_line_string), 'MULTIPOLYGON' => method(:parse_multi_polygon), 'GEOMETRYCOLLECTION' => method(:parse_geometry_collection) } end |
Instance Method Details
#parse(ewkt) ⇒ Object
Parses the ewkt string passed as argument and notifies the factory of events
33 34 35 36 37 38 39 40 41 |
# File 'lib/geo_ruby/ewk/ewkt_parser.rb', line 33 def parse(ewkt) @factory.reset @tokenizer_structure = TokenizerStructure.new(ewkt) @with_z = false @with_m = false @is_3dm = false parse_geometry(true) @srid = nil end |