rgeo 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. data/History.rdoc +6 -0
  2. data/README.rdoc +1 -1
  3. data/Version +1 -1
  4. data/ext/geos_c_impl/extconf.rb +13 -13
  5. data/ext/geos_c_impl/factory.c +30 -18
  6. data/ext/geos_c_impl/factory.h +18 -12
  7. data/ext/geos_c_impl/geometry.c +11 -11
  8. data/ext/geos_c_impl/geometry.h +7 -7
  9. data/ext/geos_c_impl/geometry_collection.c +15 -15
  10. data/ext/geos_c_impl/geometry_collection.h +8 -8
  11. data/ext/geos_c_impl/line_string.c +14 -14
  12. data/ext/geos_c_impl/line_string.h +7 -7
  13. data/ext/geos_c_impl/main.c +7 -7
  14. data/ext/geos_c_impl/point.c +9 -9
  15. data/ext/geos_c_impl/point.h +7 -7
  16. data/ext/geos_c_impl/polygon.c +9 -9
  17. data/ext/geos_c_impl/polygon.h +7 -7
  18. data/ext/geos_c_impl/preface.h +7 -7
  19. data/ext/proj4_c_impl/extconf.rb +13 -13
  20. data/ext/proj4_c_impl/main.c +12 -12
  21. data/lib/rgeo.rb +26 -26
  22. data/lib/rgeo/cartesian.rb +12 -12
  23. data/lib/rgeo/cartesian/analysis.rb +26 -26
  24. data/lib/rgeo/cartesian/bounding_box.rb +83 -83
  25. data/lib/rgeo/cartesian/calculations.rb +36 -36
  26. data/lib/rgeo/cartesian/factory.rb +78 -78
  27. data/lib/rgeo/cartesian/feature_classes.rb +74 -74
  28. data/lib/rgeo/cartesian/feature_methods.rb +34 -34
  29. data/lib/rgeo/cartesian/interface.rb +33 -33
  30. data/lib/rgeo/coord_sys.rb +15 -15
  31. data/lib/rgeo/coord_sys/cs/entities.rb +533 -534
  32. data/lib/rgeo/coord_sys/cs/factories.rb +69 -69
  33. data/lib/rgeo/coord_sys/cs/wkt_parser.rb +44 -44
  34. data/lib/rgeo/coord_sys/proj4.rb +85 -85
  35. data/lib/rgeo/coord_sys/srs_database/active_record_table.rb +31 -31
  36. data/lib/rgeo/coord_sys/srs_database/interface.rb +44 -44
  37. data/lib/rgeo/coord_sys/srs_database/proj4_data.rb +31 -31
  38. data/lib/rgeo/coord_sys/srs_database/sr_org.rb +31 -31
  39. data/lib/rgeo/coord_sys/srs_database/url_reader.rb +29 -29
  40. data/lib/rgeo/error.rb +17 -17
  41. data/lib/rgeo/feature.rb +15 -15
  42. data/lib/rgeo/feature/curve.rb +58 -58
  43. data/lib/rgeo/feature/factory.rb +84 -84
  44. data/lib/rgeo/feature/factory_generator.rb +32 -32
  45. data/lib/rgeo/feature/geometry.rb +215 -215
  46. data/lib/rgeo/feature/geometry_collection.rb +46 -46
  47. data/lib/rgeo/feature/line.rb +21 -21
  48. data/lib/rgeo/feature/line_string.rb +35 -35
  49. data/lib/rgeo/feature/linear_ring.rb +20 -20
  50. data/lib/rgeo/feature/mixins.rb +61 -61
  51. data/lib/rgeo/feature/multi_curve.rb +37 -37
  52. data/lib/rgeo/feature/multi_line_string.rb +20 -20
  53. data/lib/rgeo/feature/multi_point.rb +22 -22
  54. data/lib/rgeo/feature/multi_polygon.rb +28 -28
  55. data/lib/rgeo/feature/multi_surface.rb +39 -39
  56. data/lib/rgeo/feature/point.rb +42 -42
  57. data/lib/rgeo/feature/polygon.rb +50 -50
  58. data/lib/rgeo/feature/surface.rb +42 -42
  59. data/lib/rgeo/feature/types.rb +58 -58
  60. data/lib/rgeo/geographic.rb +14 -14
  61. data/lib/rgeo/geographic/factory.rb +87 -87
  62. data/lib/rgeo/geographic/interface.rb +55 -55
  63. data/lib/rgeo/geographic/proj4_projector.rb +35 -35
  64. data/lib/rgeo/geographic/projected_feature_classes.rb +95 -95
  65. data/lib/rgeo/geographic/projected_feature_methods.rb +81 -81
  66. data/lib/rgeo/geographic/projected_window.rb +103 -103
  67. data/lib/rgeo/geographic/simple_mercator_projector.rb +32 -32
  68. data/lib/rgeo/geographic/spherical_feature_classes.rb +93 -93
  69. data/lib/rgeo/geographic/spherical_feature_methods.rb +25 -25
  70. data/lib/rgeo/geographic/spherical_math.rb +58 -58
  71. data/lib/rgeo/geos.rb +22 -17
  72. data/lib/rgeo/geos/factory.rb +93 -93
  73. data/lib/rgeo/geos/ffi_classes.rb +306 -231
  74. data/lib/rgeo/geos/ffi_factory.rb +100 -96
  75. data/lib/rgeo/geos/impl_additions.rb +22 -22
  76. data/lib/rgeo/geos/interface.rb +45 -45
  77. data/lib/rgeo/geos/zm_factory.rb +90 -90
  78. data/lib/rgeo/geos/zm_impl.rb +167 -167
  79. data/lib/rgeo/impl_helper.rb +11 -11
  80. data/lib/rgeo/impl_helper/basic_geometry_collection_methods.rb +71 -71
  81. data/lib/rgeo/impl_helper/basic_geometry_methods.rb +29 -29
  82. data/lib/rgeo/impl_helper/basic_line_string_methods.rb +61 -61
  83. data/lib/rgeo/impl_helper/basic_point_methods.rb +43 -43
  84. data/lib/rgeo/impl_helper/basic_polygon_methods.rb +35 -35
  85. data/lib/rgeo/impl_helper/math.rb +13 -13
  86. data/lib/rgeo/version.rb +10 -10
  87. data/lib/rgeo/wkrep.rb +16 -16
  88. data/lib/rgeo/wkrep/wkb_generator.rb +51 -51
  89. data/lib/rgeo/wkrep/wkb_parser.rb +52 -52
  90. data/lib/rgeo/wkrep/wkt_generator.rb +51 -51
  91. data/lib/rgeo/wkrep/wkt_parser.rb +66 -66
  92. data/lib/rgeo/yaml.rb +14 -14
  93. data/test/common/geometry_collection_tests.rb +53 -53
  94. data/test/common/line_string_tests.rb +57 -57
  95. data/test/common/multi_line_string_tests.rb +43 -43
  96. data/test/common/multi_point_tests.rb +43 -43
  97. data/test/common/multi_polygon_tests.rb +43 -43
  98. data/test/common/point_tests.rb +75 -75
  99. data/test/common/polygon_tests.rb +37 -37
  100. data/test/coord_sys/tc_active_record_table.rb +25 -25
  101. data/test/coord_sys/tc_ogc_cs.rb +72 -72
  102. data/test/coord_sys/tc_proj4.rb +51 -51
  103. data/test/coord_sys/tc_proj4_srs_data.rb +17 -17
  104. data/test/coord_sys/tc_sr_org.rb +15 -15
  105. data/test/coord_sys/tc_url_reader.rb +19 -19
  106. data/test/geos_capi/tc_factory.rb +21 -21
  107. data/test/geos_capi/tc_geometry_collection.rb +15 -15
  108. data/test/geos_capi/tc_line_string.rb +15 -15
  109. data/test/geos_capi/tc_misc.rb +33 -22
  110. data/test/geos_capi/tc_multi_line_string.rb +15 -15
  111. data/test/geos_capi/tc_multi_point.rb +15 -15
  112. data/test/geos_capi/tc_multi_polygon.rb +15 -15
  113. data/test/geos_capi/tc_parsing_unparsing.rb +19 -19
  114. data/test/geos_capi/tc_point.rb +21 -21
  115. data/test/geos_capi/tc_polygon.rb +19 -19
  116. data/test/geos_capi/tc_zmfactory.rb +17 -17
  117. data/test/geos_ffi/tc_factory.rb +21 -21
  118. data/test/geos_ffi/tc_geometry_collection.rb +15 -15
  119. data/test/geos_ffi/tc_line_string.rb +15 -15
  120. data/test/geos_ffi/tc_misc.rb +49 -15
  121. data/test/geos_ffi/tc_multi_line_string.rb +15 -15
  122. data/test/geos_ffi/tc_multi_point.rb +15 -15
  123. data/test/geos_ffi/tc_multi_polygon.rb +15 -15
  124. data/test/geos_ffi/tc_parsing_unparsing.rb +19 -19
  125. data/test/geos_ffi/tc_point.rb +21 -21
  126. data/test/geos_ffi/tc_polygon.rb +19 -19
  127. data/test/geos_ffi/tc_zmfactory.rb +17 -17
  128. data/test/projected_geographic/tc_geometry_collection.rb +15 -15
  129. data/test/projected_geographic/tc_line_string.rb +15 -15
  130. data/test/projected_geographic/tc_multi_line_string.rb +15 -15
  131. data/test/projected_geographic/tc_multi_point.rb +15 -15
  132. data/test/projected_geographic/tc_multi_polygon.rb +15 -15
  133. data/test/projected_geographic/tc_point.rb +23 -23
  134. data/test/projected_geographic/tc_polygon.rb +15 -15
  135. data/test/simple_cartesian/tc_calculations.rb +31 -31
  136. data/test/simple_cartesian/tc_geometry_collection.rb +17 -17
  137. data/test/simple_cartesian/tc_line_string.rb +17 -17
  138. data/test/simple_cartesian/tc_multi_line_string.rb +17 -17
  139. data/test/simple_cartesian/tc_multi_point.rb +17 -17
  140. data/test/simple_cartesian/tc_multi_polygon.rb +17 -17
  141. data/test/simple_cartesian/tc_point.rb +21 -21
  142. data/test/simple_cartesian/tc_polygon.rb +17 -17
  143. data/test/simple_mercator/tc_geometry_collection.rb +15 -15
  144. data/test/simple_mercator/tc_line_string.rb +15 -15
  145. data/test/simple_mercator/tc_multi_line_string.rb +15 -15
  146. data/test/simple_mercator/tc_multi_point.rb +15 -15
  147. data/test/simple_mercator/tc_multi_polygon.rb +15 -15
  148. data/test/simple_mercator/tc_point.rb +23 -23
  149. data/test/simple_mercator/tc_polygon.rb +15 -15
  150. data/test/simple_mercator/tc_window.rb +50 -50
  151. data/test/spherical_geographic/tc_calculations.rb +47 -47
  152. data/test/spherical_geographic/tc_geometry_collection.rb +17 -17
  153. data/test/spherical_geographic/tc_line_string.rb +17 -17
  154. data/test/spherical_geographic/tc_multi_line_string.rb +17 -17
  155. data/test/spherical_geographic/tc_multi_point.rb +17 -17
  156. data/test/spherical_geographic/tc_multi_polygon.rb +17 -17
  157. data/test/spherical_geographic/tc_point.rb +23 -23
  158. data/test/spherical_geographic/tc_polygon.rb +17 -17
  159. data/test/tc_cartesian_analysis.rb +23 -23
  160. data/test/tc_mixins.rb +39 -39
  161. data/test/tc_oneoff.rb +15 -15
  162. data/test/tc_types.rb +17 -17
  163. data/test/wkrep/tc_wkb_generator.rb +67 -67
  164. data/test/wkrep/tc_wkb_parser.rb +73 -73
  165. data/test/wkrep/tc_wkt_generator.rb +75 -75
  166. data/test/wkrep/tc_wkt_parser.rb +97 -97
  167. metadata +3 -3
@@ -1,15 +1,15 @@
1
1
  # -----------------------------------------------------------------------------
2
- #
2
+ #
3
3
  # FFI-GEOS factory implementation
4
- #
4
+ #
5
5
  # -----------------------------------------------------------------------------
6
- # Copyright 2010 Daniel Azuma
7
- #
6
+ # Copyright 2010-2012 Daniel Azuma
7
+ #
8
8
  # All rights reserved.
9
- #
9
+ #
10
10
  # Redistribution and use in source and binary forms, with or without
11
11
  # modification, are permitted provided that the following conditions are met:
12
- #
12
+ #
13
13
  # * Redistributions of source code must retain the above copyright notice,
14
14
  # this list of conditions and the following disclaimer.
15
15
  # * Redistributions in binary form must reproduce the above copyright notice,
@@ -18,7 +18,7 @@
18
18
  # * Neither the name of the copyright holder, nor the names of any other
19
19
  # contributors to this software, may be used to endorse or promote products
20
20
  # derived from this software without specific prior written permission.
21
- #
21
+ #
22
22
  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
23
  # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
24
  # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -35,23 +35,23 @@
35
35
 
36
36
 
37
37
  module RGeo
38
-
38
+
39
39
  module Geos
40
-
41
-
40
+
41
+
42
42
  # This the FFI-GEOS implementation of ::RGeo::Feature::Factory.
43
-
43
+
44
44
  class FFIFactory
45
-
46
-
45
+
46
+
47
47
  include Feature::Factory::Instance
48
-
49
-
48
+
49
+
50
50
  # Create a new factory. Returns nil if the FFI-GEOS implementation
51
51
  # is not supported.
52
- #
52
+ #
53
53
  # See ::RGeo::Geos.factory for a list of supported options.
54
-
54
+
55
55
  def initialize(opts_={})
56
56
  # Main flags
57
57
  @uses_lenient_multi_polygon_assertions = opts_[:lenient_multi_polygon_assertions] ||
@@ -64,7 +64,8 @@ module RGeo
64
64
  @_has_3d = @has_z || @has_m
65
65
  @buffer_resolution = opts_[:buffer_resolution].to_i
66
66
  @buffer_resolution = 1 if @buffer_resolution < 1
67
-
67
+ @_auto_prepare = opts_[:auto_prepare] == :disabled ? false : true
68
+
68
69
  # Interpret the generator options
69
70
  wkt_generator_ = opts_[:wkt_generator]
70
71
  case wkt_generator_
@@ -90,7 +91,7 @@ module RGeo
90
91
  @wkb_generator = WKRep::WKBGenerator.new
91
92
  @wkb_writer = nil
92
93
  end
93
-
94
+
94
95
  # Coordinate system (srid, proj4, and coord_sys)
95
96
  @srid = opts_[:srid]
96
97
  @proj4 = opts_[:proj4]
@@ -114,7 +115,7 @@ module RGeo
114
115
  end
115
116
  @srid ||= @coord_sys.authority_code if @coord_sys
116
117
  @srid = @srid.to_i
117
-
118
+
118
119
  # Interpret parser options
119
120
  wkt_parser_ = opts_[:wkt_parser]
120
121
  case wkt_parser_
@@ -141,47 +142,47 @@ module RGeo
141
142
  @wkb_reader = nil
142
143
  end
143
144
  end
144
-
145
-
145
+
146
+
146
147
  def inspect # :nodoc:
147
148
  "#<#{self.class}:0x#{object_id.to_s(16)} srid=#{srid}>"
148
149
  end
149
-
150
-
150
+
151
+
151
152
  # Factory equivalence test.
152
-
153
+
153
154
  def eql?(rhs_)
154
155
  rhs_.is_a?(self.class) && @srid == rhs_.srid &&
155
156
  @has_z == rhs_.property(:has_z_coordinate) &&
156
157
  @has_m == rhs_.property(:has_m_coordinate)
157
158
  end
158
159
  alias_method :==, :eql?
159
-
160
-
160
+
161
+
161
162
  # Returns the SRID of geometries created by this factory.
162
-
163
+
163
164
  def srid
164
165
  @srid
165
166
  end
166
-
167
-
167
+
168
+
168
169
  # Returns the resolution used by buffer calculations on geometries
169
170
  # created by this factory
170
-
171
+
171
172
  def buffer_resolution
172
173
  @buffer_resolution
173
174
  end
174
-
175
-
175
+
176
+
176
177
  # Returns true if this factory is lenient with MultiPolygon assertions
177
-
178
+
178
179
  def lenient_multi_polygon_assertions?
179
180
  @uses_lenient_multi_polygon_assertions
180
181
  end
181
-
182
-
182
+
183
+
183
184
  # See ::RGeo::Feature::Factory#property
184
-
185
+
185
186
  def property(name_)
186
187
  case name_
187
188
  when :has_z_coordinate
@@ -194,14 +195,16 @@ module RGeo
194
195
  @buffer_resolution
195
196
  when :uses_lenient_multi_polygon_assertions
196
197
  @uses_lenient_multi_polygon_assertions
198
+ when :auto_prepare
199
+ @_auto_prepare ? :simple : :disabled
197
200
  else
198
201
  nil
199
202
  end
200
203
  end
201
-
202
-
204
+
205
+
203
206
  # See ::RGeo::Feature::Factory#parse_wkt
204
-
207
+
205
208
  def parse_wkt(str_)
206
209
  if @wkt_reader
207
210
  @wkt_reader.read(str_)
@@ -209,10 +212,10 @@ module RGeo
209
212
  @wkt_parser.parse(str_)
210
213
  end
211
214
  end
212
-
213
-
215
+
216
+
214
217
  # See ::RGeo::Feature::Factory#parse_wkb
215
-
218
+
216
219
  def parse_wkb(str_)
217
220
  if @wkb_reader
218
221
  @wkb_reader.read(str_)
@@ -220,8 +223,8 @@ module RGeo
220
223
  @wkb_parser.parse(str_)
221
224
  end
222
225
  end
223
-
224
-
226
+
227
+
225
228
  def wrap_fg_geom(fg_geom_, klass_=nil) # :nodoc:
226
229
  klasses_ = nil
227
230
  unless klass_.kind_of?(::Class)
@@ -257,10 +260,10 @@ module RGeo
257
260
  end
258
261
  klass_.new(self, fg_geom_, klasses_)
259
262
  end
260
-
261
-
263
+
264
+
262
265
  # See ::RGeo::Feature::Factory#point
263
-
266
+
264
267
  def point(x_, y_, z_=0)
265
268
  cs_ = ::Geos::CoordinateSequence.new(1, 3)
266
269
  cs_.set_x(0, x_)
@@ -268,10 +271,10 @@ module RGeo
268
271
  cs_.set_z(0, z_)
269
272
  FFIPointImpl.new(self, ::Geos::Utils.create_point(cs_), nil)
270
273
  end
271
-
272
-
274
+
275
+
273
276
  # See ::RGeo::Feature::Factory#line_string
274
-
277
+
275
278
  def line_string(points_)
276
279
  points_ = points_.to_a unless points_.kind_of?(::Array)
277
280
  size_ = points_.size
@@ -289,10 +292,10 @@ module RGeo
289
292
  end
290
293
  FFILineStringImpl.new(self, ::Geos::Utils.create_line_string(cs_), nil)
291
294
  end
292
-
293
-
295
+
296
+
294
297
  # See ::RGeo::Feature::Factory#line
295
-
298
+
296
299
  def line(start_, end_)
297
300
  return nil unless ::RGeo::Feature::Point.check_type(start_) &&
298
301
  ::RGeo::Feature::Point.check_type(end_)
@@ -310,19 +313,19 @@ module RGeo
310
313
  end
311
314
  FFILineImpl.new(self, ::Geos::Utils.create_line_string(cs_), nil)
312
315
  end
313
-
314
-
316
+
317
+
315
318
  # See ::RGeo::Feature::Factory#linear_ring
316
-
319
+
317
320
  def linear_ring(points_)
318
321
  points_ = points_.to_a unless points_.kind_of?(::Array)
319
322
  fg_geom_ = _create_fg_linear_ring(points_)
320
323
  fg_geom_ ? FFILinearRingImpl.new(self, fg_geom_, nil) : nil
321
324
  end
322
-
323
-
325
+
326
+
324
327
  # See ::RGeo::Feature::Factory#polygon
325
-
328
+
326
329
  def polygon(outer_ring_, inner_rings_=nil)
327
330
  inner_rings_ = inner_rings_.to_a unless inner_rings_.kind_of?(::Array)
328
331
  return nil unless ::RGeo::Feature::LineString.check_type(outer_ring_)
@@ -335,10 +338,10 @@ module RGeo
335
338
  fg_geom_ = ::Geos::Utils.create_polygon(outer_ring_, *inner_rings_)
336
339
  fg_geom_ ? FFIPolygonImpl.new(self, fg_geom_, nil) : nil
337
340
  end
338
-
339
-
341
+
342
+
340
343
  # See ::RGeo::Feature::Factory#collection
341
-
344
+
342
345
  def collection(elems_)
343
346
  elems_ = elems_.to_a unless elems_.kind_of?(::Array)
344
347
  klasses_ = []
@@ -355,10 +358,10 @@ module RGeo
355
358
  ::Geos::GeomTypes::GEOS_GEOMETRYCOLLECTION, fg_geoms_)
356
359
  fg_geom_ ? FFIGeometryCollectionImpl.new(self, fg_geom_, klasses_) : nil
357
360
  end
358
-
359
-
361
+
362
+
360
363
  # See ::RGeo::Feature::Factory#multi_point
361
-
364
+
362
365
  def multi_point(elems_)
363
366
  elems_ = elems_.to_a unless elems_.kind_of?(::Array)
364
367
  fg_geoms_ = []
@@ -373,10 +376,10 @@ module RGeo
373
376
  ::Geos::GeomTypes::GEOS_MULTIPOINT, elems_)
374
377
  fg_geom_ ? FFIMultiPointImpl.new(self, fg_geom_, klasses_) : nil
375
378
  end
376
-
377
-
379
+
380
+
378
381
  # See ::RGeo::Feature::Factory#multi_line_string
379
-
382
+
380
383
  def multi_line_string(elems_)
381
384
  elems_ = elems_.to_a unless elems_.kind_of?(::Array)
382
385
  klasses_ = []
@@ -391,10 +394,10 @@ module RGeo
391
394
  ::Geos::GeomTypes::GEOS_MULTILINESTRING, elems_)
392
395
  fg_geom_ ? FFIMultiLineStringImpl.new(self, fg_geom_, klasses_) : nil
393
396
  end
394
-
395
-
397
+
398
+
396
399
  # See ::RGeo::Feature::Factory#multi_polygon
397
-
400
+
398
401
  def multi_polygon(elems_)
399
402
  elems_ = elems_.to_a unless elems_.kind_of?(::Array)
400
403
  elems_.map! do |elem_|
@@ -418,33 +421,34 @@ module RGeo
418
421
  ::Geos::GeomTypes::GEOS_MULTIPOLYGON, elems_)
419
422
  fg_geom_ ? FFIMultiPolygonImpl.new(self, fg_geom_, klasses_) : nil
420
423
  end
421
-
422
-
424
+
425
+
423
426
  # See ::RGeo::Feature::Factory#proj4
424
-
427
+
425
428
  def proj4
426
429
  @proj4
427
430
  end
428
-
429
-
431
+
432
+
430
433
  # See ::RGeo::Feature::Factory#coord_sys
431
-
434
+
432
435
  def coord_sys
433
436
  @coord_sys
434
437
  end
435
-
436
-
438
+
439
+
437
440
  # See ::RGeo::Feature::Factory#override_cast
438
-
441
+
439
442
  def override_cast(original_, ntype_, flags_)
440
443
  false
441
444
  # TODO
442
445
  end
443
-
444
-
446
+
447
+
445
448
  attr_reader :_has_3d # :nodoc:
446
-
447
-
449
+ attr_reader :_auto_prepare # :nodoc:
450
+
451
+
448
452
  def _convert_to_fg_geometry(obj_, type_=nil) # :nodoc:
449
453
  if type_.nil? && obj_.factory == self
450
454
  obj_
@@ -453,8 +457,8 @@ module RGeo
453
457
  end
454
458
  obj_ ? obj_.fg_geom : nil
455
459
  end
456
-
457
-
460
+
461
+
458
462
  def _create_fg_linear_ring(points_) # :nodoc:
459
463
  size_ = points_.size
460
464
  return nil if size_ == 1 || size_ == 2
@@ -475,8 +479,8 @@ module RGeo
475
479
  end
476
480
  ::Geos::Utils.create_linear_ring(cs_)
477
481
  end
478
-
479
-
482
+
483
+
480
484
  def _generate_wkt(geom_) # :nodoc:
481
485
  if @wkt_writer
482
486
  @wkt_writer.write(geom_.fg_geom)
@@ -484,8 +488,8 @@ module RGeo
484
488
  @wkt_generator.generate(geom_)
485
489
  end
486
490
  end
487
-
488
-
491
+
492
+
489
493
  def _generate_wkb(geom_) # :nodoc:
490
494
  if @wkb_writer
491
495
  @wkb_writer.write(geom_.fg_geom)
@@ -493,11 +497,11 @@ module RGeo
493
497
  @wkb_generator.generate(geom_)
494
498
  end
495
499
  end
496
-
497
-
500
+
501
+
498
502
  end
499
-
500
-
503
+
504
+
501
505
  end
502
-
506
+
503
507
  end
@@ -1,15 +1,15 @@
1
1
  # -----------------------------------------------------------------------------
2
- #
2
+ #
3
3
  # GEOS implementation additions written in Ruby
4
- #
4
+ #
5
5
  # -----------------------------------------------------------------------------
6
- # Copyright 2010 Daniel Azuma
7
- #
6
+ # Copyright 2010-2012 Daniel Azuma
7
+ #
8
8
  # All rights reserved.
9
- #
9
+ #
10
10
  # Redistribution and use in source and binary forms, with or without
11
11
  # modification, are permitted provided that the following conditions are met:
12
- #
12
+ #
13
13
  # * Redistributions of source code must retain the above copyright notice,
14
14
  # this list of conditions and the following disclaimer.
15
15
  # * Redistributions in binary form must reproduce the above copyright notice,
@@ -18,7 +18,7 @@
18
18
  # * Neither the name of the copyright holder, nor the names of any other
19
19
  # contributors to this software, may be used to endorse or promote products
20
20
  # derived from this software without specific prior written permission.
21
- #
21
+ #
22
22
  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
23
  # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
24
  # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -34,24 +34,24 @@
34
34
 
35
35
 
36
36
  module RGeo
37
-
37
+
38
38
  module Geos
39
-
40
-
39
+
40
+
41
41
  class GeometryImpl # :nodoc:
42
-
42
+
43
43
  include Feature::Instance
44
-
44
+
45
45
  def inspect
46
46
  "#<#{self.class}:0x#{object_id.to_s(16)} #{as_text.inspect}>"
47
47
  end
48
-
48
+
49
49
  end
50
-
51
-
50
+
51
+
52
52
  class Factory
53
-
54
-
53
+
54
+
55
55
  # :stopdoc:
56
56
  if defined?(::RGeo::Geos::PointImpl)
57
57
  IMPL_CLASSES = {
@@ -66,11 +66,11 @@ module RGeo
66
66
  }.freeze
67
67
  end
68
68
  # :startdoc:
69
-
70
-
69
+
70
+
71
71
  end
72
-
73
-
72
+
73
+
74
74
  end
75
-
75
+
76
76
  end