proj4rb 4.1.0 → 5.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -0
  3. data/Gemfile +4 -4
  4. data/README.md +53 -0
  5. data/lib/api/proj.rb +750 -0
  6. data/lib/api/proj_experimental.rb +7 -0
  7. data/lib/api/proj_ffi.rb +47 -0
  8. data/lib/api/proj_version.rb +26 -0
  9. data/lib/examples/axis_order_normalization.rb +13 -0
  10. data/lib/examples/batch_transformation.rb +25 -0
  11. data/lib/examples/context_logging.rb +26 -0
  12. data/lib/examples/crs_identification.rb +18 -0
  13. data/lib/examples/database_query.rb +27 -0
  14. data/lib/examples/geodetic_distance.rb +38 -0
  15. data/lib/examples/geodetic_to_projected.rb +18 -0
  16. data/lib/examples/operation_factory_context.rb +19 -0
  17. data/lib/examples/pipeline_operator.rb +21 -0
  18. data/lib/examples/promote_demote_3d.rb +23 -0
  19. data/lib/examples/serialization_formats.rb +17 -0
  20. data/lib/examples/transform_bounds.rb +18 -0
  21. data/lib/examples/transformation_with_area.rb +18 -0
  22. data/lib/proj/area.rb +74 -74
  23. data/lib/proj/axis_info.rb +44 -44
  24. data/lib/proj/bounds.rb +22 -0
  25. data/lib/proj/bounds3d.rb +45 -0
  26. data/lib/proj/context.rb +57 -23
  27. data/lib/proj/conversion.rb +94 -91
  28. data/lib/proj/coordinate.rb +304 -281
  29. data/lib/proj/coordinate_metadata.rb +38 -0
  30. data/lib/proj/coordinate_operation_mixin.rb +464 -381
  31. data/lib/proj/coordinate_system.rb +143 -137
  32. data/lib/proj/crs.rb +688 -672
  33. data/lib/proj/crs_info.rb +47 -47
  34. data/lib/proj/database.rb +310 -305
  35. data/lib/proj/datum.rb +32 -32
  36. data/lib/proj/datum_ensemble.rb +34 -34
  37. data/lib/proj/domain.rb +82 -0
  38. data/lib/proj/ellipsoid.rb +77 -77
  39. data/lib/proj/error.rb +7 -8
  40. data/lib/proj/file_api_callbacks.rb +165 -0
  41. data/lib/proj/grid.rb +121 -121
  42. data/lib/proj/grid_cache.rb +65 -64
  43. data/lib/proj/grid_info.rb +19 -19
  44. data/lib/proj/life_span.rb +21 -0
  45. data/lib/proj/network_api_callbacks.rb +86 -0
  46. data/lib/proj/operation.rb +66 -42
  47. data/lib/proj/operation_factory_context.rb +4 -2
  48. data/lib/proj/options.rb +41 -0
  49. data/lib/proj/parameter.rb +37 -37
  50. data/lib/proj/parameters.rb +106 -107
  51. data/lib/proj/pj_axis_description.rb +26 -0
  52. data/lib/proj/pj_object.rb +602 -670
  53. data/lib/proj/pj_objects.rb +45 -45
  54. data/lib/proj/pj_param_description.rb +28 -0
  55. data/lib/proj/prime_meridian.rb +65 -65
  56. data/lib/proj/projection.rb +1771 -698
  57. data/lib/proj/session.rb +2 -0
  58. data/lib/proj/transformation.rb +102 -102
  59. data/lib/proj/unit.rb +81 -108
  60. data/lib/proj.rb +10 -3
  61. data/lib/proj4.rb +5 -5
  62. data/proj4rb.gemspec +10 -5
  63. data/test/abstract_test.rb +7 -28
  64. data/test/context_test.rb +210 -172
  65. data/test/context_validation_test.rb +11 -0
  66. data/test/conversion_test.rb +376 -368
  67. data/test/coordinate_metadata_test.rb +34 -0
  68. data/test/coordinate_system_test.rb +162 -144
  69. data/test/coordinate_test.rb +289 -34
  70. data/test/crs_test.rb +1112 -1072
  71. data/test/database_test.rb +407 -359
  72. data/test/datum_ensemble_test.rb +64 -64
  73. data/test/datum_test.rb +61 -54
  74. data/test/domain_test.rb +72 -0
  75. data/test/ellipsoid_test.rb +80 -80
  76. data/test/examples_test.rb +149 -0
  77. data/test/file_api_example.rb +58 -0
  78. data/test/file_api_test.rb +74 -66
  79. data/test/grid_cache_test.rb +72 -72
  80. data/test/grid_test.rb +126 -141
  81. data/test/network_api_example.rb +48 -0
  82. data/test/network_api_test.rb +33 -45
  83. data/test/operation_factory_context_test.rb +225 -201
  84. data/test/operation_test.rb +40 -29
  85. data/test/options_test.rb +17 -0
  86. data/test/parameters_test.rb +86 -40
  87. data/test/pj_object_test.rb +221 -179
  88. data/test/prime_meridian_test.rb +75 -75
  89. data/test/proj_test.rb +58 -58
  90. data/test/projection_test.rb +680 -650
  91. data/test/session_test.rb +78 -77
  92. data/test/transformation_test.rb +238 -210
  93. data/test/unit_test.rb +114 -76
  94. metadata +45 -31
  95. data/ChangeLog +0 -89
  96. data/README.rdoc +0 -207
  97. data/lib/api/api.rb +0 -117
  98. data/lib/api/api_5_0.rb +0 -338
  99. data/lib/api/api_5_1.rb +0 -7
  100. data/lib/api/api_5_2.rb +0 -5
  101. data/lib/api/api_6_0.rb +0 -146
  102. data/lib/api/api_6_1.rb +0 -5
  103. data/lib/api/api_6_2.rb +0 -10
  104. data/lib/api/api_6_3.rb +0 -6
  105. data/lib/api/api_7_0.rb +0 -69
  106. data/lib/api/api_7_1.rb +0 -73
  107. data/lib/api/api_7_2.rb +0 -14
  108. data/lib/api/api_8_0.rb +0 -6
  109. data/lib/api/api_8_1.rb +0 -24
  110. data/lib/api/api_8_2.rb +0 -6
  111. data/lib/api/api_9_1.rb +0 -7
  112. data/lib/api/api_9_2.rb +0 -9
  113. data/lib/api/api_experimental.rb +0 -201
  114. data/lib/proj/file_api.rb +0 -166
  115. data/lib/proj/network_api.rb +0 -92
@@ -1,698 +1,1771 @@
1
- # encoding: UTF-8
2
- require 'stringio'
3
-
4
- module Proj
5
- # Projections are coordinate operations that are conversions. For more information about each
6
- # projection @see https://proj.org/operations/projections/index.html
7
- module Projection
8
- def self.utm(context, zone:, north: true)
9
- ptr = Api.proj_create_conversion_utm(context, zone, north ? 1 : 0)
10
-
11
- if ptr.null?
12
- Error.check_context(context)
13
- end
14
-
15
- Conversion.create_object(ptr, context)
16
- end
17
-
18
- def self.transverse_mercator(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
19
- ptr = Api.proj_create_conversion_transverse_mercator(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
20
-
21
- if ptr.null?
22
- Error.check_context(context)
23
- end
24
-
25
- Conversion.create_object(ptr, context)
26
- end
27
-
28
- def self.gauss_schreiber_transverse_mercator(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
29
- ptr = Api.proj_create_conversion_gauss_schreiber_transverse_mercator(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
30
-
31
- if ptr.null?
32
- Error.check_context(context)
33
- end
34
-
35
- Conversion.create_object(ptr, context)
36
- end
37
-
38
- def self.transverse_mercator_south_oriented(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
39
- ptr = Api.proj_create_conversion_transverse_mercator_south_oriented(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
40
-
41
- if ptr.null?
42
- Error.check_context(context)
43
- end
44
-
45
- Conversion.create_object(ptr, context)
46
- end
47
-
48
- def self.two_point_equidistant(context, latitude_first_point:, longitude_first_point:, latitude_second_point:, longitude_secon_point:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
49
- ptr = Api.proj_create_conversion_two_point_equidistant(context, latitude_first_point, longitude_first_point, latitude_second_point, longitude_secon_point, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
50
-
51
- if ptr.null?
52
- Error.check_context(context)
53
- end
54
-
55
- Conversion.create_object(ptr, context)
56
- end
57
-
58
- def self.tunisia_mapping_grid(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
59
- ptr = Api.proj_create_conversion_tunisia_mapping_grid(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
60
-
61
- if ptr.null?
62
- Error.check_context(context)
63
- end
64
-
65
- Conversion.create_object(ptr, context)
66
- end
67
-
68
- def self.tunisia_mining_grid(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
69
- ptr = Api.proj_create_conversion_tunisia_mining_grid(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
70
-
71
- if ptr.null?
72
- Error.check_context(context)
73
- end
74
-
75
- Conversion.create_object(ptr, context)
76
- end
77
-
78
- def self.albers_equal_area(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
79
- ptr = Api.proj_create_conversion_albers_equal_area(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
80
-
81
- if ptr.null?
82
- Error.check_context(context)
83
- end
84
-
85
- Conversion.create_object(ptr, context)
86
- end
87
-
88
- def self.lambert_conic_conformal_1sp(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
89
- ptr = Api.proj_create_conversion_lambert_conic_conformal_1sp(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
90
-
91
- if ptr.null?
92
- Error.check_context(context)
93
- end
94
-
95
- Conversion.create_object(ptr, context)
96
- end
97
-
98
- def self.lambert_conic_conformal_2sp(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
99
- ptr = Api.proj_create_conversion_lambert_conic_conformal_2sp(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
100
-
101
- if ptr.null?
102
- Error.check_context(context)
103
- end
104
-
105
- Conversion.create_object(ptr, context)
106
- end
107
-
108
- def self.lambert_conic_conformal_2sp_michigan(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, ellipsoid_scaling_factor:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
109
- ptr = Api.proj_create_conversion_lambert_conic_conformal_2sp_michigan(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, ellipsoid_scaling_factor, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
110
-
111
- if ptr.null?
112
- Error.check_context(context)
113
- end
114
-
115
- Conversion.create_object(ptr, context)
116
- end
117
-
118
- def self.lambert_conic_conformal_2sp_belgium(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
119
- ptr = Api.proj_create_conversion_lambert_conic_conformal_2sp_belgium(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
120
-
121
- if ptr.null?
122
- Error.check_context(context)
123
- end
124
-
125
- Conversion.create_object(ptr, context)
126
- end
127
-
128
- def self.azimuthal_equidistant(context, latitude_nat_origin:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
129
- ptr = Api.proj_create_conversion_azimuthal_equidistant(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
130
-
131
- if ptr.null?
132
- Error.check_context(context)
133
- end
134
-
135
- Conversion.create_object(ptr, context)
136
- end
137
-
138
- def self.guam_projection(context, latitude_nat_origin:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
139
- ptr = Api.proj_create_conversion_guam_projection(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
140
-
141
- if ptr.null?
142
- Error.check_context(context)
143
- end
144
-
145
- Conversion.create_object(ptr, context)
146
- end
147
-
148
- def self.bonne(context, latitude_nat_origin:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
149
- ptr = Api.proj_create_conversion_bonne(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
150
-
151
- if ptr.null?
152
- Error.check_context(context)
153
- end
154
-
155
- Conversion.create_object(ptr, context)
156
- end
157
-
158
- def self.lambert_cylindrical_equal_area_spherical(context, latitude_first_parallel:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
159
- ptr = Api.proj_create_conversion_lambert_cylindrical_equal_area_spherical(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
160
-
161
- if ptr.null?
162
- Error.check_context(context)
163
- end
164
-
165
- Conversion.create_object(ptr, context)
166
- end
167
-
168
- def self.lambert_cylindrical_equal_area(context, latitude_first_parallel:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
169
- ptr = Api.proj_create_conversion_lambert_cylindrical_equal_area(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
170
-
171
- if ptr.null?
172
- Error.check_context(context)
173
- end
174
-
175
- Conversion.create_object(ptr, context)
176
- end
177
-
178
- def self.cassini_soldner(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
179
- ptr = Api.proj_create_conversion_cassini_soldner(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
180
-
181
- if ptr.null?
182
- Error.check_context(context)
183
- end
184
-
185
- Conversion.create_object(ptr, context)
186
- end
187
-
188
- def self.equidistant_conic(context, center_lat:, center_long:, latitude_first_parallel:, latitude_second_parallel:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
189
- ptr = Api.proj_create_conversion_equidistant_conic(context, center_lat, center_long, latitude_first_parallel, latitude_second_parallel, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
190
-
191
- if ptr.null?
192
- Error.check_context(context)
193
- end
194
-
195
- Conversion.create_object(ptr, context)
196
- end
197
-
198
- def self.eckert_i(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
199
- ptr = Api.proj_create_conversion_eckert_i(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
200
-
201
- if ptr.null?
202
- Error.check_context(context)
203
- end
204
-
205
- Conversion.create_object(ptr, context)
206
- end
207
-
208
- def self.eckert_ii(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
209
- ptr = Api.proj_create_conversion_eckert_ii(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
210
-
211
- if ptr.null?
212
- Error.check_context(context)
213
- end
214
-
215
- Conversion.create_object(ptr, context)
216
- end
217
-
218
- def self.eckert_iii(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
219
- ptr = Api.proj_create_conversion_eckert_iii(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
220
-
221
- if ptr.null?
222
- Error.check_context(context)
223
- end
224
-
225
- Conversion.create_object(ptr, context)
226
- end
227
-
228
- def self.eckert_iv(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
229
- ptr = Api.proj_create_conversion_eckert_iv(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
230
-
231
- if ptr.null?
232
- Error.check_context(context)
233
- end
234
-
235
- Conversion.create_object(ptr, context)
236
- end
237
-
238
- def self.eckert_v(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
239
- ptr = Api.proj_create_conversion_eckert_v(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
240
-
241
- if ptr.null?
242
- Error.check_context(context)
243
- end
244
-
245
- Conversion.create_object(ptr, context)
246
- end
247
-
248
- def self.eckert_vi(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
249
- ptr = Api.proj_create_conversion_eckert_vi(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
250
-
251
- if ptr.null?
252
- Error.check_context(context)
253
- end
254
-
255
- Conversion.create_object(ptr, context)
256
- end
257
-
258
- def self.equidistant_cylindrical(context, latitude_first_parallel:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
259
- ptr = Api.proj_create_conversion_equidistant_cylindrical(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
260
-
261
- if ptr.null?
262
- Error.check_context(context)
263
- end
264
-
265
- Conversion.create_object(ptr, context)
266
- end
267
-
268
- def self.equidistant_cylindrical_spherical(context, latitude_first_parallel:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
269
- ptr = Api.proj_create_conversion_equidistant_cylindrical_spherical(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
270
-
271
- if ptr.null?
272
- Error.check_context(context)
273
- end
274
-
275
- Conversion.create_object(ptr, context)
276
- end
277
-
278
- def self.gall(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
279
- ptr = Api.proj_create_conversion_gall(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
280
-
281
- if ptr.null?
282
- Error.check_context(context)
283
- end
284
-
285
- Conversion.create_object(ptr, context)
286
- end
287
-
288
- def self.goode_homolosine(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
289
- ptr = Api.proj_create_conversion_goode_homolosine(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
290
-
291
- if ptr.null?
292
- Error.check_context(context)
293
- end
294
-
295
- Conversion.create_object(ptr, context)
296
- end
297
-
298
- def self.interrupted_goode_homolosine(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
299
- ptr = Api.proj_create_conversion_interrupted_goode_homolosine(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
300
-
301
- if ptr.null?
302
- Error.check_context(context)
303
- end
304
-
305
- Conversion.create_object(ptr, context)
306
- end
307
-
308
- def self.geostationary_satellite_sweep_x(context, center_long:, height:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
309
- ptr = Api.proj_create_conversion_geostationary_satellite_sweep_x(context, center_long, height, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
310
-
311
- if ptr.null?
312
- Error.check_context(context)
313
- end
314
-
315
- Conversion.create_object(ptr, context)
316
- end
317
-
318
- def self.geostationary_satellite_sweep_y(context, center_long:, height:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
319
- ptr = Api.proj_create_conversion_geostationary_satellite_sweep_y(context, center_long, height, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
320
-
321
- if ptr.null?
322
- Error.check_context(context)
323
- end
324
-
325
- Conversion.create_object(ptr, context)
326
- end
327
-
328
- def self.gnomonic(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
329
- ptr = Api.proj_create_conversion_gnomonic(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
330
-
331
- if ptr.null?
332
- Error.check_context(context)
333
- end
334
-
335
- Conversion.create_object(ptr, context)
336
- end
337
-
338
- def self.hotine_oblique_mercator_variant_a(context, latitude_projection_centre:, longitude_projection_centre:, azimuth_initial_line:, angle_from_rectified_to_skrew_grid:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
339
- ptr = Api.proj_create_conversion_hotine_oblique_mercator_variant_a(context, latitude_projection_centre, longitude_projection_centre, azimuth_initial_line, angle_from_rectified_to_skrew_grid, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
340
-
341
- if ptr.null?
342
- Error.check_context(context)
343
- end
344
-
345
- Conversion.create_object(ptr, context)
346
- end
347
-
348
- def self.hotine_oblique_mercator_variant_b(context, latitude_projection_centre:, longitude_projection_centre:, azimuth_initial_line:, angle_from_rectified_to_skrew_grid:, scale:, easting_projection_centre:, northing_projection_centre:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
349
- ptr = Api.proj_create_conversion_hotine_oblique_mercator_variant_b(context, latitude_projection_centre, longitude_projection_centre, azimuth_initial_line, angle_from_rectified_to_skrew_grid, scale, easting_projection_centre, northing_projection_centre, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
350
-
351
- if ptr.null?
352
- Error.check_context(context)
353
- end
354
-
355
- Conversion.create_object(ptr, context)
356
- end
357
-
358
- def self.hotine_oblique_mercator_two_point_natural_origin(context, latitude_projection_centre:, latitude_point1:, longitude_point1:, latitude_point2:, longitude_point2:, scale:, easting_projection_centre:, northing_projection_centre:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
359
- ptr = Api.proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(context, latitude_projection_centre, latitude_point1, longitude_point1, latitude_point2, longitude_point2, scale, easting_projection_centre, northing_projection_centre, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
360
-
361
- if ptr.null?
362
- Error.check_context(context)
363
- end
364
-
365
- Conversion.create_object(ptr, context)
366
- end
367
-
368
- def self.laborde_oblique_mercator(context, latitude_projection_centre:, longitude_projection_centre:, azimuth_initial_line:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
369
- ptr = Api.proj_create_conversion_laborde_oblique_mercator(context, latitude_projection_centre, longitude_projection_centre, azimuth_initial_line, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
370
-
371
- if ptr.null?
372
- Error.check_context(context)
373
- end
374
-
375
- Conversion.create_object(ptr, context)
376
- end
377
-
378
- def self.international_map_world_polyconic(context, center_long:, latitude_first_parallel:, latitude_second_parallel:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
379
- ptr = Api.proj_create_conversion_international_map_world_polyconic(context, center_long, latitude_first_parallel, latitude_second_parallel, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
380
-
381
- if ptr.null?
382
- Error.check_context(context)
383
- end
384
-
385
- Conversion.create_object(ptr, context)
386
- end
387
-
388
- def self.krovak_north_oriented(context, latitude_projection_centre:, longitude_of_origin:, colatitude_cone_axis:, latitude_pseudo_standard_parallel:, scale_factor_pseudo_standard_parallel:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
389
- ptr = Api.proj_create_conversion_krovak_north_oriented(context, latitude_projection_centre, longitude_of_origin, colatitude_cone_axis, latitude_pseudo_standard_parallel, scale_factor_pseudo_standard_parallel, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
390
-
391
- if ptr.null?
392
- Error.check_context(context)
393
- end
394
-
395
- Conversion.create_object(ptr, context)
396
- end
397
-
398
- def self.krovak(context, latitude_projection_centre:, longitude_of_origin:, colatitude_cone_axis:, latitude_pseudo_standard_parallel:, scale_factor_pseudo_standard_parallel:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
399
- ptr = Api.proj_create_conversion_krovak(context, latitude_projection_centre, longitude_of_origin, colatitude_cone_axis, latitude_pseudo_standard_parallel, scale_factor_pseudo_standard_parallel, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
400
-
401
- if ptr.null?
402
- Error.check_context(context)
403
- end
404
-
405
- Conversion.create_object(ptr, context)
406
- end
407
-
408
- def self.lambert_azimuthal_equal_area(context, latitude_nat_origin:, longitude_nat_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
409
- ptr = Api.proj_create_conversion_lambert_azimuthal_equal_area(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
410
-
411
- if ptr.null?
412
- Error.check_context(context)
413
- end
414
-
415
- Conversion.create_object(ptr, context)
416
- end
417
-
418
- def self.miller_cylindrical(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
419
- ptr = Api.proj_create_conversion_miller_cylindrical(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
420
-
421
- if ptr.null?
422
- Error.check_context(context)
423
- end
424
-
425
- Conversion.create_object(ptr, context)
426
- end
427
-
428
- def self.mercator_variant_a(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
429
- ptr = Api.proj_create_conversion_mercator_variant_a(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
430
-
431
- if ptr.null?
432
- Error.check_context(context)
433
- end
434
-
435
- Conversion.create_object(ptr, context)
436
- end
437
-
438
- def self.mercator_variant_b(context, latitude_first_parallel:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
439
- ptr = Api.proj_create_conversion_mercator_variant_b(context, latitude_first_parallel, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
440
-
441
- if ptr.null?
442
- Error.check_context(context)
443
- end
444
-
445
- Conversion.create_object(ptr, context)
446
- end
447
-
448
- def self.popular_visualisation_pseudo_mercator(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
449
- ptr = Api.proj_create_conversion_popular_visualisation_pseudo_mercator(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
450
-
451
- if ptr.null?
452
- Error.check_context(context)
453
- end
454
-
455
- Conversion.create_object(ptr, context)
456
- end
457
-
458
- def self.mollweide(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
459
- ptr = Api.proj_create_conversion_mollweide(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
460
-
461
- if ptr.null?
462
- Error.check_context(context)
463
- end
464
-
465
- Conversion.create_object(ptr, context)
466
- end
467
-
468
- def self.new_zealand_mapping_grid(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
469
- ptr = Api.proj_create_conversion_new_zealand_mapping_grid(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
470
-
471
- if ptr.null?
472
- Error.check_context(context)
473
- end
474
-
475
- Conversion.create_object(ptr, context)
476
- end
477
-
478
- def self.oblique_stereographic(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
479
- ptr = Api.proj_create_conversion_oblique_stereographic(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
480
-
481
- if ptr.null?
482
- Error.check_context(context)
483
- end
484
-
485
- Conversion.create_object(ptr, context)
486
- end
487
-
488
- def self.orthographic(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
489
- ptr = Api.proj_create_conversion_orthographic(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
490
-
491
- if ptr.null?
492
- Error.check_context(context)
493
- end
494
-
495
- Conversion.create_object(ptr, context)
496
- end
497
-
498
- def self.american_polyconic(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
499
- ptr = Api.proj_create_conversion_american_polyconic(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
500
-
501
- if ptr.null?
502
- Error.check_context(context)
503
- end
504
-
505
- Conversion.create_object(ptr, context)
506
- end
507
-
508
- def self.polar_stereographic_variant_a(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
509
- ptr = Api.proj_create_conversion_polar_stereographic_variant_a(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
510
-
511
- if ptr.null?
512
- Error.check_context(context)
513
- end
514
-
515
- Conversion.create_object(ptr, context)
516
- end
517
-
518
- def self.polar_stereographic_variant_b(context, latitude_standard_parallel:, longitude_of_origin:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
519
- ptr = Api.proj_create_conversion_polar_stereographic_variant_b(context, latitude_standard_parallel, longitude_of_origin, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
520
-
521
- if ptr.null?
522
- Error.check_context(context)
523
- end
524
-
525
- Conversion.create_object(ptr, context)
526
- end
527
-
528
- def self.robinson(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
529
- ptr = Api.proj_create_conversion_robinson(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
530
-
531
- if ptr.null?
532
- Error.check_context(context)
533
- end
534
-
535
- Conversion.create_object(ptr, context)
536
- end
537
-
538
- def self.sinusoidal(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
539
- ptr = Api.proj_create_conversion_sinusoidal(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
540
-
541
- if ptr.null?
542
- Error.check_context(context)
543
- end
544
-
545
- Conversion.create_object(ptr, context)
546
- end
547
-
548
- def self.stereographic(context, center_lat:, center_long:, scale:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
549
- ptr = Api.proj_create_conversion_stereographic(context, center_lat, center_long, scale, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
550
-
551
- if ptr.null?
552
- Error.check_context(context)
553
- end
554
-
555
- Conversion.create_object(ptr, context)
556
- end
557
-
558
- def self.van_der_grinten(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
559
- ptr = Api.proj_create_conversion_van_der_grinten(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
560
-
561
- if ptr.null?
562
- Error.check_context(context)
563
- end
564
-
565
- Conversion.create_object(ptr, context)
566
- end
567
-
568
- def self.wagner_i(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
569
- ptr = Api.proj_create_conversion_wagner_i(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
570
-
571
- if ptr.null?
572
- Error.check_context(context)
573
- end
574
-
575
- Conversion.create_object(ptr, context)
576
- end
577
-
578
- def self.wagner_ii(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
579
- ptr = Api.proj_create_conversion_wagner_ii(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
580
-
581
- if ptr.null?
582
- Error.check_context(context)
583
- end
584
-
585
- Conversion.create_object(ptr, context)
586
- end
587
-
588
- def self.wagner_iii(context, latitude_true_scale:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
589
- ptr = Api.proj_create_conversion_wagner_iii(context, latitude_true_scale, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
590
-
591
- if ptr.null?
592
- Error.check_context(context)
593
- end
594
-
595
- Conversion.create_object(ptr, context)
596
- end
597
-
598
- def self.wagner_iv(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
599
- ptr = Api.proj_create_conversion_wagner_iv(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
600
-
601
- if ptr.null?
602
- Error.check_context(context)
603
- end
604
-
605
- Conversion.create_object(ptr, context)
606
- end
607
-
608
- def self.wagner_v(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
609
- ptr = Api.proj_create_conversion_wagner_v(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
610
-
611
- if ptr.null?
612
- Error.check_context(context)
613
- end
614
-
615
- Conversion.create_object(ptr, context)
616
- end
617
-
618
- def self.wagner_vi(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
619
- ptr = Api.proj_create_conversion_wagner_vi(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
620
-
621
- if ptr.null?
622
- Error.check_context(context)
623
- end
624
-
625
- Conversion.create_object(ptr, context)
626
- end
627
-
628
- def self.wagner_vii(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
629
- ptr = Api.proj_create_conversion_wagner_vii(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
630
-
631
- if ptr.null?
632
- Error.check_context(context)
633
- end
634
-
635
- Conversion.create_object(ptr, context)
636
- end
637
-
638
- def self.quadrilateralized_spherical_cube(context, center_lat:, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
639
- ptr = Api.proj_create_conversion_quadrilateralized_spherical_cube(context, center_lat, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
640
-
641
- if ptr.null?
642
- Error.check_context(context)
643
- end
644
-
645
- Conversion.create_object(ptr, context)
646
- end
647
-
648
- def self.spherical_cross_track_height(context, peg_point_lat:, peg_point_long:, peg_point_heading:, peg_point_height:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
649
- ptr = Api.proj_create_conversion_spherical_cross_track_height(context, peg_point_lat, peg_point_long, peg_point_heading, peg_point_height, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
650
-
651
- if ptr.null?
652
- Error.check_context(context)
653
- end
654
-
655
- Conversion.create_object(ptr, context)
656
- end
657
-
658
- def self.equal_earth(context, center_long:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
659
- ptr = Api.proj_create_conversion_equal_earth(context, center_long, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
660
-
661
- if ptr.null?
662
- Error.check_context(context)
663
- end
664
-
665
- Conversion.create_object(ptr, context)
666
- end
667
-
668
- def self.vertical_perspective(context, topo_origin_lat:, topo_origin_long:, topo_origin_height:, view_point_height:, false_easting:, false_northing:, ang_unit_name:, ang_unit_conv_factor:, linear_unit_name:, linear_unit_conv_factor:)
669
- ptr = Api.proj_create_conversion_vertical_perspective(context, topo_origin_lat, topo_origin_long, topo_origin_height, view_point_height, false_easting, false_northing, ang_unit_name, ang_unit_conv_factor, linear_unit_name, linear_unit_conv_factor)
670
-
671
- if ptr.null?
672
- Error.check_context(context)
673
- end
674
-
675
- Conversion.create_object(ptr, context)
676
- end
677
-
678
- def self.pole_rotation_grib_convention(context, south_pole_lat_in_unrotated_crs:, south_pole_long_in_unrotated_crs:, axis_rotation:, ang_unit_name:, ang_unit_conv_factor:)
679
- ptr = Api.proj_create_conversion_pole_rotation_grib_convention(context, south_pole_lat_in_unrotated_crs, south_pole_long_in_unrotated_crs, axis_rotation, ang_unit_name, ang_unit_conv_factor)
680
-
681
- if ptr.null?
682
- Error.check_context(context)
683
- end
684
-
685
- Conversion.create_object(ptr, context)
686
- end
687
-
688
- def self.pole_rotation_netcdf_cf_convention(context, grid_north_pole_latitude:, grid_north_pole_longitude:, north_pole_grid_longitude:, ang_unit_name:, ang_unit_conv_factor:)
689
- ptr = Api.proj_create_conversion_pole_rotation_netcdf_cf_convention(context, grid_north_pole_latitude, grid_north_pole_longitude, north_pole_grid_longitude, ang_unit_name, ang_unit_conv_factor)
690
-
691
- if ptr.null?
692
- Error.check_context(context)
693
- end
694
-
695
- Conversion.create_object(ptr, context)
696
- end
697
- end
698
- end
1
+ # encoding: UTF-8
2
+ require 'stringio'
3
+
4
+ module Proj
5
+ # Projections are coordinate operations that are conversions. For more information about each
6
+ # projection @see https://proj.org/operations/projections/index.html
7
+ module Projection
8
+ # Create a new utm projection
9
+ #
10
+ # @see https://proj.org/operations/projections/index.html
11
+ #
12
+ # @param context [Context] Proj Context
13
+ # @param zone [int] UTM Zone
14
+ # @param north [int] Specifies if this is northern or southern hemisphere
15
+ #
16
+ # @return [Crs]
17
+ def self.utm(context, zone:, north: true)
18
+ ptr = Api.proj_create_conversion_utm(context, zone, north ? 1 : 0)
19
+
20
+ if ptr.null?
21
+ Error.check_context(context)
22
+ end
23
+
24
+ Conversion.create_object(ptr, context)
25
+ end
26
+
27
+ # Create a new transverse_mercator projection
28
+ #
29
+ # @see https://proj.org/operations/projections/index.html
30
+ #
31
+ # @param context [Context] Proj Context
32
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
33
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
34
+ # @param scale [Float] Scale Factor. Default is 1.
35
+ # @param false_easting [Float] False Easting. Default is 0.
36
+ # @param false_northing [Float] False Northing. Default is 0.
37
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
38
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
39
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
40
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
41
+ #
42
+ # @return [Crs]
43
+ def self.transverse_mercator(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
44
+ ptr = Api.proj_create_conversion_transverse_mercator(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
45
+
46
+ if ptr.null?
47
+ Error.check_context(context)
48
+ end
49
+
50
+ Conversion.create_object(ptr, context)
51
+ end
52
+
53
+ # Create a new gauss_schreiber_transverse_mercator projection
54
+ #
55
+ # @see https://proj.org/operations/projections/index.html
56
+ #
57
+ # @param context [Context] Proj Context
58
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
59
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
60
+ # @param scale [Float] Scale Factor. Default is 1.
61
+ # @param false_easting [Float] False Easting. Default is 0.
62
+ # @param false_northing [Float] False Northing. Default is 0.
63
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
64
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
65
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
66
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
67
+ #
68
+ # @return [Crs]
69
+ def self.gauss_schreiber_transverse_mercator(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
70
+ ptr = Api.proj_create_conversion_gauss_schreiber_transverse_mercator(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
71
+
72
+ if ptr.null?
73
+ Error.check_context(context)
74
+ end
75
+
76
+ Conversion.create_object(ptr, context)
77
+ end
78
+
79
+ # Create a new transverse_mercator_south_oriented projection
80
+ #
81
+ # @see https://proj.org/operations/projections/index.html
82
+ #
83
+ # @param context [Context] Proj Context
84
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
85
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
86
+ # @param scale [Float] Scale Factor. Default is 1.
87
+ # @param false_easting [Float] False Easting. Default is 0.
88
+ # @param false_northing [Float] False Northing. Default is 0.
89
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
90
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
91
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
92
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
93
+ #
94
+ # @return [Crs]
95
+ def self.transverse_mercator_south_oriented(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
96
+ ptr = Api.proj_create_conversion_transverse_mercator_south_oriented(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
97
+
98
+ if ptr.null?
99
+ Error.check_context(context)
100
+ end
101
+
102
+ Conversion.create_object(ptr, context)
103
+ end
104
+
105
+ # Create a new two_point_equidistant projection
106
+ #
107
+ # @see https://proj.org/operations/projections/index.html
108
+ #
109
+ # @param context [Context] Proj Context
110
+ # @param latitude_first_point [Float]
111
+ # @param longitude_first_point [Float]
112
+ # @param latitude_second_point [Float]
113
+ # @param longitude_second_point [Float]
114
+ # @param false_easting [Float] False Easting. Default is 0.
115
+ # @param false_northing [Float] False Northing. Default is 0.
116
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
117
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
118
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
119
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
120
+ #
121
+ # @return [Crs]
122
+ def self.two_point_equidistant(context, latitude_first_point:, longitude_first_point:, latitude_second_point:, longitude_second_point:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
123
+ ptr = Api.proj_create_conversion_two_point_equidistant(context, latitude_first_point, longitude_first_point, latitude_second_point, longitude_second_point, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
124
+
125
+ if ptr.null?
126
+ Error.check_context(context)
127
+ end
128
+
129
+ Conversion.create_object(ptr, context)
130
+ end
131
+
132
+ # Create a new tunisia_mining_grid projection
133
+ #
134
+ # @see https://proj.org/operations/projections/index.html
135
+ #
136
+ # @param context [Context] Proj Context
137
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
138
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
139
+ # @param false_easting [Float] False Easting. Default is 0.
140
+ # @param false_northing [Float] False Northing. Default is 0.
141
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
142
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
143
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
144
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
145
+ #
146
+ # @return [Crs]
147
+ def self.tunisia_mining_grid(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
148
+ ptr = Api.proj_create_conversion_tunisia_mining_grid(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
149
+
150
+ if ptr.null?
151
+ Error.check_context(context)
152
+ end
153
+
154
+ Conversion.create_object(ptr, context)
155
+ end
156
+
157
+ # Create a new albers_equal_area projection
158
+ #
159
+ # @see https://proj.org/operations/projections/index.html
160
+ #
161
+ # @param context [Context] Proj Context
162
+ # @param latitude_false_origin [Float] Latitude of false origin
163
+ # @param longitude_false_origin [Float] Longitude of false origin
164
+ # @param latitude_first_parallel [Float]
165
+ # @param latitude_second_parallel [Float]
166
+ # @param easting_false_origin [Float] Easting of false origin
167
+ # @param northing_false_origin [Float] Northing of false origin
168
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
169
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
170
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
171
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
172
+ #
173
+ # @return [Crs]
174
+ def self.albers_equal_area(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
175
+ ptr = Api.proj_create_conversion_albers_equal_area(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
176
+
177
+ if ptr.null?
178
+ Error.check_context(context)
179
+ end
180
+
181
+ Conversion.create_object(ptr, context)
182
+ end
183
+
184
+ # Create a new lambert_conic_conformal_1sp projection
185
+ #
186
+ # @see https://proj.org/operations/projections/index.html
187
+ #
188
+ # @param context [Context] Proj Context
189
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
190
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
191
+ # @param scale [Float] Scale Factor. Default is 1.
192
+ # @param false_easting [Float] False Easting. Default is 0.
193
+ # @param false_northing [Float] False Northing. Default is 0.
194
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
195
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
196
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
197
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
198
+ #
199
+ # @return [Crs]
200
+ def self.lambert_conic_conformal_1sp(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
201
+ ptr = Api.proj_create_conversion_lambert_conic_conformal_1sp(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
202
+
203
+ if ptr.null?
204
+ Error.check_context(context)
205
+ end
206
+
207
+ Conversion.create_object(ptr, context)
208
+ end
209
+
210
+ # Create a new lambert_conic_conformal_1sp_variant_b projection
211
+ #
212
+ # @see https://proj.org/operations/projections/index.html
213
+ #
214
+ # @param context [Context] Proj Context
215
+ # @param latitude_nat_origin [Float] Latitude of natural origin
216
+ # @param scale [Float] Scale factor
217
+ # @param latitude_false_origin [Float] Latitude of false origin
218
+ # @param longitude_false_origin [Float] Longitude of false origin
219
+ # @param easting_false_origin [Float] Easting of false origin
220
+ # @param northing_false_origin [Float] Northing of false origin
221
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
222
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
223
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
224
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
225
+ #
226
+ # @return [Crs]
227
+ def self.lambert_conic_conformal_1sp_variant_b(context, latitude_nat_origin:, scale:, latitude_false_origin:, longitude_false_origin:, easting_false_origin:, northing_false_origin:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
228
+ ptr = Api.proj_create_conversion_lambert_conic_conformal_1sp_variant_b(context, latitude_nat_origin, scale, latitude_false_origin, longitude_false_origin, easting_false_origin, northing_false_origin, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
229
+
230
+ if ptr.null?
231
+ Error.check_context(context)
232
+ end
233
+
234
+ Conversion.create_object(ptr, context)
235
+ end
236
+
237
+ # Create a new lambert_conic_conformal_2sp projection
238
+ #
239
+ # @see https://proj.org/operations/projections/index.html
240
+ #
241
+ # @param context [Context] Proj Context
242
+ # @param latitude_false_origin [Float] Latitude of false origin
243
+ # @param longitude_false_origin [Float] Longitude of false origin
244
+ # @param latitude_first_parallel [Float]
245
+ # @param latitude_second_parallel [Float]
246
+ # @param easting_false_origin [Float] Easting of false origin
247
+ # @param northing_false_origin [Float] Northing of false origin
248
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
249
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
250
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
251
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
252
+ #
253
+ # @return [Crs]
254
+ def self.lambert_conic_conformal_2sp(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
255
+ ptr = Api.proj_create_conversion_lambert_conic_conformal_2sp(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
256
+
257
+ if ptr.null?
258
+ Error.check_context(context)
259
+ end
260
+
261
+ Conversion.create_object(ptr, context)
262
+ end
263
+
264
+ # Create a new lambert_conic_conformal_2sp_michigan projection
265
+ #
266
+ # @see https://proj.org/operations/projections/index.html
267
+ #
268
+ # @param context [Context] Proj Context
269
+ # @param latitude_false_origin [Float] Latitude of false origin
270
+ # @param longitude_false_origin [Float] Longitude of false origin
271
+ # @param latitude_first_parallel [Float]
272
+ # @param latitude_second_parallel [Float]
273
+ # @param easting_false_origin [Float] Easting of false origin
274
+ # @param northing_false_origin [Float] Northing of false origin
275
+ # @param ellipsoid_scaling_factor [Float]
276
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
277
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
278
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
279
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
280
+ #
281
+ # @return [Crs]
282
+ def self.lambert_conic_conformal_2sp_michigan(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, ellipsoid_scaling_factor:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
283
+ ptr = Api.proj_create_conversion_lambert_conic_conformal_2sp_michigan(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, ellipsoid_scaling_factor, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
284
+
285
+ if ptr.null?
286
+ Error.check_context(context)
287
+ end
288
+
289
+ Conversion.create_object(ptr, context)
290
+ end
291
+
292
+ # Create a new lambert_conic_conformal_2sp_belgium projection
293
+ #
294
+ # @see https://proj.org/operations/projections/index.html
295
+ #
296
+ # @param context [Context] Proj Context
297
+ # @param latitude_false_origin [Float] Latitude of false origin
298
+ # @param longitude_false_origin [Float] Longitude of false origin
299
+ # @param latitude_first_parallel [Float]
300
+ # @param latitude_second_parallel [Float]
301
+ # @param easting_false_origin [Float] Easting of false origin
302
+ # @param northing_false_origin [Float] Northing of false origin
303
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
304
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
305
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
306
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
307
+ #
308
+ # @return [Crs]
309
+ def self.lambert_conic_conformal_2sp_belgium(context, latitude_false_origin:, longitude_false_origin:, latitude_first_parallel:, latitude_second_parallel:, easting_false_origin:, northing_false_origin:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
310
+ ptr = Api.proj_create_conversion_lambert_conic_conformal_2sp_belgium(context, latitude_false_origin, longitude_false_origin, latitude_first_parallel, latitude_second_parallel, easting_false_origin, northing_false_origin, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
311
+
312
+ if ptr.null?
313
+ Error.check_context(context)
314
+ end
315
+
316
+ Conversion.create_object(ptr, context)
317
+ end
318
+
319
+ # Create a new azimuthal_equidistant projection
320
+ #
321
+ # @see https://proj.org/operations/projections/index.html
322
+ #
323
+ # @param context [Context] Proj Context
324
+ # @param latitude_nat_origin [Float]
325
+ # @param longitude_nat_origin [Float]
326
+ # @param false_easting [Float] False Easting. Default is 0.
327
+ # @param false_northing [Float] False Northing. Default is 0.
328
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
329
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
330
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
331
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
332
+ #
333
+ # @return [Crs]
334
+ def self.azimuthal_equidistant(context, latitude_nat_origin:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
335
+ ptr = Api.proj_create_conversion_azimuthal_equidistant(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
336
+
337
+ if ptr.null?
338
+ Error.check_context(context)
339
+ end
340
+
341
+ Conversion.create_object(ptr, context)
342
+ end
343
+
344
+ # Create a new guam_projection projection
345
+ #
346
+ # @see https://proj.org/operations/projections/index.html
347
+ #
348
+ # @param context [Context] Proj Context
349
+ # @param latitude_nat_origin [Float]
350
+ # @param longitude_nat_origin [Float]
351
+ # @param false_easting [Float] False Easting. Default is 0.
352
+ # @param false_northing [Float] False Northing. Default is 0.
353
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
354
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
355
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
356
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
357
+ #
358
+ # @return [Crs]
359
+ def self.guam_projection(context, latitude_nat_origin:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
360
+ ptr = Api.proj_create_conversion_guam_projection(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
361
+
362
+ if ptr.null?
363
+ Error.check_context(context)
364
+ end
365
+
366
+ Conversion.create_object(ptr, context)
367
+ end
368
+
369
+ # Create a new bonne projection
370
+ #
371
+ # @see https://proj.org/operations/projections/index.html
372
+ #
373
+ # @param context [Context] Proj Context
374
+ # @param latitude_nat_origin [Float]
375
+ # @param longitude_nat_origin [Float]
376
+ # @param false_easting [Float] False Easting. Default is 0.
377
+ # @param false_northing [Float] False Northing. Default is 0.
378
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
379
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
380
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
381
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
382
+ #
383
+ # @return [Crs]
384
+ def self.bonne(context, latitude_nat_origin:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
385
+ ptr = Api.proj_create_conversion_bonne(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
386
+
387
+ if ptr.null?
388
+ Error.check_context(context)
389
+ end
390
+
391
+ Conversion.create_object(ptr, context)
392
+ end
393
+
394
+ # Create a new lambert_cylindrical_equal_area_spherical projection
395
+ #
396
+ # @see https://proj.org/operations/projections/index.html
397
+ #
398
+ # @param context [Context] Proj Context
399
+ # @param latitude_first_parallel [Float]
400
+ # @param longitude_nat_origin [Float]
401
+ # @param false_easting [Float] False Easting. Default is 0.
402
+ # @param false_northing [Float] False Northing. Default is 0.
403
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
404
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
405
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
406
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
407
+ #
408
+ # @return [Crs]
409
+ def self.lambert_cylindrical_equal_area_spherical(context, latitude_first_parallel:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
410
+ ptr = Api.proj_create_conversion_lambert_cylindrical_equal_area_spherical(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
411
+
412
+ if ptr.null?
413
+ Error.check_context(context)
414
+ end
415
+
416
+ Conversion.create_object(ptr, context)
417
+ end
418
+
419
+ # Create a new lambert_cylindrical_equal_area projection
420
+ #
421
+ # @see https://proj.org/operations/projections/index.html
422
+ #
423
+ # @param context [Context] Proj Context
424
+ # @param latitude_first_parallel [Float]
425
+ # @param longitude_nat_origin [Float]
426
+ # @param false_easting [Float] False Easting. Default is 0.
427
+ # @param false_northing [Float] False Northing. Default is 0.
428
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
429
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
430
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
431
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
432
+ #
433
+ # @return [Crs]
434
+ def self.lambert_cylindrical_equal_area(context, latitude_first_parallel:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
435
+ ptr = Api.proj_create_conversion_lambert_cylindrical_equal_area(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
436
+
437
+ if ptr.null?
438
+ Error.check_context(context)
439
+ end
440
+
441
+ Conversion.create_object(ptr, context)
442
+ end
443
+
444
+ # Create a new cassini_soldner projection
445
+ #
446
+ # @see https://proj.org/operations/projections/index.html
447
+ #
448
+ # @param context [Context] Proj Context
449
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
450
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
451
+ # @param false_easting [Float] False Easting. Default is 0.
452
+ # @param false_northing [Float] False Northing. Default is 0.
453
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
454
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
455
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
456
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
457
+ #
458
+ # @return [Crs]
459
+ def self.cassini_soldner(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
460
+ ptr = Api.proj_create_conversion_cassini_soldner(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
461
+
462
+ if ptr.null?
463
+ Error.check_context(context)
464
+ end
465
+
466
+ Conversion.create_object(ptr, context)
467
+ end
468
+
469
+ # Create a new equidistant_conic projection
470
+ #
471
+ # @see https://proj.org/operations/projections/index.html
472
+ #
473
+ # @param context [Context] Proj Context
474
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
475
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
476
+ # @param latitude_first_parallel [Float]
477
+ # @param latitude_second_parallel [Float]
478
+ # @param false_easting [Float] False Easting. Default is 0.
479
+ # @param false_northing [Float] False Northing. Default is 0.
480
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
481
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
482
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
483
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
484
+ #
485
+ # @return [Crs]
486
+ def self.equidistant_conic(context, center_latitude:, center_longitude:, latitude_first_parallel:, latitude_second_parallel:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
487
+ ptr = Api.proj_create_conversion_equidistant_conic(context, center_latitude, center_longitude, latitude_first_parallel, latitude_second_parallel, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
488
+
489
+ if ptr.null?
490
+ Error.check_context(context)
491
+ end
492
+
493
+ Conversion.create_object(ptr, context)
494
+ end
495
+
496
+ # Create a new eckert_i projection
497
+ #
498
+ # @see https://proj.org/operations/projections/index.html
499
+ #
500
+ # @param context [Context] Proj Context
501
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
502
+ # @param false_easting [Float] False Easting. Default is 0.
503
+ # @param false_northing [Float] False Northing. Default is 0.
504
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
505
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
506
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
507
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
508
+ #
509
+ # @return [Crs]
510
+ def self.eckert_i(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
511
+ ptr = Api.proj_create_conversion_eckert_i(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
512
+
513
+ if ptr.null?
514
+ Error.check_context(context)
515
+ end
516
+
517
+ Conversion.create_object(ptr, context)
518
+ end
519
+
520
+ # Create a new eckert_ii projection
521
+ #
522
+ # @see https://proj.org/operations/projections/index.html
523
+ #
524
+ # @param context [Context] Proj Context
525
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
526
+ # @param false_easting [Float] False Easting. Default is 0.
527
+ # @param false_northing [Float] False Northing. Default is 0.
528
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
529
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
530
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
531
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
532
+ #
533
+ # @return [Crs]
534
+ def self.eckert_ii(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
535
+ ptr = Api.proj_create_conversion_eckert_ii(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
536
+
537
+ if ptr.null?
538
+ Error.check_context(context)
539
+ end
540
+
541
+ Conversion.create_object(ptr, context)
542
+ end
543
+
544
+ # Create a new eckert_iii projection
545
+ #
546
+ # @see https://proj.org/operations/projections/index.html
547
+ #
548
+ # @param context [Context] Proj Context
549
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
550
+ # @param false_easting [Float] False Easting. Default is 0.
551
+ # @param false_northing [Float] False Northing. Default is 0.
552
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
553
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
554
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
555
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
556
+ #
557
+ # @return [Crs]
558
+ def self.eckert_iii(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
559
+ ptr = Api.proj_create_conversion_eckert_iii(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
560
+
561
+ if ptr.null?
562
+ Error.check_context(context)
563
+ end
564
+
565
+ Conversion.create_object(ptr, context)
566
+ end
567
+
568
+ # Create a new eckert_iv projection
569
+ #
570
+ # @see https://proj.org/operations/projections/index.html
571
+ #
572
+ # @param context [Context] Proj Context
573
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
574
+ # @param false_easting [Float] False Easting. Default is 0.
575
+ # @param false_northing [Float] False Northing. Default is 0.
576
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
577
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
578
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
579
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
580
+ #
581
+ # @return [Crs]
582
+ def self.eckert_iv(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
583
+ ptr = Api.proj_create_conversion_eckert_iv(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
584
+
585
+ if ptr.null?
586
+ Error.check_context(context)
587
+ end
588
+
589
+ Conversion.create_object(ptr, context)
590
+ end
591
+
592
+ # Create a new eckert_v projection
593
+ #
594
+ # @see https://proj.org/operations/projections/index.html
595
+ #
596
+ # @param context [Context] Proj Context
597
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
598
+ # @param false_easting [Float] False Easting. Default is 0.
599
+ # @param false_northing [Float] False Northing. Default is 0.
600
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
601
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
602
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
603
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
604
+ #
605
+ # @return [Crs]
606
+ def self.eckert_v(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
607
+ ptr = Api.proj_create_conversion_eckert_v(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
608
+
609
+ if ptr.null?
610
+ Error.check_context(context)
611
+ end
612
+
613
+ Conversion.create_object(ptr, context)
614
+ end
615
+
616
+ # Create a new eckert_vi projection
617
+ #
618
+ # @see https://proj.org/operations/projections/index.html
619
+ #
620
+ # @param context [Context] Proj Context
621
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
622
+ # @param false_easting [Float] False Easting. Default is 0.
623
+ # @param false_northing [Float] False Northing. Default is 0.
624
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
625
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
626
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
627
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
628
+ #
629
+ # @return [Crs]
630
+ def self.eckert_vi(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
631
+ ptr = Api.proj_create_conversion_eckert_vi(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
632
+
633
+ if ptr.null?
634
+ Error.check_context(context)
635
+ end
636
+
637
+ Conversion.create_object(ptr, context)
638
+ end
639
+
640
+ # Create a new equidistant_cylindrical projection
641
+ #
642
+ # @see https://proj.org/operations/projections/index.html
643
+ #
644
+ # @param context [Context] Proj Context
645
+ # @param latitude_first_parallel [Float]
646
+ # @param longitude_nat_origin [Float]
647
+ # @param false_easting [Float] False Easting. Default is 0.
648
+ # @param false_northing [Float] False Northing. Default is 0.
649
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
650
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
651
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
652
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
653
+ #
654
+ # @return [Crs]
655
+ def self.equidistant_cylindrical(context, latitude_first_parallel:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
656
+ ptr = Api.proj_create_conversion_equidistant_cylindrical(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
657
+
658
+ if ptr.null?
659
+ Error.check_context(context)
660
+ end
661
+
662
+ Conversion.create_object(ptr, context)
663
+ end
664
+
665
+ # Create a new equidistant_cylindrical_spherical projection
666
+ #
667
+ # @see https://proj.org/operations/projections/index.html
668
+ #
669
+ # @param context [Context] Proj Context
670
+ # @param latitude_first_parallel [Float]
671
+ # @param longitude_nat_origin [Float]
672
+ # @param false_easting [Float] False Easting. Default is 0.
673
+ # @param false_northing [Float] False Northing. Default is 0.
674
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
675
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
676
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
677
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
678
+ #
679
+ # @return [Crs]
680
+ def self.equidistant_cylindrical_spherical(context, latitude_first_parallel:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
681
+ ptr = Api.proj_create_conversion_equidistant_cylindrical_spherical(context, latitude_first_parallel, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
682
+
683
+ if ptr.null?
684
+ Error.check_context(context)
685
+ end
686
+
687
+ Conversion.create_object(ptr, context)
688
+ end
689
+
690
+ # Create a new gall projection
691
+ #
692
+ # @see https://proj.org/operations/projections/index.html
693
+ #
694
+ # @param context [Context] Proj Context
695
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
696
+ # @param false_easting [Float] False Easting. Default is 0.
697
+ # @param false_northing [Float] False Northing. Default is 0.
698
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
699
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
700
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
701
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
702
+ #
703
+ # @return [Crs]
704
+ def self.gall(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
705
+ ptr = Api.proj_create_conversion_gall(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
706
+
707
+ if ptr.null?
708
+ Error.check_context(context)
709
+ end
710
+
711
+ Conversion.create_object(ptr, context)
712
+ end
713
+
714
+ # Create a new goode_homolosine projection
715
+ #
716
+ # @see https://proj.org/operations/projections/index.html
717
+ #
718
+ # @param context [Context] Proj Context
719
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
720
+ # @param false_easting [Float] False Easting. Default is 0.
721
+ # @param false_northing [Float] False Northing. Default is 0.
722
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
723
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
724
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
725
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
726
+ #
727
+ # @return [Crs]
728
+ def self.goode_homolosine(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
729
+ ptr = Api.proj_create_conversion_goode_homolosine(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
730
+
731
+ if ptr.null?
732
+ Error.check_context(context)
733
+ end
734
+
735
+ Conversion.create_object(ptr, context)
736
+ end
737
+
738
+ # Create a new interrupted_goode_homolosine projection
739
+ #
740
+ # @see https://proj.org/operations/projections/index.html
741
+ #
742
+ # @param context [Context] Proj Context
743
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
744
+ # @param false_easting [Float] False Easting. Default is 0.
745
+ # @param false_northing [Float] False Northing. Default is 0.
746
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
747
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
748
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
749
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
750
+ #
751
+ # @return [Crs]
752
+ def self.interrupted_goode_homolosine(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
753
+ ptr = Api.proj_create_conversion_interrupted_goode_homolosine(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
754
+
755
+ if ptr.null?
756
+ Error.check_context(context)
757
+ end
758
+
759
+ Conversion.create_object(ptr, context)
760
+ end
761
+
762
+ # Create a new geostationary_satellite_sweep_x projection
763
+ #
764
+ # @see https://proj.org/operations/projections/index.html
765
+ #
766
+ # @param context [Context] Proj Context
767
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
768
+ # @param height [Float]
769
+ # @param false_easting [Float] False Easting. Default is 0.
770
+ # @param false_northing [Float] False Northing. Default is 0.
771
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
772
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
773
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
774
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
775
+ #
776
+ # @return [Crs]
777
+ def self.geostationary_satellite_sweep_x(context, center_longitude:, height:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
778
+ ptr = Api.proj_create_conversion_geostationary_satellite_sweep_x(context, center_longitude, height, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
779
+
780
+ if ptr.null?
781
+ Error.check_context(context)
782
+ end
783
+
784
+ Conversion.create_object(ptr, context)
785
+ end
786
+
787
+ # Create a new geostationary_satellite_sweep_y projection
788
+ #
789
+ # @see https://proj.org/operations/projections/index.html
790
+ #
791
+ # @param context [Context] Proj Context
792
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
793
+ # @param height [Float]
794
+ # @param false_easting [Float] False Easting. Default is 0.
795
+ # @param false_northing [Float] False Northing. Default is 0.
796
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
797
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
798
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
799
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
800
+ #
801
+ # @return [Crs]
802
+ def self.geostationary_satellite_sweep_y(context, center_longitude:, height:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
803
+ ptr = Api.proj_create_conversion_geostationary_satellite_sweep_y(context, center_longitude, height, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
804
+
805
+ if ptr.null?
806
+ Error.check_context(context)
807
+ end
808
+
809
+ Conversion.create_object(ptr, context)
810
+ end
811
+
812
+ # Create a new gnomonic projection
813
+ #
814
+ # @see https://proj.org/operations/projections/index.html
815
+ #
816
+ # @param context [Context] Proj Context
817
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
818
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
819
+ # @param false_easting [Float] False Easting. Default is 0.
820
+ # @param false_northing [Float] False Northing. Default is 0.
821
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
822
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
823
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
824
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
825
+ #
826
+ # @return [Crs]
827
+ def self.gnomonic(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
828
+ ptr = Api.proj_create_conversion_gnomonic(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
829
+
830
+ if ptr.null?
831
+ Error.check_context(context)
832
+ end
833
+
834
+ Conversion.create_object(ptr, context)
835
+ end
836
+
837
+ # Create a new hotine_oblique_mercator_variant_a projection
838
+ #
839
+ # @see https://proj.org/operations/projections/index.html
840
+ #
841
+ # @param context [Context] Proj Context
842
+ # @param latitude_projection_centre [Float] Latitude of projection centre
843
+ # @param longitude_projection_centre [Float] Longitude of projection centre
844
+ # @param azimuth_initial_line [Float] Azimuth of initial line
845
+ # @param angle_from_rectified_to_skrew_grid [Float]
846
+ # @param scale [Float] Scale Factor. Default is 1.
847
+ # @param false_easting [Float] False Easting. Default is 0.
848
+ # @param false_northing [Float] False Northing. Default is 0.
849
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
850
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
851
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
852
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
853
+ #
854
+ # @return [Crs]
855
+ def self.hotine_oblique_mercator_variant_a(context, latitude_projection_centre:, longitude_projection_centre:, azimuth_initial_line:, angle_from_rectified_to_skrew_grid:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
856
+ ptr = Api.proj_create_conversion_hotine_oblique_mercator_variant_a(context, latitude_projection_centre, longitude_projection_centre, azimuth_initial_line, angle_from_rectified_to_skrew_grid, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
857
+
858
+ if ptr.null?
859
+ Error.check_context(context)
860
+ end
861
+
862
+ Conversion.create_object(ptr, context)
863
+ end
864
+
865
+ # Create a new hotine_oblique_mercator_variant_b projection
866
+ #
867
+ # @see https://proj.org/operations/projections/index.html
868
+ #
869
+ # @param context [Context] Proj Context
870
+ # @param latitude_projection_centre [Float] Latitude of projection centre
871
+ # @param longitude_projection_centre [Float] Longitude of projection centre
872
+ # @param azimuth_initial_line [Float] Azimuth of initial line
873
+ # @param angle_from_rectified_to_skrew_grid [Float]
874
+ # @param scale [Float] Scale Factor. Default is 1.
875
+ # @param easting_projection_centre [Float] Easting at projection centre
876
+ # @param northing_projection_centre [Float] Northing at projection centre
877
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
878
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
879
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
880
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
881
+ #
882
+ # @return [Crs]
883
+ def self.hotine_oblique_mercator_variant_b(context, latitude_projection_centre:, longitude_projection_centre:, azimuth_initial_line:, angle_from_rectified_to_skrew_grid:, scale: 1, easting_projection_centre:, northing_projection_centre:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
884
+ ptr = Api.proj_create_conversion_hotine_oblique_mercator_variant_b(context, latitude_projection_centre, longitude_projection_centre, azimuth_initial_line, angle_from_rectified_to_skrew_grid, scale, easting_projection_centre, northing_projection_centre, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
885
+
886
+ if ptr.null?
887
+ Error.check_context(context)
888
+ end
889
+
890
+ Conversion.create_object(ptr, context)
891
+ end
892
+
893
+ # Create a new hotine_oblique_mercator_two_point_natural_origin projection
894
+ #
895
+ # @see https://proj.org/operations/projections/index.html
896
+ #
897
+ # @param context [Context] Proj Context
898
+ # @param latitude_projection_centre [Float] Latitude of projection centre
899
+ # @param latitude_point1 [Float]
900
+ # @param longitude_point1 [Float]
901
+ # @param latitude_point2 [Float]
902
+ # @param longitude_point2 [Float]
903
+ # @param scale [Float] Scale Factor. Default is 1.
904
+ # @param easting_projection_centre [Float] Easting at projection centre
905
+ # @param northing_projection_centre [Float] Northing at projection centre
906
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
907
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
908
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
909
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
910
+ #
911
+ # @return [Crs]
912
+ def self.hotine_oblique_mercator_two_point_natural_origin(context, latitude_projection_centre:, latitude_point1:, longitude_point1:, latitude_point2:, longitude_point2:, scale: 1, easting_projection_centre:, northing_projection_centre:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
913
+ ptr = Api.proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(context, latitude_projection_centre, latitude_point1, longitude_point1, latitude_point2, longitude_point2, scale, easting_projection_centre, northing_projection_centre, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
914
+
915
+ if ptr.null?
916
+ Error.check_context(context)
917
+ end
918
+
919
+ Conversion.create_object(ptr, context)
920
+ end
921
+
922
+ # Create a new laborde_oblique_mercator projection
923
+ #
924
+ # @see https://proj.org/operations/projections/index.html
925
+ #
926
+ # @param context [Context] Proj Context
927
+ # @param latitude_projection_centre [Float] Latitude of projection centre
928
+ # @param longitude_projection_centre [Float] Longitude of projection centre
929
+ # @param azimuth_initial_line [Float] Azimuth of initial line
930
+ # @param scale [Float] Scale Factor. Default is 1.
931
+ # @param false_easting [Float] False Easting. Default is 0.
932
+ # @param false_northing [Float] False Northing. Default is 0.
933
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
934
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
935
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
936
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
937
+ #
938
+ # @return [Crs]
939
+ def self.laborde_oblique_mercator(context, latitude_projection_centre:, longitude_projection_centre:, azimuth_initial_line:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
940
+ ptr = Api.proj_create_conversion_laborde_oblique_mercator(context, latitude_projection_centre, longitude_projection_centre, azimuth_initial_line, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
941
+
942
+ if ptr.null?
943
+ Error.check_context(context)
944
+ end
945
+
946
+ Conversion.create_object(ptr, context)
947
+ end
948
+
949
+ # Create a new international_map_world_polyconic projection
950
+ #
951
+ # @see https://proj.org/operations/projections/index.html
952
+ #
953
+ # @param context [Context] Proj Context
954
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
955
+ # @param latitude_first_parallel [Float]
956
+ # @param latitude_second_parallel [Float]
957
+ # @param false_easting [Float] False Easting. Default is 0.
958
+ # @param false_northing [Float] False Northing. Default is 0.
959
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
960
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
961
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
962
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
963
+ #
964
+ # @return [Crs]
965
+ def self.international_map_world_polyconic(context, center_longitude:, latitude_first_parallel:, latitude_second_parallel:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
966
+ ptr = Api.proj_create_conversion_international_map_world_polyconic(context, center_longitude, latitude_first_parallel, latitude_second_parallel, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
967
+
968
+ if ptr.null?
969
+ Error.check_context(context)
970
+ end
971
+
972
+ Conversion.create_object(ptr, context)
973
+ end
974
+
975
+ # Create a new krovak_north_oriented projection
976
+ #
977
+ # @see https://proj.org/operations/projections/index.html
978
+ #
979
+ # @param context [Context] Proj Context
980
+ # @param latitude_projection_centre [Float] Latitude of projection centre
981
+ # @param longitude_of_origin [Float] Longitude of origin
982
+ # @param colatitude_cone_axis [Float] Co-latitude of cone axis
983
+ # @param latitude_pseudo_standard_parallel [Float] Latitude of pseudo standard
984
+ # @param scale_factor_pseudo_standard_parallel [Float] Scale factor on pseudo
985
+ # @param false_easting [Float] False Easting. Default is 0.
986
+ # @param false_northing [Float] False Northing. Default is 0.
987
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
988
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
989
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
990
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
991
+ #
992
+ # @return [Crs]
993
+ def self.krovak_north_oriented(context, latitude_projection_centre:, longitude_of_origin:, colatitude_cone_axis:, latitude_pseudo_standard_parallel:, scale_factor_pseudo_standard_parallel:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
994
+ ptr = Api.proj_create_conversion_krovak_north_oriented(context, latitude_projection_centre, longitude_of_origin, colatitude_cone_axis, latitude_pseudo_standard_parallel, scale_factor_pseudo_standard_parallel, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
995
+
996
+ if ptr.null?
997
+ Error.check_context(context)
998
+ end
999
+
1000
+ Conversion.create_object(ptr, context)
1001
+ end
1002
+
1003
+ # Create a new krovak projection
1004
+ #
1005
+ # @see https://proj.org/operations/projections/index.html
1006
+ #
1007
+ # @param context [Context] Proj Context
1008
+ # @param latitude_projection_centre [Float] Latitude of projection centre
1009
+ # @param longitude_of_origin [Float] Longitude of origin
1010
+ # @param colatitude_cone_axis [Float] Co-latitude of cone axis
1011
+ # @param latitude_pseudo_standard_parallel [Float] Latitude of pseudo standard
1012
+ # @param scale_factor_pseudo_standard_parallel [Float] Scale factor on pseudo
1013
+ # @param false_easting [Float] False Easting. Default is 0.
1014
+ # @param false_northing [Float] False Northing. Default is 0.
1015
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1016
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1017
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1018
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1019
+ #
1020
+ # @return [Crs]
1021
+ def self.krovak(context, latitude_projection_centre:, longitude_of_origin:, colatitude_cone_axis:, latitude_pseudo_standard_parallel:, scale_factor_pseudo_standard_parallel:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1022
+ ptr = Api.proj_create_conversion_krovak(context, latitude_projection_centre, longitude_of_origin, colatitude_cone_axis, latitude_pseudo_standard_parallel, scale_factor_pseudo_standard_parallel, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1023
+
1024
+ if ptr.null?
1025
+ Error.check_context(context)
1026
+ end
1027
+
1028
+ Conversion.create_object(ptr, context)
1029
+ end
1030
+
1031
+ # Create a new lambert_azimuthal_equal_area projection
1032
+ #
1033
+ # @see https://proj.org/operations/projections/index.html
1034
+ #
1035
+ # @param context [Context] Proj Context
1036
+ # @param latitude_nat_origin [Float]
1037
+ # @param longitude_nat_origin [Float]
1038
+ # @param false_easting [Float] False Easting. Default is 0.
1039
+ # @param false_northing [Float] False Northing. Default is 0.
1040
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1041
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1042
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1043
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1044
+ #
1045
+ # @return [Crs]
1046
+ def self.lambert_azimuthal_equal_area(context, latitude_nat_origin:, longitude_nat_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1047
+ ptr = Api.proj_create_conversion_lambert_azimuthal_equal_area(context, latitude_nat_origin, longitude_nat_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1048
+
1049
+ if ptr.null?
1050
+ Error.check_context(context)
1051
+ end
1052
+
1053
+ Conversion.create_object(ptr, context)
1054
+ end
1055
+
1056
+ # Create a new miller_cylindrical projection
1057
+ #
1058
+ # @see https://proj.org/operations/projections/index.html
1059
+ #
1060
+ # @param context [Context] Proj Context
1061
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1062
+ # @param false_easting [Float] False Easting. Default is 0.
1063
+ # @param false_northing [Float] False Northing. Default is 0.
1064
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1065
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1066
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1067
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1068
+ #
1069
+ # @return [Crs]
1070
+ def self.miller_cylindrical(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1071
+ ptr = Api.proj_create_conversion_miller_cylindrical(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1072
+
1073
+ if ptr.null?
1074
+ Error.check_context(context)
1075
+ end
1076
+
1077
+ Conversion.create_object(ptr, context)
1078
+ end
1079
+
1080
+ # Create a new mercator_variant_a projection
1081
+ #
1082
+ # @see https://proj.org/operations/projections/index.html
1083
+ #
1084
+ # @param context [Context] Proj Context
1085
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1086
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1087
+ # @param scale [Float] Scale Factor. Default is 1.
1088
+ # @param false_easting [Float] False Easting. Default is 0.
1089
+ # @param false_northing [Float] False Northing. Default is 0.
1090
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1091
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1092
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1093
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1094
+ #
1095
+ # @return [Crs]
1096
+ def self.mercator_variant_a(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1097
+ ptr = Api.proj_create_conversion_mercator_variant_a(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1098
+
1099
+ if ptr.null?
1100
+ Error.check_context(context)
1101
+ end
1102
+
1103
+ Conversion.create_object(ptr, context)
1104
+ end
1105
+
1106
+ # Create a new mercator_variant_b projection
1107
+ #
1108
+ # @see https://proj.org/operations/projections/index.html
1109
+ #
1110
+ # @param context [Context] Proj Context
1111
+ # @param latitude_first_parallel [Float]
1112
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1113
+ # @param false_easting [Float] False Easting. Default is 0.
1114
+ # @param false_northing [Float] False Northing. Default is 0.
1115
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1116
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1117
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1118
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1119
+ #
1120
+ # @return [Crs]
1121
+ def self.mercator_variant_b(context, latitude_first_parallel:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1122
+ ptr = Api.proj_create_conversion_mercator_variant_b(context, latitude_first_parallel, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1123
+
1124
+ if ptr.null?
1125
+ Error.check_context(context)
1126
+ end
1127
+
1128
+ Conversion.create_object(ptr, context)
1129
+ end
1130
+
1131
+ # Create a new popular_visualisation_pseudo_mercator projection
1132
+ #
1133
+ # @see https://proj.org/operations/projections/index.html
1134
+ #
1135
+ # @param context [Context] Proj Context
1136
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1137
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1138
+ # @param false_easting [Float] False Easting. Default is 0.
1139
+ # @param false_northing [Float] False Northing. Default is 0.
1140
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1141
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1142
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1143
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1144
+ #
1145
+ # @return [Crs]
1146
+ def self.popular_visualisation_pseudo_mercator(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1147
+ ptr = Api.proj_create_conversion_popular_visualisation_pseudo_mercator(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1148
+
1149
+ if ptr.null?
1150
+ Error.check_context(context)
1151
+ end
1152
+
1153
+ Conversion.create_object(ptr, context)
1154
+ end
1155
+
1156
+ # Create a new mollweide projection
1157
+ #
1158
+ # @see https://proj.org/operations/projections/index.html
1159
+ #
1160
+ # @param context [Context] Proj Context
1161
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1162
+ # @param false_easting [Float] False Easting. Default is 0.
1163
+ # @param false_northing [Float] False Northing. Default is 0.
1164
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1165
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1166
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1167
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1168
+ #
1169
+ # @return [Crs]
1170
+ def self.mollweide(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1171
+ ptr = Api.proj_create_conversion_mollweide(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1172
+
1173
+ if ptr.null?
1174
+ Error.check_context(context)
1175
+ end
1176
+
1177
+ Conversion.create_object(ptr, context)
1178
+ end
1179
+
1180
+ # Create a new new_zealand_mapping_grid projection
1181
+ #
1182
+ # @see https://proj.org/operations/projections/index.html
1183
+ #
1184
+ # @param context [Context] Proj Context
1185
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1186
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1187
+ # @param false_easting [Float] False Easting. Default is 0.
1188
+ # @param false_northing [Float] False Northing. Default is 0.
1189
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1190
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1191
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1192
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1193
+ #
1194
+ # @return [Crs]
1195
+ def self.new_zealand_mapping_grid(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1196
+ ptr = Api.proj_create_conversion_new_zealand_mapping_grid(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1197
+
1198
+ if ptr.null?
1199
+ Error.check_context(context)
1200
+ end
1201
+
1202
+ Conversion.create_object(ptr, context)
1203
+ end
1204
+
1205
+ # Create a new oblique_stereographic projection
1206
+ #
1207
+ # @see https://proj.org/operations/projections/index.html
1208
+ #
1209
+ # @param context [Context] Proj Context
1210
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1211
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1212
+ # @param scale [Float] Scale Factor. Default is 1.
1213
+ # @param false_easting [Float] False Easting. Default is 0.
1214
+ # @param false_northing [Float] False Northing. Default is 0.
1215
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1216
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1217
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1218
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1219
+ #
1220
+ # @return [Crs]
1221
+ def self.oblique_stereographic(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1222
+ ptr = Api.proj_create_conversion_oblique_stereographic(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1223
+
1224
+ if ptr.null?
1225
+ Error.check_context(context)
1226
+ end
1227
+
1228
+ Conversion.create_object(ptr, context)
1229
+ end
1230
+
1231
+ # Create a new orthographic projection
1232
+ #
1233
+ # @see https://proj.org/operations/projections/index.html
1234
+ #
1235
+ # @param context [Context] Proj Context
1236
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1237
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1238
+ # @param false_easting [Float] False Easting. Default is 0.
1239
+ # @param false_northing [Float] False Northing. Default is 0.
1240
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1241
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1242
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1243
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1244
+ #
1245
+ # @return [Crs]
1246
+ def self.orthographic(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1247
+ ptr = Api.proj_create_conversion_orthographic(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1248
+
1249
+ if ptr.null?
1250
+ Error.check_context(context)
1251
+ end
1252
+
1253
+ Conversion.create_object(ptr, context)
1254
+ end
1255
+
1256
+ # Create a new american_polyconic projection
1257
+ #
1258
+ # @see https://proj.org/operations/projections/index.html
1259
+ #
1260
+ # @param context [Context] Proj Context
1261
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1262
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1263
+ # @param false_easting [Float] False Easting. Default is 0.
1264
+ # @param false_northing [Float] False Northing. Default is 0.
1265
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1266
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1267
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1268
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1269
+ #
1270
+ # @return [Crs]
1271
+ def self.american_polyconic(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1272
+ ptr = Api.proj_create_conversion_american_polyconic(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1273
+
1274
+ if ptr.null?
1275
+ Error.check_context(context)
1276
+ end
1277
+
1278
+ Conversion.create_object(ptr, context)
1279
+ end
1280
+
1281
+ # Create a new polar_stereographic_variant_a projection
1282
+ #
1283
+ # @see https://proj.org/operations/projections/index.html
1284
+ #
1285
+ # @param context [Context] Proj Context
1286
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1287
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1288
+ # @param scale [Float] Scale Factor. Default is 1.
1289
+ # @param false_easting [Float] False Easting. Default is 0.
1290
+ # @param false_northing [Float] False Northing. Default is 0.
1291
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1292
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1293
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1294
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1295
+ #
1296
+ # @return [Crs]
1297
+ def self.polar_stereographic_variant_a(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1298
+ ptr = Api.proj_create_conversion_polar_stereographic_variant_a(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1299
+
1300
+ if ptr.null?
1301
+ Error.check_context(context)
1302
+ end
1303
+
1304
+ Conversion.create_object(ptr, context)
1305
+ end
1306
+
1307
+ # Create a new polar_stereographic_variant_b projection
1308
+ #
1309
+ # @see https://proj.org/operations/projections/index.html
1310
+ #
1311
+ # @param context [Context] Proj Context
1312
+ # @param latitude_standard_parallel [Float]
1313
+ # @param longitude_of_origin [Float] Longitude of origin
1314
+ # @param false_easting [Float] False Easting. Default is 0.
1315
+ # @param false_northing [Float] False Northing. Default is 0.
1316
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1317
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1318
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1319
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1320
+ #
1321
+ # @return [Crs]
1322
+ def self.polar_stereographic_variant_b(context, latitude_standard_parallel:, longitude_of_origin:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1323
+ ptr = Api.proj_create_conversion_polar_stereographic_variant_b(context, latitude_standard_parallel, longitude_of_origin, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1324
+
1325
+ if ptr.null?
1326
+ Error.check_context(context)
1327
+ end
1328
+
1329
+ Conversion.create_object(ptr, context)
1330
+ end
1331
+
1332
+ # Create a new robinson projection
1333
+ #
1334
+ # @see https://proj.org/operations/projections/index.html
1335
+ #
1336
+ # @param context [Context] Proj Context
1337
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1338
+ # @param false_easting [Float] False Easting. Default is 0.
1339
+ # @param false_northing [Float] False Northing. Default is 0.
1340
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1341
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1342
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1343
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1344
+ #
1345
+ # @return [Crs]
1346
+ def self.robinson(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1347
+ ptr = Api.proj_create_conversion_robinson(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1348
+
1349
+ if ptr.null?
1350
+ Error.check_context(context)
1351
+ end
1352
+
1353
+ Conversion.create_object(ptr, context)
1354
+ end
1355
+
1356
+ # Create a new sinusoidal projection
1357
+ #
1358
+ # @see https://proj.org/operations/projections/index.html
1359
+ #
1360
+ # @param context [Context] Proj Context
1361
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1362
+ # @param false_easting [Float] False Easting. Default is 0.
1363
+ # @param false_northing [Float] False Northing. Default is 0.
1364
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1365
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1366
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1367
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1368
+ #
1369
+ # @return [Crs]
1370
+ def self.sinusoidal(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1371
+ ptr = Api.proj_create_conversion_sinusoidal(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1372
+
1373
+ if ptr.null?
1374
+ Error.check_context(context)
1375
+ end
1376
+
1377
+ Conversion.create_object(ptr, context)
1378
+ end
1379
+
1380
+ # Create a new stereographic projection
1381
+ #
1382
+ # @see https://proj.org/operations/projections/index.html
1383
+ #
1384
+ # @param context [Context] Proj Context
1385
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1386
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1387
+ # @param scale [Float] Scale Factor. Default is 1.
1388
+ # @param false_easting [Float] False Easting. Default is 0.
1389
+ # @param false_northing [Float] False Northing. Default is 0.
1390
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1391
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1392
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1393
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1394
+ #
1395
+ # @return [Crs]
1396
+ def self.stereographic(context, center_latitude:, center_longitude:, scale: 1, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1397
+ ptr = Api.proj_create_conversion_stereographic(context, center_latitude, center_longitude, scale, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1398
+
1399
+ if ptr.null?
1400
+ Error.check_context(context)
1401
+ end
1402
+
1403
+ Conversion.create_object(ptr, context)
1404
+ end
1405
+
1406
+ # Create a new van_der_grinten projection
1407
+ #
1408
+ # @see https://proj.org/operations/projections/index.html
1409
+ #
1410
+ # @param context [Context] Proj Context
1411
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1412
+ # @param false_easting [Float] False Easting. Default is 0.
1413
+ # @param false_northing [Float] False Northing. Default is 0.
1414
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1415
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1416
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1417
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1418
+ #
1419
+ # @return [Crs]
1420
+ def self.van_der_grinten(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1421
+ ptr = Api.proj_create_conversion_van_der_grinten(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1422
+
1423
+ if ptr.null?
1424
+ Error.check_context(context)
1425
+ end
1426
+
1427
+ Conversion.create_object(ptr, context)
1428
+ end
1429
+
1430
+ # Create a new wagner_i projection
1431
+ #
1432
+ # @see https://proj.org/operations/projections/index.html
1433
+ #
1434
+ # @param context [Context] Proj Context
1435
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1436
+ # @param false_easting [Float] False Easting. Default is 0.
1437
+ # @param false_northing [Float] False Northing. Default is 0.
1438
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1439
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1440
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1441
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1442
+ #
1443
+ # @return [Crs]
1444
+ def self.wagner_i(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1445
+ ptr = Api.proj_create_conversion_wagner_i(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1446
+
1447
+ if ptr.null?
1448
+ Error.check_context(context)
1449
+ end
1450
+
1451
+ Conversion.create_object(ptr, context)
1452
+ end
1453
+
1454
+ # Create a new wagner_ii projection
1455
+ #
1456
+ # @see https://proj.org/operations/projections/index.html
1457
+ #
1458
+ # @param context [Context] Proj Context
1459
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1460
+ # @param false_easting [Float] False Easting. Default is 0.
1461
+ # @param false_northing [Float] False Northing. Default is 0.
1462
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1463
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1464
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1465
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1466
+ #
1467
+ # @return [Crs]
1468
+ def self.wagner_ii(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1469
+ ptr = Api.proj_create_conversion_wagner_ii(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1470
+
1471
+ if ptr.null?
1472
+ Error.check_context(context)
1473
+ end
1474
+
1475
+ Conversion.create_object(ptr, context)
1476
+ end
1477
+
1478
+ # Create a new wagner_iii projection
1479
+ #
1480
+ # @see https://proj.org/operations/projections/index.html
1481
+ #
1482
+ # @param context [Context] Proj Context
1483
+ # @param latitude_true_scale [Float]
1484
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1485
+ # @param false_easting [Float] False Easting. Default is 0.
1486
+ # @param false_northing [Float] False Northing. Default is 0.
1487
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1488
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1489
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1490
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1491
+ #
1492
+ # @return [Crs]
1493
+ def self.wagner_iii(context, latitude_true_scale:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1494
+ ptr = Api.proj_create_conversion_wagner_iii(context, latitude_true_scale, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1495
+
1496
+ if ptr.null?
1497
+ Error.check_context(context)
1498
+ end
1499
+
1500
+ Conversion.create_object(ptr, context)
1501
+ end
1502
+
1503
+ # Create a new wagner_iv projection
1504
+ #
1505
+ # @see https://proj.org/operations/projections/index.html
1506
+ #
1507
+ # @param context [Context] Proj Context
1508
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1509
+ # @param false_easting [Float] False Easting. Default is 0.
1510
+ # @param false_northing [Float] False Northing. Default is 0.
1511
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1512
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1513
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1514
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1515
+ #
1516
+ # @return [Crs]
1517
+ def self.wagner_iv(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1518
+ ptr = Api.proj_create_conversion_wagner_iv(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1519
+
1520
+ if ptr.null?
1521
+ Error.check_context(context)
1522
+ end
1523
+
1524
+ Conversion.create_object(ptr, context)
1525
+ end
1526
+
1527
+ # Create a new wagner_v projection
1528
+ #
1529
+ # @see https://proj.org/operations/projections/index.html
1530
+ #
1531
+ # @param context [Context] Proj Context
1532
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1533
+ # @param false_easting [Float] False Easting. Default is 0.
1534
+ # @param false_northing [Float] False Northing. Default is 0.
1535
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1536
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1537
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1538
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1539
+ #
1540
+ # @return [Crs]
1541
+ def self.wagner_v(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1542
+ ptr = Api.proj_create_conversion_wagner_v(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1543
+
1544
+ if ptr.null?
1545
+ Error.check_context(context)
1546
+ end
1547
+
1548
+ Conversion.create_object(ptr, context)
1549
+ end
1550
+
1551
+ # Create a new wagner_vi projection
1552
+ #
1553
+ # @see https://proj.org/operations/projections/index.html
1554
+ #
1555
+ # @param context [Context] Proj Context
1556
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1557
+ # @param false_easting [Float] False Easting. Default is 0.
1558
+ # @param false_northing [Float] False Northing. Default is 0.
1559
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1560
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1561
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1562
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1563
+ #
1564
+ # @return [Crs]
1565
+ def self.wagner_vi(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1566
+ ptr = Api.proj_create_conversion_wagner_vi(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1567
+
1568
+ if ptr.null?
1569
+ Error.check_context(context)
1570
+ end
1571
+
1572
+ Conversion.create_object(ptr, context)
1573
+ end
1574
+
1575
+ # Create a new wagner_vii projection
1576
+ #
1577
+ # @see https://proj.org/operations/projections/index.html
1578
+ #
1579
+ # @param context [Context] Proj Context
1580
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1581
+ # @param false_easting [Float] False Easting. Default is 0.
1582
+ # @param false_northing [Float] False Northing. Default is 0.
1583
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1584
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1585
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1586
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1587
+ #
1588
+ # @return [Crs]
1589
+ def self.wagner_vii(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1590
+ ptr = Api.proj_create_conversion_wagner_vii(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1591
+
1592
+ if ptr.null?
1593
+ Error.check_context(context)
1594
+ end
1595
+
1596
+ Conversion.create_object(ptr, context)
1597
+ end
1598
+
1599
+ # Create a new quadrilateralized_spherical_cube projection
1600
+ #
1601
+ # @see https://proj.org/operations/projections/index.html
1602
+ #
1603
+ # @param context [Context] Proj Context
1604
+ # @param center_latitude [Float] Latitude of natural origin/Center Latitude
1605
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1606
+ # @param false_easting [Float] False Easting. Default is 0.
1607
+ # @param false_northing [Float] False Northing. Default is 0.
1608
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1609
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1610
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1611
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1612
+ #
1613
+ # @return [Crs]
1614
+ def self.quadrilateralized_spherical_cube(context, center_latitude:, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1615
+ ptr = Api.proj_create_conversion_quadrilateralized_spherical_cube(context, center_latitude, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1616
+
1617
+ if ptr.null?
1618
+ Error.check_context(context)
1619
+ end
1620
+
1621
+ Conversion.create_object(ptr, context)
1622
+ end
1623
+
1624
+ # Create a new spherical_cross_track_height projection
1625
+ #
1626
+ # @see https://proj.org/operations/projections/index.html
1627
+ #
1628
+ # @param context [Context] Proj Context
1629
+ # @param peg_point_lat [Float] Peg latitude (in degree)
1630
+ # @param peg_point_long [Float] Peg longitude (in degree)
1631
+ # @param peg_point_heading [Float] Peg heading (in degree)
1632
+ # @param peg_point_height [Float]
1633
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1634
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1635
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1636
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1637
+ #
1638
+ # @return [Crs]
1639
+ def self.spherical_cross_track_height(context, peg_point_lat:, peg_point_long:, peg_point_heading:, peg_point_height:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1640
+ ptr = Api.proj_create_conversion_spherical_cross_track_height(context, peg_point_lat, peg_point_long, peg_point_heading, peg_point_height, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1641
+
1642
+ if ptr.null?
1643
+ Error.check_context(context)
1644
+ end
1645
+
1646
+ Conversion.create_object(ptr, context)
1647
+ end
1648
+
1649
+ # Create a new equal_earth projection
1650
+ #
1651
+ # @see https://proj.org/operations/projections/index.html
1652
+ #
1653
+ # @param context [Context] Proj Context
1654
+ # @param center_longitude [Float] Longitude of natural origin/Central Meridian
1655
+ # @param false_easting [Float] False Easting. Default is 0.
1656
+ # @param false_northing [Float] False Northing. Default is 0.
1657
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1658
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1659
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1660
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1661
+ #
1662
+ # @return [Crs]
1663
+ def self.equal_earth(context, center_longitude:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1664
+ ptr = Api.proj_create_conversion_equal_earth(context, center_longitude, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1665
+
1666
+ if ptr.null?
1667
+ Error.check_context(context)
1668
+ end
1669
+
1670
+ Conversion.create_object(ptr, context)
1671
+ end
1672
+
1673
+ # Create a new vertical_perspective projection
1674
+ #
1675
+ # @see https://proj.org/operations/projections/index.html
1676
+ #
1677
+ # @param context [Context] Proj Context
1678
+ # @param topo_origin_lat [Float]
1679
+ # @param topo_origin_long [Float]
1680
+ # @param topo_origin_height [Float]
1681
+ # @param view_point_height [Float]
1682
+ # @param false_easting [Float] False Easting. Default is 0.
1683
+ # @param false_northing [Float] False Northing. Default is 0.
1684
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1685
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1686
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1687
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1688
+ #
1689
+ # @return [Crs]
1690
+ def self.vertical_perspective(context, topo_origin_lat:, topo_origin_long:, topo_origin_height:, view_point_height:, false_easting: 0, false_northing: 0, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1691
+ ptr = Api.proj_create_conversion_vertical_perspective(context, topo_origin_lat, topo_origin_long, topo_origin_height, view_point_height, false_easting, false_northing, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1692
+
1693
+ if ptr.null?
1694
+ Error.check_context(context)
1695
+ end
1696
+
1697
+ Conversion.create_object(ptr, context)
1698
+ end
1699
+
1700
+ # Create a new pole_rotation_grib_convention projection
1701
+ #
1702
+ # @see https://proj.org/operations/projections/index.html
1703
+ #
1704
+ # @param context [Context] Proj Context
1705
+ # @param south_pole_lat_in_unrotated_crs [Float]
1706
+ # @param south_pole_long_in_unrotated_crs [Float]
1707
+ # @param axis_rotation [Float]
1708
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1709
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1710
+ #
1711
+ # @return [Crs]
1712
+ def self.pole_rotation_grib_convention(context, south_pole_lat_in_unrotated_crs:, south_pole_long_in_unrotated_crs:, axis_rotation:, angular_unit_name: "Degree", angular_unit_conversion_factor:)
1713
+ ptr = Api.proj_create_conversion_pole_rotation_grib_convention(context, south_pole_lat_in_unrotated_crs, south_pole_long_in_unrotated_crs, axis_rotation, angular_unit_name, angular_unit_conversion_factor)
1714
+
1715
+ if ptr.null?
1716
+ Error.check_context(context)
1717
+ end
1718
+
1719
+ Conversion.create_object(ptr, context)
1720
+ end
1721
+
1722
+ # Create a new pole_rotation_netcdf_cf_convention projection
1723
+ #
1724
+ # @see https://proj.org/operations/projections/index.html
1725
+ #
1726
+ # @param context [Context] Proj Context
1727
+ # @param grid_north_pole_latitude [Float]
1728
+ # @param grid_north_pole_longitude [Float]
1729
+ # @param north_pole_grid_longitude [Float]
1730
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1731
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1732
+ #
1733
+ # @return [Crs]
1734
+ def self.pole_rotation_netcdf_cf_convention(context, grid_north_pole_latitude:, grid_north_pole_longitude:, north_pole_grid_longitude:, angular_unit_name: "Degree", angular_unit_conversion_factor:)
1735
+ ptr = Api.proj_create_conversion_pole_rotation_netcdf_cf_convention(context, grid_north_pole_latitude, grid_north_pole_longitude, north_pole_grid_longitude, angular_unit_name, angular_unit_conversion_factor)
1736
+
1737
+ if ptr.null?
1738
+ Error.check_context(context)
1739
+ end
1740
+
1741
+ Conversion.create_object(ptr, context)
1742
+ end
1743
+
1744
+ # Create a new local_orthographic projection
1745
+ #
1746
+ # @see https://proj.org/operations/projections/index.html
1747
+ #
1748
+ # @param context [Context] Proj Context
1749
+ # @param latitude_nat_origin [Float] Latitude of natural origin
1750
+ # @param longitude_nat_origin [Float] Longitude of natural origin
1751
+ # @param ellipsoidal_height [Float] Ellipsoidal height
1752
+ # @param geocentric_x_origin [Float] Geocentric X origin
1753
+ # @param geocentric_y_origin [Float] Geocentric Y origin
1754
+ # @param geocentric_z_origin [Float] Geocentric Z origin
1755
+ # @param angular_unit_name [String] Name of the angular units. Default is Degree.
1756
+ # @param angular_unit_conversion_factor [Float] Conversion factor from angular unit to radians. Default is 0.0174532925199433.
1757
+ # @param linear_unit_name [String] Name of the linear units. Default is Metre
1758
+ # @param linear_unit_conversion_factor [Float] Conversion factor from linear unit to meters. Default is 1.
1759
+ #
1760
+ # @return [Crs]
1761
+ def self.local_orthographic(context, latitude_nat_origin:, longitude_nat_origin:, ellipsoidal_height:, geocentric_x_origin:, geocentric_y_origin:, geocentric_z_origin:, angular_unit_name: "Degree", angular_unit_conversion_factor: 0.0174532925199433, linear_unit_name: "Metre", linear_unit_conversion_factor: 1)
1762
+ ptr = Api.proj_create_conversion_local_orthographic(context, latitude_nat_origin, longitude_nat_origin, ellipsoidal_height, geocentric_x_origin, geocentric_y_origin, geocentric_z_origin, angular_unit_name, angular_unit_conversion_factor, linear_unit_name, linear_unit_conversion_factor)
1763
+
1764
+ if ptr.null?
1765
+ Error.check_context(context)
1766
+ end
1767
+
1768
+ Conversion.create_object(ptr, context)
1769
+ end
1770
+ end
1771
+ end