rgeo 3.0.0.pre.rc.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -0
  3. data/ext/geos_c_impl/factory.c +41 -5
  4. data/ext/geos_c_impl/factory.h +13 -2
  5. data/ext/geos_c_impl/geometry.c +151 -122
  6. data/ext/geos_c_impl/geometry_collection.c +17 -19
  7. data/ext/geos_c_impl/line_string.c +46 -36
  8. data/ext/geos_c_impl/point.c +0 -2
  9. data/ext/geos_c_impl/polygon.c +10 -11
  10. data/ext/geos_c_impl/polygon.h +1 -1
  11. data/ext/geos_c_impl/ruby_more.c +7 -0
  12. data/ext/geos_c_impl/ruby_more.h +8 -0
  13. data/lib/rgeo/cartesian/analysis.rb +5 -3
  14. data/lib/rgeo/cartesian/bounding_box.rb +74 -79
  15. data/lib/rgeo/cartesian/calculations.rb +20 -26
  16. data/lib/rgeo/cartesian/factory.rb +47 -49
  17. data/lib/rgeo/cartesian/planar_graph.rb +10 -16
  18. data/lib/rgeo/cartesian/sweepline_intersector.rb +1 -3
  19. data/lib/rgeo/cartesian/valid_op.rb +1 -3
  20. data/lib/rgeo/coord_sys/cs/entities.rb +87 -101
  21. data/lib/rgeo/coord_sys/cs/factories.rb +0 -2
  22. data/lib/rgeo/coord_sys/cs/wkt_parser.rb +70 -29
  23. data/lib/rgeo/feature/curve.rb +0 -1
  24. data/lib/rgeo/feature/factory.rb +25 -27
  25. data/lib/rgeo/feature/factory_generator.rb +3 -4
  26. data/lib/rgeo/feature/geometry.rb +41 -30
  27. data/lib/rgeo/feature/geometry_collection.rb +3 -4
  28. data/lib/rgeo/feature/line_string.rb +1 -2
  29. data/lib/rgeo/feature/linear_ring.rb +0 -1
  30. data/lib/rgeo/feature/multi_curve.rb +0 -1
  31. data/lib/rgeo/feature/multi_surface.rb +0 -1
  32. data/lib/rgeo/feature/point.rb +0 -1
  33. data/lib/rgeo/feature/polygon.rb +1 -2
  34. data/lib/rgeo/feature/surface.rb +0 -1
  35. data/lib/rgeo/feature/types.rb +73 -83
  36. data/lib/rgeo/geographic/factory.rb +87 -80
  37. data/lib/rgeo/geographic/interface.rb +40 -23
  38. data/lib/rgeo/geographic/projected_feature_methods.rb +2 -6
  39. data/lib/rgeo/geographic/projected_window.rb +35 -21
  40. data/lib/rgeo/geographic/simple_mercator_projector.rb +25 -13
  41. data/lib/rgeo/geographic/spherical_feature_methods.rb +8 -3
  42. data/lib/rgeo/geographic/spherical_math.rb +17 -20
  43. data/lib/rgeo/geos/capi_factory.rb +50 -50
  44. data/lib/rgeo/geos/ffi_factory.rb +41 -42
  45. data/lib/rgeo/geos/ffi_feature_methods.rb +72 -97
  46. data/lib/rgeo/geos/interface.rb +16 -16
  47. data/lib/rgeo/geos/utils.rb +3 -3
  48. data/lib/rgeo/geos/zm_factory.rb +50 -42
  49. data/lib/rgeo/geos/zm_feature_methods.rb +15 -8
  50. data/lib/rgeo/impl_helper/basic_geometry_collection_methods.rb +4 -4
  51. data/lib/rgeo/impl_helper/basic_geometry_methods.rb +1 -2
  52. data/lib/rgeo/impl_helper/basic_line_string_methods.rb +18 -24
  53. data/lib/rgeo/impl_helper/basic_point_methods.rb +1 -3
  54. data/lib/rgeo/impl_helper/basic_polygon_methods.rb +15 -16
  55. data/lib/rgeo/impl_helper/utils.rb +3 -9
  56. data/lib/rgeo/impl_helper/valid_op.rb +12 -16
  57. data/lib/rgeo/version.rb +1 -1
  58. data/lib/rgeo/wkrep/wkb_generator.rb +42 -47
  59. data/lib/rgeo/wkrep/wkb_parser.rb +17 -18
  60. data/lib/rgeo/wkrep/wkt_generator.rb +23 -16
  61. data/lib/rgeo/wkrep/wkt_parser.rb +23 -13
  62. metadata +5 -5
@@ -147,7 +147,6 @@ module RGeo
147
147
  # Coordinate Transformation spec.
148
148
  #
149
149
  # This is a non-instantiable abstract class.
150
-
151
150
  class Base
152
151
  # Standard object inspection output
153
152
 
@@ -158,8 +157,8 @@ module RGeo
158
157
  # Tests for equality. Two objects are defined as equal if they
159
158
  # have the same type (class) and the same WKT representation.
160
159
 
161
- def eql?(rhs)
162
- rhs.class == self.class && rhs.to_wkt == to_wkt
160
+ def eql?(other)
161
+ other.class == self.class && other.to_wkt == to_wkt
163
162
  end
164
163
  alias == eql?
165
164
 
@@ -180,19 +179,21 @@ module RGeo
180
179
  # <tt>:standard_brackets</tt>
181
180
  # If true, outputs parentheses rather than square
182
181
  # brackets. Default is false.
183
- def to_wkt(standard_brackets = false)
182
+ def to_wkt(standard_brackets: false)
184
183
  open, close = brackets(standard_brackets)
185
184
  content = wkt_content(standard_brackets).map { |obj| ",#{obj}" }.join
186
- if defined?(@authority) && @authority
187
- authority = ",AUTHORITY#{open}#{@authority.inspect},#{@authority_code.inspect}#{close}"
188
- else
189
- authority = ""
190
- end
191
- if defined?(@extensions) && @extensions
192
- extensions = @extensions.map { |k, v| ",EXTENSION#{open}#{k.inspect},#{v.inspect}#{close}" }.join
193
- else
194
- extensions = ""
195
- end
185
+ authority =
186
+ if defined?(@authority) && @authority
187
+ ",AUTHORITY#{open}#{@authority.inspect},#{@authority_code.inspect}#{close}"
188
+ else
189
+ ""
190
+ end
191
+ extensions =
192
+ if defined?(@extensions) && @extensions
193
+ @extensions.map { |k, v| ",EXTENSION#{open}#{k.inspect},#{v.inspect}#{close}" }.join
194
+ else
195
+ ""
196
+ end
196
197
  "#{wkt_typename}#{open}#{@name.inspect}#{content}#{extensions}#{authority}#{close}"
197
198
  end
198
199
 
@@ -205,12 +206,11 @@ module RGeo
205
206
  def marshal_load(data) # :nodoc:
206
207
  data = data["wkt"] if data.is_a?(Hash)
207
208
  temp = CS.create_from_wkt(data)
208
- if temp.class == self.class
209
- temp.instance_variables.each do |iv|
210
- instance_variable_set(iv, temp.instance_variable_get(iv))
211
- end
212
- else
213
- raise TypeError, "Bad Marshal data"
209
+
210
+ raise TypeError, "Bad Marshal data" unless temp.instance_of?(self.class)
211
+
212
+ temp.instance_variables.each do |iv|
213
+ instance_variable_set(iv, temp.instance_variable_get(iv))
214
214
  end
215
215
  end
216
216
 
@@ -222,12 +222,11 @@ module RGeo
222
222
 
223
223
  def init_with(coder) # :nodoc:
224
224
  temp = CS.create_from_wkt(coder.type == :scalar ? coder.scalar : coder["wkt"])
225
- if temp.class == self.class
226
- temp.instance_variables.each do |iv|
227
- instance_variable_set(iv, temp.instance_variable_get(iv))
228
- end
229
- else
230
- raise TypeError, "Bad YAML data"
225
+
226
+ raise TypeError, "Bad YAML data" unless temp.instance_of?(self.class)
227
+
228
+ temp.instance_variables.each do |iv|
229
+ instance_variable_set(iv, temp.instance_variable_get(iv))
231
230
  end
232
231
  end
233
232
 
@@ -246,7 +245,6 @@ module RGeo
246
245
  #
247
246
  # Details of axis. This is used to label axes, and indicate the
248
247
  # orientation.
249
-
250
248
  class AxisInfo < Base
251
249
  # :stopdoc:
252
250
  NAMES_BY_VALUE = %w[OTHER NORTH SOUTH EAST WEST UP DOWN].freeze
@@ -254,12 +252,13 @@ module RGeo
254
252
 
255
253
  def initialize(name, orientation) # :nodoc:
256
254
  @name = name
257
- case orientation
258
- when String, Symbol
259
- @orientation = NAMES_BY_VALUE.index(orientation.to_s.upcase).to_i
260
- else
261
- @orientation = orientation.to_i
262
- end
255
+ @orientation =
256
+ case orientation
257
+ when String, Symbol
258
+ NAMES_BY_VALUE.index(orientation.to_s.upcase).to_i
259
+ else
260
+ orientation.to_i
261
+ end
263
262
  end
264
263
 
265
264
  # Human readable name for axis. Possible values are "X", "Y",
@@ -301,7 +300,6 @@ module RGeo
301
300
  # projected coordinate system. The angular units of parameter
302
301
  # values match the angular units of the geographic coordinate
303
302
  # system that the projected coordinate system is based on.
304
-
305
303
  class ProjectionParameter < Base
306
304
  def initialize(name, value) # :nodoc:
307
305
  @name = name
@@ -339,15 +337,14 @@ module RGeo
339
337
  # Wolf parameters should be applied to geocentric coordinates, where
340
338
  # the X axis points towards the Greenwich Prime Meridian, the Y axis
341
339
  # points East, and the Z axis points North.
342
-
343
340
  class WGS84ConversionInfo < Base
344
- def initialize(dx, dy, dz, ex, ey, ez, ppm) # :nodoc:
345
- @dx = dx.to_f
346
- @dy = dy.to_f
347
- @dz = dz.to_f
348
- @ex = ex.to_f
349
- @ey = ey.to_f
350
- @ez = ez.to_f
341
+ def initialize(dx_meters, dy_meters, dz_meters, ex_arc_seconds, ey_arc_seconds, ez_arc_seconds, ppm) # :nodoc:
342
+ @dx = dx_meters.to_f
343
+ @dy = dy_meters.to_f
344
+ @dz = dz_meters.to_f
345
+ @ex = ex_arc_seconds.to_f
346
+ @ey = ey_arc_seconds.to_f
347
+ @ez = ez_arc_seconds.to_f
351
348
  @ppm = ppm.to_f
352
349
  end
353
350
 
@@ -372,7 +369,7 @@ module RGeo
372
369
  # Bursa Wolf scaling in in parts per million.
373
370
  attr_reader :ppm
374
371
 
375
- def to_wkt(standard_brackets = false)
372
+ def to_wkt(standard_brackets: false)
376
373
  open, close = brackets(standard_brackets)
377
374
  "TOWGS84#{open}#{@dx},#{@dy},#{@dz},#{@ex},#{@ey},#{@ez},#{@ppm}#{close}"
378
375
  end
@@ -383,8 +380,8 @@ module RGeo
383
380
  # The Bursa Wolf shift should be in meters, the rotation in arc
384
381
  # seconds, and the scaling in parts per million.
385
382
 
386
- def create(dx, dy, dz, ex, ey, ez, ppm)
387
- new(dx, dy, dz, ex, ey, ez, ppm)
383
+ def create(dx_meters, dy_meters, dz_meters, ex_arc_seconds, ey_arc_seconds, ez_arc_seconds, ppm)
384
+ new(dx_meters, dy_meters, dz_meters, ex_arc_seconds, ey_arc_seconds, ez_arc_seconds, ppm)
388
385
  end
389
386
  end
390
387
  end
@@ -427,9 +424,9 @@ module RGeo
427
424
  # * <b>alias</b>: an alias
428
425
  # * <b>remarks</b>: provider-supplied remarks.
429
426
  # * <b>extensions</b>: a hash of extension keys and values
430
-
431
427
  class Info < Base
432
- def initialize(name, authority = nil, authority_code = nil, abbreviation = nil, init_alias = nil, remarks = nil, extensions = nil) # :nodoc:
428
+ def initialize(name, authority = nil, authority_code = nil, abbreviation = nil, init_alias = nil,
429
+ remarks = nil, extensions = nil) # :nodoc:
433
430
  @name = name
434
431
  @authority = authority ? authority.to_s : nil
435
432
  @authority_code = authority_code ? authority_code.to_s : nil
@@ -488,7 +485,6 @@ module RGeo
488
485
  # Normally, you will instantiate one of the subclasses LinearUnit or
489
486
  # AngularUnit. However, it is possible to instantiate Unit if it is
490
487
  # not clear whether the data refers to a LinearUnit or AngularUnit.
491
-
492
488
  class Unit < Info
493
489
  def initialize(name, conversion_factor, *optional) # :nodoc:
494
490
  super(name, *optional)
@@ -525,7 +521,6 @@ module RGeo
525
521
  # == OGC spec description
526
522
  #
527
523
  # Definition of linear units.
528
-
529
524
  class LinearUnit < Unit
530
525
  # Returns the number of meters per LinearUnit.
531
526
  # Also available as Unit#conversion_factor.
@@ -548,7 +543,6 @@ module RGeo
548
543
  # == OGC spec description
549
544
  #
550
545
  # Definition of angular units.
551
-
552
546
  class AngularUnit < Unit
553
547
  # Returns the number of radians per AngularUnit.
554
548
  # Also available as Unit#conversion_factor.
@@ -571,7 +565,6 @@ module RGeo
571
565
  # == OGC spec description
572
566
  #
573
567
  # A meridian used to take longitude measurements from.
574
-
575
568
  class PrimeMeridian < Info
576
569
  def initialize(name, angular_unit, longitude, *optional) # :nodoc:
577
570
  super(name, *optional)
@@ -611,9 +604,9 @@ module RGeo
611
604
  # == OGC spec description
612
605
  #
613
606
  # An approximation of the Earth's surface as a squashed sphere.
614
-
615
607
  class Ellipsoid < Info
616
- def initialize(name, semi_major_axis, semi_minor_axis, inverse_flattening, ivf_definitive, linear_unit, *optional) # :nodoc:
608
+ def initialize(name, semi_major_axis, semi_minor_axis, inverse_flattening, ivf_definitive,
609
+ linear_unit, *optional) # :nodoc:
617
610
  super(name, *optional)
618
611
  @semi_major_axis = semi_major_axis.to_f
619
612
  @semi_minor_axis = semi_minor_axis.to_f
@@ -718,7 +711,6 @@ module RGeo
718
711
  # This is a non-instantiable abstract class. You must instantiate
719
712
  # one of the subclasses HorizontalDatum, VerticalDatum, or
720
713
  # LocalDatum.
721
-
722
714
  class Datum < Info
723
715
  def initialize(name, datum_type, *optional) # :nodoc:
724
716
  super(name, *optional)
@@ -738,7 +730,6 @@ module RGeo
738
730
  # == OGC spec description
739
731
  #
740
732
  # Procedure used to measure vertical distances.
741
-
742
733
  class VerticalDatum < Datum
743
734
  def wkt_typename
744
735
  "VERT_DATUM"
@@ -768,7 +759,6 @@ module RGeo
768
759
  # coordinates can be transformed between two different local
769
760
  # coordinate systems, as long as they are based on the same local
770
761
  # datum.
771
-
772
762
  class LocalDatum < Datum
773
763
  def wkt_typename
774
764
  "LOCAL_DATUM"
@@ -794,7 +784,6 @@ module RGeo
794
784
  # == OGC spec description
795
785
  #
796
786
  # Procedure used to measure positions on the surface of the Earth.
797
-
798
787
  class HorizontalDatum < Datum
799
788
  def initialize(name, datum_type, ellipsoid, wgs84_parameters, *optional) # :nodoc:
800
789
  super(name, datum_type, *optional)
@@ -828,8 +817,8 @@ module RGeo
828
817
  private
829
818
 
830
819
  def wkt_content(standard_brackets)
831
- array = [@ellipsoid.to_wkt(standard_brackets)]
832
- array << @wgs84_parameters.to_wkt(standard_brackets) if @wgs84_parameters
820
+ array = [@ellipsoid.to_wkt(standard_brackets: standard_brackets)]
821
+ array << @wgs84_parameters.to_wkt(standard_brackets: standard_brackets) if @wgs84_parameters
833
822
  array
834
823
  end
835
824
  end
@@ -837,7 +826,6 @@ module RGeo
837
826
  # == OGC spec description
838
827
  #
839
828
  # A projection from geographic coordinates to projected coordinates.
840
-
841
829
  class Projection < Info
842
830
  def initialize(name, class_name, parameters, *optional) # :nodoc:
843
831
  super(name, *optional)
@@ -916,7 +904,6 @@ module RGeo
916
904
  # GeographicCoordinateSystem, ProjectedCoordinateSystem,
917
905
  # VerticalCoordinateSystem, LocalCoordinateSystem, or
918
906
  # CompoundCoordinateSystem.
919
-
920
907
  class CoordinateSystem < Info
921
908
  def initialize(name, dimension, *optional) # :nodoc:
922
909
  super(name, *optional)
@@ -929,14 +916,14 @@ module RGeo
929
916
  # Gets axis details for dimension within coordinate system. Each
930
917
  # dimension in the coordinate system has a corresponding axis.
931
918
 
932
- def get_axis(dimension)
919
+ def get_axis(_dimension)
933
920
  nil
934
921
  end
935
922
 
936
923
  # Gets units for dimension within coordinate system. Each
937
924
  # dimension in the coordinate system has corresponding units.
938
925
 
939
- def get_units(dimension)
926
+ def get_units(_dimension)
940
927
  nil
941
928
  end
942
929
 
@@ -993,7 +980,6 @@ module RGeo
993
980
  # as a geographic or a projected coordinate system with a horizontal
994
981
  # datum. The other is a vertical CRS which is a one-dimensional
995
982
  # coordinate system with a vertical datum.
996
-
997
983
  class CompoundCoordinateSystem < CoordinateSystem
998
984
  def initialize(name, head, tail, *optional) # :nodoc:
999
985
  super(name, head.dimension + tail.dimension, *optional)
@@ -1038,7 +1024,7 @@ module RGeo
1038
1024
  private
1039
1025
 
1040
1026
  def wkt_content(standard_brackets)
1041
- [@head.to_wkt(standard_brackets), @tail.to_wkt(standard_brackets)]
1027
+ [@head.to_wkt(standard_brackets: standard_brackets), @tail.to_wkt(standard_brackets: standard_brackets)]
1042
1028
  end
1043
1029
  end
1044
1030
 
@@ -1060,7 +1046,6 @@ module RGeo
1060
1046
  #
1061
1047
  # RGeo's implementation does not provide the Coordinate
1062
1048
  # Transformation (CT) package.
1063
-
1064
1049
  class LocalCoordinateSystem < CoordinateSystem
1065
1050
  def initialize(name, local_datum, unit, axes, *optional) # :nodoc:
1066
1051
  super(name, axes.size, *optional)
@@ -1080,7 +1065,7 @@ module RGeo
1080
1065
 
1081
1066
  # Implements CoordinateSystem#get_units
1082
1067
 
1083
- def get_units(index)
1068
+ def get_units(_index)
1084
1069
  @unit
1085
1070
  end
1086
1071
 
@@ -1103,9 +1088,9 @@ module RGeo
1103
1088
 
1104
1089
  def wkt_content(standard_brackets)
1105
1090
  [
1106
- @local_datum.to_wkt(standard_brackets),
1107
- @unit.to_wkt(standard_brackets)
1108
- ] + @axes.map { |ax| ax.to_wkt(standard_brackets) }
1091
+ @local_datum.to_wkt(standard_brackets: standard_brackets),
1092
+ @unit.to_wkt(standard_brackets: standard_brackets)
1093
+ ] + @axes.map { |ax| ax.to_wkt(standard_brackets: standard_brackets) }
1109
1094
  end
1110
1095
  end
1111
1096
 
@@ -1117,7 +1102,6 @@ module RGeo
1117
1102
  # the Z axis will point North, and the Y axis will point East (e.g.
1118
1103
  # a right handed system), but you should check the axes for
1119
1104
  # non-default values.
1120
-
1121
1105
  class GeocentricCoordinateSystem < CoordinateSystem
1122
1106
  def initialize(name, horizontal_datum, prime_meridian, linear_unit, axis0, axis1, axis2, *optional) # :nodoc:
1123
1107
  super(name, 3, *optional)
@@ -1143,7 +1127,7 @@ module RGeo
1143
1127
 
1144
1128
  # Implements CoordinateSystem#get_units
1145
1129
 
1146
- def get_units(index)
1130
+ def get_units(_index)
1147
1131
  @linear_unit
1148
1132
  end
1149
1133
 
@@ -1177,13 +1161,13 @@ module RGeo
1177
1161
 
1178
1162
  def wkt_content(standard_brackets)
1179
1163
  arr = [
1180
- @horizontal_datum.to_wkt(standard_brackets),
1181
- @prime_meridian.to_wkt(standard_brackets),
1182
- @linear_unit.to_wkt(standard_brackets)
1164
+ @horizontal_datum.to_wkt(standard_brackets: standard_brackets),
1165
+ @prime_meridian.to_wkt(standard_brackets: standard_brackets),
1166
+ @linear_unit.to_wkt(standard_brackets: standard_brackets)
1183
1167
  ]
1184
- arr << @axis0.to_wkt(standard_brackets) if @axis0
1185
- arr << @axis1.to_wkt(standard_brackets) if @axis1
1186
- arr << @axis2.to_wkt(standard_brackets) if @axis2
1168
+ arr << @axis0.to_wkt(standard_brackets: standard_brackets) if @axis0
1169
+ arr << @axis1.to_wkt(standard_brackets: standard_brackets) if @axis1
1170
+ arr << @axis2.to_wkt(standard_brackets: standard_brackets) if @axis2
1187
1171
  arr
1188
1172
  end
1189
1173
  end
@@ -1192,7 +1176,6 @@ module RGeo
1192
1176
  #
1193
1177
  # A one-dimensional coordinate system suitable for vertical
1194
1178
  # measurements.
1195
-
1196
1179
  class VerticalCoordinateSystem < CoordinateSystem
1197
1180
  def initialize(name, vertical_datum, vertical_unit, axis, *optional) # :nodoc:
1198
1181
  super(name, 1, *optional)
@@ -1210,13 +1193,13 @@ module RGeo
1210
1193
 
1211
1194
  # Implements CoordinateSystem#get_units
1212
1195
 
1213
- def get_units(index)
1196
+ def get_units(_index)
1214
1197
  @vertical_unit
1215
1198
  end
1216
1199
 
1217
1200
  # Implements CoordinateSystem#get_axis
1218
1201
 
1219
- def get_axis(index)
1202
+ def get_axis(_index)
1220
1203
  @axis
1221
1204
  end
1222
1205
 
@@ -1238,8 +1221,11 @@ module RGeo
1238
1221
  private
1239
1222
 
1240
1223
  def wkt_content(standard_brackets)
1241
- arr = [@vertical_datum.to_wkt(standard_brackets), @vertical_unit.to_wkt(standard_brackets)]
1242
- arr << @axis.to_wkt(standard_brackets) if @axis
1224
+ arr = [
1225
+ @vertical_datum.to_wkt(standard_brackets: standard_brackets),
1226
+ @vertical_unit.to_wkt(standard_brackets: standard_brackets)
1227
+ ]
1228
+ arr << @axis.to_wkt(standard_brackets: standard_brackets) if @axis
1243
1229
  arr
1244
1230
  end
1245
1231
  end
@@ -1253,7 +1239,6 @@ module RGeo
1253
1239
  # This is a non-instantiable abstract class. You must instantiate
1254
1240
  # one of the subclasses GeographicCoordinateSystem or
1255
1241
  # ProjectedCoordinateSystem.
1256
-
1257
1242
  class HorizontalCoordinateSystem < CoordinateSystem
1258
1243
  def initialize(name, horizontal_datum, *optional) # :nodoc:
1259
1244
  super(name, 2, *optional)
@@ -1271,7 +1256,6 @@ module RGeo
1271
1256
  # You can find out which this is by examining the axes. You should
1272
1257
  # also check the angular units, since not all geographic coordinate
1273
1258
  # systems use degrees.
1274
-
1275
1259
  class GeographicCoordinateSystem < HorizontalCoordinateSystem
1276
1260
  def initialize(name, angular_unit, horizontal_datum, prime_meridian, axis0, axis1, *optional) # :nodoc:
1277
1261
  super(name, horizontal_datum, *optional)
@@ -1290,7 +1274,7 @@ module RGeo
1290
1274
 
1291
1275
  # Implements CoordinateSystem#get_units
1292
1276
 
1293
- def get_units(index)
1277
+ def get_units(_index)
1294
1278
  @angular_unit
1295
1279
  end
1296
1280
 
@@ -1312,7 +1296,7 @@ module RGeo
1312
1296
  # of interest. The first conversion (with index=0) should provide
1313
1297
  # acceptable accuracy over the largest possible area of interest.
1314
1298
 
1315
- def get_wgs84_conversion_info(index)
1299
+ def get_wgs84_conversion_info(_index)
1316
1300
  @horizontal_datum.wgs84_parameters
1317
1301
  end
1318
1302
 
@@ -1340,12 +1324,12 @@ module RGeo
1340
1324
 
1341
1325
  def wkt_content(standard_brackets)
1342
1326
  arr = [
1343
- @horizontal_datum.to_wkt(standard_brackets),
1344
- @prime_meridian.to_wkt(standard_brackets),
1345
- @angular_unit.to_wkt(standard_brackets)
1327
+ @horizontal_datum.to_wkt(standard_brackets: standard_brackets),
1328
+ @prime_meridian.to_wkt(standard_brackets: standard_brackets),
1329
+ @angular_unit.to_wkt(standard_brackets: standard_brackets)
1346
1330
  ]
1347
- arr << @axis0.to_wkt(standard_brackets) if @axis0
1348
- arr << @axis1.to_wkt(standard_brackets) if @axis1
1331
+ arr << @axis0.to_wkt(standard_brackets: standard_brackets) if @axis0
1332
+ arr << @axis1.to_wkt(standard_brackets: standard_brackets) if @axis1
1349
1333
  arr
1350
1334
  end
1351
1335
  end
@@ -1353,7 +1337,6 @@ module RGeo
1353
1337
  # == OGC spec description
1354
1338
  #
1355
1339
  # A 2D cartographic coordinate system.
1356
-
1357
1340
  class ProjectedCoordinateSystem < HorizontalCoordinateSystem
1358
1341
  def initialize(name, geographic_coordinate_system, projection, linear_unit, axis0, axis1, *optional) # :nodoc:
1359
1342
  super(name, geographic_coordinate_system.horizontal_datum, *optional)
@@ -1376,7 +1359,7 @@ module RGeo
1376
1359
 
1377
1360
  # Implements CoordinateSystem#get_units
1378
1361
 
1379
- def get_units(index)
1362
+ def get_units(_index)
1380
1363
  @linear_unit
1381
1364
  end
1382
1365
 
@@ -1409,11 +1392,14 @@ module RGeo
1409
1392
  private
1410
1393
 
1411
1394
  def wkt_content(standard_brackets)
1412
- arr = [@geographic_coordinate_system.to_wkt(standard_brackets), @projection.to_wkt(standard_brackets)]
1413
- @projection.each_parameter { |param| arr << param.to_wkt(standard_brackets) }
1414
- arr << @linear_unit.to_wkt(standard_brackets)
1415
- arr << @axis0.to_wkt(standard_brackets) if @axis0
1416
- arr << @axis1.to_wkt(standard_brackets) if @axis1
1395
+ arr = [
1396
+ @geographic_coordinate_system.to_wkt(standard_brackets: standard_brackets),
1397
+ @projection.to_wkt(standard_brackets: standard_brackets)
1398
+ ]
1399
+ @projection.each_parameter { |param| arr << param.to_wkt(standard_brackets: standard_brackets) }
1400
+ arr << @linear_unit.to_wkt(standard_brackets: standard_brackets)
1401
+ arr << @axis0.to_wkt(standard_brackets: standard_brackets) if @axis0
1402
+ arr << @axis1.to_wkt(standard_brackets: standard_brackets) if @axis1
1417
1403
  arr
1418
1404
  end
1419
1405
  end
@@ -1560,8 +1546,8 @@ module RGeo
1560
1546
  private
1561
1547
 
1562
1548
  def wkt_content(standard_brackets)
1563
- source_cs_wkt = "SOURCECS[#{source_cs.to_wkt(standard_brackets)}]"
1564
- target_cs_wkt = "TARGETCS[#{target_cs.to_wkt(standard_brackets)}]"
1549
+ source_cs_wkt = "SOURCECS[#{source_cs.to_wkt(standard_brackets: standard_brackets)}]"
1550
+ target_cs_wkt = "TARGETCS[#{target_cs.to_wkt(standard_brackets: standard_brackets)}]"
1565
1551
 
1566
1552
  [source_cs_wkt, target_cs_wkt]
1567
1553
  end
@@ -28,7 +28,6 @@ module RGeo
28
28
  # * FittedCoordinateSystem is not implemented.
29
29
  # * The defaultEnvelope attribute of CS_CoordinateSystem is not
30
30
  # implemented.
31
-
32
31
  module CS
33
32
  # A class implementing the CS_CoordinateSystemFactory interface.
34
33
  # It provides methods for building up complex objects from simpler
@@ -37,7 +36,6 @@ module RGeo
37
36
  # Note that the methods of CS_CoordinateSystemFactory do not provide
38
37
  # facilities for setting the authority. If you need to set authority
39
38
  # values, use the create methods for the object classes themselves.
40
-
41
39
  class CoordinateSystemFactory
42
40
  # Create a CompoundCoordinateSystem from a name, and two
43
41
  # constituent coordinate systems.