proj4rb 4.1.0 → 4.1.1

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