proj4rb 4.1.0 → 4.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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