rgeo 0.1.19 → 0.1.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/History.rdoc +11 -0
  2. data/README.rdoc +23 -7
  3. data/Version +1 -1
  4. data/ext/geos_c_impl/factory.c +1 -1
  5. data/{lib/rgeo/geography/simple_mercator.rb → ext/proj4_c_impl/extconf.rb} +35 -30
  6. data/ext/proj4_c_impl/main.c +256 -0
  7. data/lib/rgeo.rb +54 -42
  8. data/lib/rgeo/active_record/arel_modifications.rb +2 -2
  9. data/lib/rgeo/active_record/base_modifications.rb +1 -1
  10. data/lib/rgeo/active_record/mysql_common.rb +12 -12
  11. data/lib/rgeo/all.rb +5 -4
  12. data/lib/rgeo/cartesian.rb +3 -2
  13. data/lib/rgeo/cartesian/bounding_box.rb +9 -9
  14. data/lib/rgeo/cartesian/factory.rb +30 -13
  15. data/lib/rgeo/cartesian/feature_classes.rb +33 -33
  16. data/lib/rgeo/cartesian/interface.rb +2 -2
  17. data/lib/rgeo/{geography/all.rb → coord_sys.rb} +22 -4
  18. data/lib/rgeo/coord_sys/proj4.rb +275 -0
  19. data/lib/rgeo/{errors.rb → error.rb} +5 -6
  20. data/lib/rgeo/{features.rb → feature.rb} +22 -20
  21. data/lib/rgeo/{features → feature}/curve.rb +6 -6
  22. data/lib/rgeo/{features → feature}/factory.rb +19 -3
  23. data/lib/rgeo/{features → feature}/factory_generator.rb +1 -1
  24. data/lib/rgeo/{features → feature}/geometry.rb +34 -34
  25. data/lib/rgeo/{features → feature}/geometry_collection.rb +4 -4
  26. data/lib/rgeo/{features → feature}/line.rb +1 -1
  27. data/lib/rgeo/{features → feature}/line_string.rb +4 -4
  28. data/lib/rgeo/{features → feature}/linear_ring.rb +1 -1
  29. data/lib/rgeo/{features → feature}/multi_curve.rb +3 -3
  30. data/lib/rgeo/{features → feature}/multi_line_string.rb +1 -1
  31. data/lib/rgeo/{features → feature}/multi_point.rb +1 -1
  32. data/lib/rgeo/{features → feature}/multi_polygon.rb +1 -1
  33. data/lib/rgeo/{features → feature}/multi_surface.rb +4 -4
  34. data/lib/rgeo/{features → feature}/point.rb +5 -5
  35. data/lib/rgeo/{features → feature}/polygon.rb +5 -5
  36. data/lib/rgeo/{features → feature}/surface.rb +4 -4
  37. data/lib/rgeo/feature/types.rb +301 -0
  38. data/lib/rgeo/geo_json.rb +1 -1
  39. data/lib/rgeo/geo_json/coder.rb +13 -13
  40. data/lib/rgeo/geo_json/interface.rb +2 -2
  41. data/lib/rgeo/geography.rb +33 -6
  42. data/lib/rgeo/geography/factory.rb +82 -39
  43. data/lib/rgeo/geography/interface.rb +135 -89
  44. data/lib/rgeo/geography/proj4_projector.rb +98 -0
  45. data/lib/rgeo/geography/projected_feature_classes.rb +213 -0
  46. data/lib/rgeo/geography/projected_feature_methods.rb +228 -0
  47. data/lib/rgeo/geography/projected_window.rb +7 -7
  48. data/lib/rgeo/geography/simple_mercator_projector.rb +133 -0
  49. data/lib/rgeo/geography/spherical_feature_classes.rb +212 -0
  50. data/lib/rgeo/geography/{simple_spherical/feature_methods.rb → spherical_feature_methods.rb} +39 -43
  51. data/lib/rgeo/geography/{simple_spherical/calculations.rb → spherical_math.rb} +7 -7
  52. data/lib/rgeo/geos.rb +1 -1
  53. data/lib/rgeo/geos/factory.rb +37 -19
  54. data/lib/rgeo/geos/impl_additions.rb +10 -11
  55. data/lib/rgeo/geos/interface.rb +1 -1
  56. data/lib/rgeo/geos/zm_factory.rb +15 -15
  57. data/lib/rgeo/geos/zm_impl.rb +10 -10
  58. data/lib/rgeo/{impl_helpers.rb → impl_helper.rb} +8 -8
  59. data/lib/rgeo/{impl_helpers → impl_helper}/basic_geometry_collection_methods.rb +13 -13
  60. data/lib/rgeo/{impl_helpers → impl_helper}/basic_geometry_methods.rb +2 -2
  61. data/lib/rgeo/{impl_helpers → impl_helper}/basic_line_string_methods.rb +13 -13
  62. data/lib/rgeo/{impl_helpers → impl_helper}/basic_point_methods.rb +5 -5
  63. data/lib/rgeo/{impl_helpers → impl_helper}/basic_polygon_methods.rb +6 -6
  64. data/lib/rgeo/{impl_helpers → impl_helper}/math.rb +1 -1
  65. data/lib/rgeo/shapefile.rb +1 -1
  66. data/lib/rgeo/shapefile/reader.rb +3 -3
  67. data/lib/rgeo/wkrep.rb +1 -1
  68. data/lib/rgeo/wkrep/wkb_generator.rb +17 -17
  69. data/lib/rgeo/wkrep/wkb_parser.rb +12 -12
  70. data/lib/rgeo/wkrep/wkt_generator.rb +8 -8
  71. data/lib/rgeo/wkrep/wkt_parser.rb +10 -10
  72. data/{tests → test}/active_record/readme.txt +0 -0
  73. data/{tests → test}/active_record/tc_mysqlspatial.rb +2 -2
  74. data/{tests → test}/common/geometry_collection_tests.rb +22 -22
  75. data/{tests → test}/common/line_string_tests.rb +20 -20
  76. data/{tests → test}/common/multi_line_string_tests.rb +19 -19
  77. data/{tests → test}/common/multi_point_tests.rb +17 -17
  78. data/{tests → test}/common/multi_polygon_tests.rb +16 -16
  79. data/{tests → test}/common/point_tests.rb +9 -9
  80. data/{tests → test}/common/polygon_tests.rb +9 -9
  81. data/test/coord_sys/tc_proj4.rb +111 -0
  82. data/{tests → test}/geos/tc_factory.rb +1 -1
  83. data/{tests → test}/geos/tc_geometry_collection.rb +1 -1
  84. data/{tests → test}/geos/tc_line_string.rb +0 -0
  85. data/{tests → test}/geos/tc_misc.rb +1 -1
  86. data/{tests → test}/geos/tc_multi_line_string.rb +1 -1
  87. data/{tests → test}/geos/tc_multi_point.rb +1 -1
  88. data/{tests → test}/geos/tc_multi_polygon.rb +1 -1
  89. data/{tests → test}/geos/tc_point.rb +1 -1
  90. data/{tests → test}/geos/tc_polygon.rb +0 -0
  91. data/{tests → test}/geos/tc_zmfactory.rb +2 -2
  92. data/test/projected_geography/tc_geometry_collection.rb +62 -0
  93. data/test/projected_geography/tc_line_string.rb +62 -0
  94. data/test/projected_geography/tc_multi_line_string.rb +62 -0
  95. data/test/projected_geography/tc_multi_point.rb +62 -0
  96. data/test/projected_geography/tc_multi_polygon.rb +63 -0
  97. data/test/projected_geography/tc_point.rb +93 -0
  98. data/test/projected_geography/tc_polygon.rb +62 -0
  99. data/{tests → test}/shapefile/shapelib_testcases/readme.txt +0 -0
  100. data/{tests → test}/shapefile/shapelib_testcases/test.dbf +0 -0
  101. data/{tests → test}/shapefile/shapelib_testcases/test.shp +0 -0
  102. data/{tests → test}/shapefile/shapelib_testcases/test.shx +0 -0
  103. data/{tests → test}/shapefile/shapelib_testcases/test0.shp +0 -0
  104. data/{tests → test}/shapefile/shapelib_testcases/test0.shx +0 -0
  105. data/{tests → test}/shapefile/shapelib_testcases/test1.shp +0 -0
  106. data/{tests → test}/shapefile/shapelib_testcases/test1.shx +0 -0
  107. data/{tests → test}/shapefile/shapelib_testcases/test10.shp +0 -0
  108. data/{tests → test}/shapefile/shapelib_testcases/test10.shx +0 -0
  109. data/{tests → test}/shapefile/shapelib_testcases/test11.shp +0 -0
  110. data/{tests → test}/shapefile/shapelib_testcases/test11.shx +0 -0
  111. data/{tests → test}/shapefile/shapelib_testcases/test12.shp +0 -0
  112. data/{tests → test}/shapefile/shapelib_testcases/test12.shx +0 -0
  113. data/{tests → test}/shapefile/shapelib_testcases/test13.shp +0 -0
  114. data/{tests → test}/shapefile/shapelib_testcases/test13.shx +0 -0
  115. data/{tests → test}/shapefile/shapelib_testcases/test2.shp +0 -0
  116. data/{tests → test}/shapefile/shapelib_testcases/test2.shx +0 -0
  117. data/{tests → test}/shapefile/shapelib_testcases/test3.shp +0 -0
  118. data/{tests → test}/shapefile/shapelib_testcases/test3.shx +0 -0
  119. data/{tests → test}/shapefile/shapelib_testcases/test4.shp +0 -0
  120. data/{tests → test}/shapefile/shapelib_testcases/test4.shx +0 -0
  121. data/{tests → test}/shapefile/shapelib_testcases/test5.shp +0 -0
  122. data/{tests → test}/shapefile/shapelib_testcases/test5.shx +0 -0
  123. data/{tests → test}/shapefile/shapelib_testcases/test6.shp +0 -0
  124. data/{tests → test}/shapefile/shapelib_testcases/test6.shx +0 -0
  125. data/{tests → test}/shapefile/shapelib_testcases/test7.shp +0 -0
  126. data/{tests → test}/shapefile/shapelib_testcases/test7.shx +0 -0
  127. data/{tests → test}/shapefile/shapelib_testcases/test8.shp +0 -0
  128. data/{tests → test}/shapefile/shapelib_testcases/test8.shx +0 -0
  129. data/{tests → test}/shapefile/shapelib_testcases/test9.shp +0 -0
  130. data/{tests → test}/shapefile/shapelib_testcases/test9.shx +0 -0
  131. data/{tests → test}/shapefile/tc_shapelib_tests.rb +17 -17
  132. data/{tests → test}/simple_cartesian/tc_calculations.rb +0 -0
  133. data/{tests → test}/simple_cartesian/tc_geometry_collection.rb +0 -0
  134. data/{tests → test}/simple_cartesian/tc_line_string.rb +0 -0
  135. data/{tests → test}/simple_cartesian/tc_multi_line_string.rb +0 -0
  136. data/{tests → test}/simple_cartesian/tc_multi_point.rb +0 -0
  137. data/{tests → test}/simple_cartesian/tc_multi_polygon.rb +0 -0
  138. data/{tests → test}/simple_cartesian/tc_point.rb +0 -0
  139. data/{tests → test}/simple_cartesian/tc_polygon.rb +0 -0
  140. data/{tests → test}/simple_mercator/tc_geometry_collection.rb +1 -1
  141. data/{tests → test}/simple_mercator/tc_line_string.rb +0 -0
  142. data/{tests → test}/simple_mercator/tc_multi_line_string.rb +1 -1
  143. data/{tests → test}/simple_mercator/tc_multi_point.rb +1 -1
  144. data/{tests → test}/simple_mercator/tc_multi_polygon.rb +1 -1
  145. data/{tests → test}/simple_mercator/tc_point.rb +2 -2
  146. data/{tests → test}/simple_mercator/tc_polygon.rb +0 -0
  147. data/{tests → test}/simple_mercator/tc_window.rb +1 -1
  148. data/test/spherical_geography/tc_calculations.rb +203 -0
  149. data/{tests/simple_spherical → test/spherical_geography}/tc_geometry_collection.rb +2 -2
  150. data/{tests/simple_spherical → test/spherical_geography}/tc_line_string.rb +2 -2
  151. data/{tests/simple_spherical → test/spherical_geography}/tc_multi_line_string.rb +2 -2
  152. data/{tests/simple_spherical → test/spherical_geography}/tc_multi_point.rb +2 -2
  153. data/{tests/simple_spherical → test/spherical_geography}/tc_multi_polygon.rb +3 -3
  154. data/{tests/simple_spherical → test/spherical_geography}/tc_point.rb +7 -7
  155. data/{tests/simple_spherical → test/spherical_geography}/tc_polygon.rb +2 -2
  156. data/{tests → test}/tc_cartesian_analysis.rb +0 -0
  157. data/{tests → test}/tc_geojson.rb +0 -0
  158. data/{tests → test}/tc_oneoff.rb +2 -1
  159. data/{tests → test}/wkrep/tc_wkb_generator.rb +0 -0
  160. data/{tests → test}/wkrep/tc_wkb_parser.rb +32 -32
  161. data/{tests → test}/wkrep/tc_wkt_generator.rb +0 -0
  162. data/{tests → test}/wkrep/tc_wkt_parser.rb +46 -46
  163. metadata +183 -164
  164. data/lib/rgeo/features/types.rb +0 -272
  165. data/lib/rgeo/geography/simple_mercator/feature_classes.rb +0 -279
  166. data/lib/rgeo/geography/simple_mercator/feature_methods.rb +0 -278
  167. data/lib/rgeo/geography/simple_mercator/projector.rb +0 -112
  168. data/lib/rgeo/geography/simple_spherical.rb +0 -68
  169. data/lib/rgeo/geography/simple_spherical/feature_classes.rb +0 -216
  170. data/tests/simple_spherical/tc_calculations.rb +0 -203
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # A FactoryGenerator is a callable object (usually a Proc) that
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -75,8 +75,8 @@ module RGeo
75
75
  # POINT(0 0) and a MULTIPOINT(0 0) are spatially equivalent, as are
76
76
  # LINESTRING(0 0, 10 10) and
77
77
  # GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0, 10 10, 0 0)).
78
- # As a general rule, objects must have factories that are eql? in
79
- # order to be spatially equivalent.
78
+ # As a general rule, objects must have factories that are
79
+ # Factory#eql? in order to be spatially equivalent.
80
80
  # Objective equivalence::
81
81
  # Objective equivalence is a stronger form of equivalence, indicating
82
82
  # that the two objects are the same representation, but may be
@@ -111,7 +111,7 @@ module RGeo
111
111
  # operations on them.)
112
112
 
113
113
  def factory
114
- raise Errors::MethodUnimplemented
114
+ raise Error::UnsupportedCapability, "Method Geometry#factory not defined."
115
115
  end
116
116
 
117
117
 
@@ -119,7 +119,7 @@ module RGeo
119
119
  # to the given object.
120
120
 
121
121
  def eql?(another_geometry_)
122
- raise Errors::MethodUnimplemented
122
+ raise Error::UnsupportedCapability, "Method Geometry#eql? not defined."
123
123
  end
124
124
 
125
125
 
@@ -135,7 +135,7 @@ module RGeo
135
135
  # point geometries, 1 for curves, and 2 for surfaces.
136
136
 
137
137
  def dimension
138
- raise Errors::MethodUnimplemented
138
+ raise Error::UnsupportedCapability, "Method Geometry#dimension not defined."
139
139
  end
140
140
 
141
141
 
@@ -146,14 +146,14 @@ module RGeo
146
146
  #
147
147
  # === Notes
148
148
  #
149
- # Returns one of the type modules in RGeo::Features. e.g. a point
150
- # object would return RGeo::Features::Point. Note that this is
149
+ # Returns one of the type modules in RGeo::Feature. e.g. a point
150
+ # object would return RGeo::Feature::Point. Note that this is
151
151
  # different from the SFS specification, which stipulates that the
152
152
  # string name of the type is returned. To obtain the name string,
153
- # call the +name+ method of the returned module.
153
+ # call the +type_name+ method of the returned module.
154
154
 
155
155
  def geometry_type
156
- raise Errors::MethodUnimplemented
156
+ raise Error::UnsupportedCapability, "Method Geometry#geometry_type not defined."
157
157
  end
158
158
 
159
159
 
@@ -169,7 +169,7 @@ module RGeo
169
169
  # stored in either the same or some other datastore.
170
170
 
171
171
  def srid
172
- raise Errors::MethodUnimplemented
172
+ raise Error::UnsupportedCapability, "Method Geometry#srid not defined."
173
173
  end
174
174
 
175
175
 
@@ -184,7 +184,7 @@ module RGeo
184
184
  # Returns an object that supports the Geometry interface.
185
185
 
186
186
  def envelope
187
- raise Errors::MethodUnimplemented
187
+ raise Error::UnsupportedCapability, "Method Geometry#envelope not defined."
188
188
  end
189
189
 
190
190
 
@@ -198,7 +198,7 @@ module RGeo
198
198
  # Returns an ASCII string.
199
199
 
200
200
  def as_text
201
- raise Errors::MethodUnimplemented
201
+ raise Error::UnsupportedCapability, "Method Geometry#as_text not defined."
202
202
  end
203
203
 
204
204
 
@@ -212,7 +212,7 @@ module RGeo
212
212
  # Returns a binary string.
213
213
 
214
214
  def as_binary
215
- raise Errors::MethodUnimplemented
215
+ raise Error::UnsupportedCapability, "Method Geometry#as_binary not defined."
216
216
  end
217
217
 
218
218
 
@@ -228,7 +228,7 @@ module RGeo
228
228
  # specification, which stipulates an integer return value.
229
229
 
230
230
  def is_empty?
231
- raise Errors::MethodUnimplemented
231
+ raise Error::UnsupportedCapability, "Method Geometry#is_empty? not defined."
232
232
  end
233
233
 
234
234
 
@@ -246,7 +246,7 @@ module RGeo
246
246
  # specification, which stipulates an integer return value.
247
247
 
248
248
  def is_simple?
249
- raise Errors::MethodUnimplemented
249
+ raise Error::UnsupportedCapability, "Method Geometry#is_simple? not defined."
250
250
  end
251
251
 
252
252
 
@@ -262,7 +262,7 @@ module RGeo
262
262
  # Returns an object that supports the Geometry interface.
263
263
 
264
264
  def boundary
265
- raise Errors::MethodUnimplemented
265
+ raise Error::UnsupportedCapability, "Method Geometry#boundary not defined."
266
266
  end
267
267
 
268
268
 
@@ -277,7 +277,7 @@ module RGeo
277
277
  # specification, which stipulates an integer return value.
278
278
 
279
279
  def equals?(another_geometry_)
280
- raise Errors::MethodUnimplemented
280
+ raise Error::UnsupportedCapability, "Method Geometry#equals? not defined."
281
281
  end
282
282
 
283
283
 
@@ -292,7 +292,7 @@ module RGeo
292
292
  # specification, which stipulates an integer return value.
293
293
 
294
294
  def disjoint?(another_geometry_)
295
- raise Errors::MethodUnimplemented
295
+ raise Error::UnsupportedCapability, "Method Geometry#disjoint? not defined."
296
296
  end
297
297
 
298
298
 
@@ -307,7 +307,7 @@ module RGeo
307
307
  # specification, which stipulates an integer return value.
308
308
 
309
309
  def intersects?(another_geometry_)
310
- raise Errors::MethodUnimplemented
310
+ raise Error::UnsupportedCapability, "Method Geometry#intersects? not defined."
311
311
  end
312
312
 
313
313
 
@@ -322,7 +322,7 @@ module RGeo
322
322
  # specification, which stipulates an integer return value.
323
323
 
324
324
  def touches?(another_geometry_)
325
- raise Errors::MethodUnimplemented
325
+ raise Error::UnsupportedCapability, "Method Geometry#touches? not defined."
326
326
  end
327
327
 
328
328
 
@@ -337,7 +337,7 @@ module RGeo
337
337
  # specification, which stipulates an integer return value.
338
338
 
339
339
  def crosses?(another_geometry_)
340
- raise Errors::MethodUnimplemented
340
+ raise Error::UnsupportedCapability, "Method Geometry#crosses? not defined."
341
341
  end
342
342
 
343
343
 
@@ -352,7 +352,7 @@ module RGeo
352
352
  # specification, which stipulates an integer return value.
353
353
 
354
354
  def within?(another_geometry_)
355
- raise Errors::MethodUnimplemented
355
+ raise Error::UnsupportedCapability, "Method Geometry#within? not defined."
356
356
  end
357
357
 
358
358
 
@@ -367,7 +367,7 @@ module RGeo
367
367
  # specification, which stipulates an integer return value.
368
368
 
369
369
  def contains?(another_geometry_)
370
- raise Errors::MethodUnimplemented
370
+ raise Error::UnsupportedCapability, "Method Geometry#contains? not defined."
371
371
  end
372
372
 
373
373
 
@@ -382,7 +382,7 @@ module RGeo
382
382
  # specification, which stipulates an integer return value.
383
383
 
384
384
  def overlaps?(another_geometry_)
385
- raise Errors::MethodUnimplemented
385
+ raise Error::UnsupportedCapability, "Method Geometry#overlaps? not defined."
386
386
  end
387
387
 
388
388
 
@@ -404,7 +404,7 @@ module RGeo
404
404
  # specification, which stipulates an integer return value.
405
405
 
406
406
  def relate(another_geometry_, intersection_pattern_matrix_)
407
- raise Errors::MethodUnimplemented
407
+ raise Error::UnsupportedCapability, "Method Geometry#relate not defined."
408
408
  end
409
409
 
410
410
 
@@ -419,7 +419,7 @@ module RGeo
419
419
  # Returns a floating-point scalar value.
420
420
 
421
421
  def distance(another_geometry_)
422
- raise Errors::MethodUnimplemented
422
+ raise Error::UnsupportedCapability, "Method Geometry#distance not defined."
423
423
  end
424
424
 
425
425
 
@@ -435,7 +435,7 @@ module RGeo
435
435
  # Returns an object that supports the Geometry interface.
436
436
 
437
437
  def buffer(distance_)
438
- raise Errors::MethodUnimplemented
438
+ raise Error::UnsupportedCapability, "Method Geometry#buffer not defined."
439
439
  end
440
440
 
441
441
 
@@ -448,8 +448,8 @@ module RGeo
448
448
  #
449
449
  # Returns an object that supports the Geometry interface.
450
450
 
451
- def convex_hull()
452
- raise Errors::MethodUnimplemented
451
+ def convex_hull
452
+ raise Error::UnsupportedCapability, "Method Geometry#convex_hull not defined."
453
453
  end
454
454
 
455
455
 
@@ -463,7 +463,7 @@ module RGeo
463
463
  # Returns an object that supports the Geometry interface.
464
464
 
465
465
  def intersection(another_geometry_)
466
- raise Errors::MethodUnimplemented
466
+ raise Error::UnsupportedCapability, "Method Geometry#intersection not defined."
467
467
  end
468
468
 
469
469
 
@@ -477,7 +477,7 @@ module RGeo
477
477
  # Returns an object that supports the Geometry interface.
478
478
 
479
479
  def union(another_geometry_)
480
- raise Errors::MethodUnimplemented
480
+ raise Error::UnsupportedCapability, "Method Geometry#union not defined."
481
481
  end
482
482
 
483
483
 
@@ -491,7 +491,7 @@ module RGeo
491
491
  # Returns an object that supports the Geometry interface.
492
492
 
493
493
  def difference(another_geometry_)
494
- raise Errors::MethodUnimplemented
494
+ raise Error::UnsupportedCapability, "Method Geometry#difference not defined."
495
495
  end
496
496
 
497
497
 
@@ -505,7 +505,7 @@ module RGeo
505
505
  # Returns an object that supports the Geometry interface.
506
506
 
507
507
  def sym_difference(another_geometry_)
508
- raise Errors::MethodUnimplemented
508
+ raise Error::UnsupportedCapability, "Method Geometry#sym_difference not defined."
509
509
  end
510
510
 
511
511
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -77,7 +77,7 @@ module RGeo
77
77
  # Returns an integer.
78
78
 
79
79
  def num_geometries
80
- raise Errors::MethodUnimplemented
80
+ raise Error::UnsupportedCapability, "Method GeometryCollection#num_geometries not defined."
81
81
  end
82
82
 
83
83
 
@@ -91,7 +91,7 @@ module RGeo
91
91
  # if the given n is out of range.
92
92
 
93
93
  def geometry_n(n_)
94
- raise Errors::MethodUnimplemented
94
+ raise Error::UnsupportedCapability, "Method GeometryCollection#geometry_n not defined."
95
95
  end
96
96
 
97
97
 
@@ -117,7 +117,7 @@ module RGeo
117
117
  # include the Enumerable mixin.
118
118
 
119
119
  def each(&block_)
120
- raise Errors::MethodUnimplemented
120
+ raise Error::UnsupportedCapability, "Method GeometryCollection#each not defined."
121
121
  end
122
122
 
123
123
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -68,7 +68,7 @@ module RGeo
68
68
  # Returns an integer.
69
69
 
70
70
  def num_points
71
- raise Errors::MethodUnimplemented
71
+ raise Error::UnsupportedCapability, "Method LineString#num_points not defined."
72
72
  end
73
73
 
74
74
 
@@ -82,7 +82,7 @@ module RGeo
82
82
  # if the given n is out of range.
83
83
 
84
84
  def point_n(n_)
85
- raise Errors::MethodUnimplemented
85
+ raise Error::UnsupportedCapability, "Method LineString#point_n not defined."
86
86
  end
87
87
 
88
88
 
@@ -90,7 +90,7 @@ module RGeo
90
90
  # support the Point interface.
91
91
 
92
92
  def points
93
- raise Errors::MethodUnimplemented
93
+ raise Error::UnsupportedCapability, "Method LineString#points not defined."
94
94
  end
95
95
 
96
96
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -86,7 +86,7 @@ module RGeo
86
86
  # Returns a floating-point scalar value.
87
87
 
88
88
  def length
89
- raise Errors::MethodUnimplemented
89
+ raise Error::UnsupportedCapability, "Method MultiCurve#length not defined."
90
90
  end
91
91
 
92
92
 
@@ -101,7 +101,7 @@ module RGeo
101
101
  # specification, which stipulates an integer return value.
102
102
 
103
103
  def is_closed?
104
- raise Errors::MethodUnimplemented
104
+ raise Error::UnsupportedCapability, "Method MultiCurve#is_closed? not defined."
105
105
  end
106
106
 
107
107
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -36,7 +36,7 @@
36
36
 
37
37
  module RGeo
38
38
 
39
- module Features
39
+ module Feature
40
40
 
41
41
 
42
42
  # == SFS 1.1 Description
@@ -77,7 +77,7 @@ module RGeo
77
77
  # Returns a floating-point scalar value.
78
78
 
79
79
  def area
80
- raise Errors::MethodUnimplemented
80
+ raise Error::UnsupportedCapability, "Method MultiSurface#area not defined."
81
81
  end
82
82
 
83
83
 
@@ -91,7 +91,7 @@ module RGeo
91
91
  # Returns an object that supports the Point interface.
92
92
 
93
93
  def centroid
94
- raise Errors::MethodUnimplemented
94
+ raise Error::UnsupportedCapability, "Method MultiSurface#centroid not defined."
95
95
  end
96
96
 
97
97
 
@@ -104,7 +104,7 @@ module RGeo
104
104
  # Returns an object that supports the Point interface.
105
105
 
106
106
  def point_on_surface
107
- raise Errors::MethodUnimplemented
107
+ raise Error::UnsupportedCapability, "Method MultiSurface#point_on_surface not defined."
108
108
  end
109
109
 
110
110