Module: OGR::SpatialReferenceMixins::CoordinateSystemGetterSetters
- Included in:
- OGR::SpatialReference
- Defined in:
- lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb
Instance Method Summary collapse
- #authority_code(target_key = nil) ⇒ String?
- #authority_name(target_key = nil) ⇒ String?
- #axis(axis_number, target_key) ⇒ String?
- #normalized_projection_parameter(name, default_value = 0.0) ⇒ Object
- #projection_parameter(name, default_value = 0.0) ⇒ Object
- #semi_major(return_wgs84_on_nil: false) ⇒ Float
- #semi_minor(return_wgs84_on_nil: false) ⇒ Float
- #set_ae ⇒ Object
- #set_albers_conic_equal_area ⇒ Object (also: #set_acea)
- #set_authority(target_key, authority, code) ⇒ Object
- #set_bonne ⇒ Object
- #set_cea ⇒ Object
- #set_compound_cs(name, horizontal_spatial_ref, vertical_spatial_ref) ⇒ Object
- #set_cs ⇒ Object
- #set_ec ⇒ Object
- #set_eckert ⇒ Object
- #set_eckert_iv ⇒ Object
- #set_eckert_vi ⇒ Object
- #set_equirectangular ⇒ Object
- #set_equirectangular2 ⇒ Object
- #set_from_user_input(definition) ⇒ Object
- #set_gauss_schreiber_transverse_mercator ⇒ Object
- #set_gc ⇒ Object
-
#set_geoc_cs(name) ⇒ Object
(also: #geoc_cs=)
Set the user-visible PROJCS name.
-
#set_geog_cs(geog_name, datum_name, spheroid_name, semi_major, spheroid_inverse_flattening, prime_meridian, offset, angular_unit_label, transform_to_radians) ⇒ Object
Set the user-visible GEOGCS name.
- #set_geos ⇒ Object
- #set_gh ⇒ Object
- #set_gnomonic ⇒ Object
- #set_hom ⇒ Object
- #set_hom_2_pno ⇒ Object
- #set_igh ⇒ Object
- #set_iwm_polyconic ⇒ Object
- #set_krovak ⇒ Object
- #set_laea ⇒ Object
- #set_lcc ⇒ Object
- #set_lcc_1sp ⇒ Object
- #set_lccb ⇒ Object
-
#set_local_cs(name) ⇒ Object
(also: #local_cs=)
Set the user-visible LOCAL_CS name.
- #set_mc ⇒ Object
- #set_mercator ⇒ Object
- #set_mollweide ⇒ Object
- #set_normalized_projection_parameter(param_name, value) ⇒ Object
- #set_nzmg ⇒ Object
- #set_om ⇒ Object
- #set_orthographic ⇒ Object
- #set_os ⇒ Object
- #set_polyconic ⇒ Object
-
#set_proj_cs(name) ⇒ Object
(also: #proj_cs=)
Set the user-visible PROJCS name.
- #set_projection(projection_name) ⇒ Object (also: #projection=)
- #set_projection_parameter(param_name, value) ⇒ Object
- #set_ps ⇒ Object
- #set_qsc ⇒ Object
- #set_robinson ⇒ Object
- #set_sinusoidal ⇒ Object
- #set_soc ⇒ Object
- #set_state_plane(zone, override_unit_label = nil, override_unit_transform = 0.0, nad83: true) ⇒ Object
- #set_stereographic ⇒ Object
- #set_tm_variant ⇒ Object
- #set_tmg ⇒ Object
- #set_tmso ⇒ Object
- #set_towgs84(x_distance: nil, y_distance: nil, z_distance: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scaling_factor: 0.0) ⇒ Object
- #set_transverse_mercator(center_lat, center_long, scale, false_easting, false_northing) ⇒ Object (also: #set_tm)
- #set_utm(zone, north: true) ⇒ Object
- #set_vdg ⇒ Object
-
#set_vert_cs(name, datum_name, datum_type) ⇒ Object
Set the vertical coordinate system.
- #set_wagner ⇒ Object
-
#set_well_known_geog_cs(name) ⇒ Object
(also: #well_known_geog_cs=)
Set the GEOGCS based on a well-known name.
- #spheroid_inverse_flattening(return_wgs84_on_nil: false) ⇒ Float
- #towgs84 ⇒ Array<Float>
-
#utm_zone(hemisphere = :north) ⇒ Integer
The zone, or 0 if this isn’t a UTM definition.
Instance Method Details
#authority_code(target_key = nil) ⇒ String?
208 209 210 211 212 213 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 208 def (target_key = nil) code, ptr = FFI::OGR::SRSAPI.OSRGetAuthorityCode(@c_pointer, target_key) ptr.autorelease = false code end |
#authority_name(target_key = nil) ⇒ String?
219 220 221 222 223 224 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 219 def (target_key = nil) name, ptr = FFI::OGR::SRSAPI.OSRGetAuthorityName(@c_pointer, target_key) ptr.autorelease = false name end |
#axis(axis_number, target_key) ⇒ String?
322 323 324 325 326 327 328 329 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 322 def axis(axis_number, target_key) axis_orientation_ptr = FFI::MemoryPointer.new(:int) name = FFI::OGR::SRSAPI.OSRGetAxis(@c_pointer, target_key, axis_number, axis_orientation_ptr) ao_value = axis_orientation_ptr.read_int { name: name, orientation: FFI::OGR::SRSAPI::AxisOrientation[ao_value] } end |
#normalized_projection_parameter(name, default_value = 0.0) ⇒ Object
276 277 278 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 276 def normalized_projection_parameter(name, default_value = 0.0) FFI::OGR::SRSAPI.OSRGetNormProjParm(@c_pointer, name, default_value, nil) end |
#projection_parameter(name, default_value = 0.0) ⇒ Object
248 249 250 251 252 253 254 255 256 257 258 259 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 248 def projection_parameter(name, default_value = 0.0) value = default_value OGR::ErrorHandling.handle_ogr_err("Unable to get projection parameter '#{name}'") do ogr_err_ptr = FFI::MemoryPointer.new(:int) value = FFI::OGR::SRSAPI.OSRGetProjParm(@c_pointer, name, default_value, ogr_err_ptr) ogr_err_int = ogr_err_ptr.null? ? 0 : ogr_err_ptr.read_int FFI::OGR::Core::Err[ogr_err_int] end value end |
#semi_major(return_wgs84_on_nil: false) ⇒ Float
151 152 153 154 155 156 157 158 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 151 def semi_major(return_wgs84_on_nil: false) err_ptr = FFI::MemoryPointer.new(:int) value = FFI::OGR::SRSAPI.OSRGetSemiMajor(@c_pointer, err_ptr) ogr_err = FFI::OGR::Core::Err[err_ptr.read_int] wgs84_value = return_wgs84_on_nil ? value : nil ogr_err == :OGRERR_FAILURE ? wgs84_value : value end |
#semi_minor(return_wgs84_on_nil: false) ⇒ Float
165 166 167 168 169 170 171 172 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 165 def semi_minor(return_wgs84_on_nil: false) err_ptr = FFI::MemoryPointer.new(:int) value = FFI::OGR::SRSAPI.OSRGetSemiMinor(@c_pointer, err_ptr) ogr_err = FFI::OGR::Core::Err[err_ptr.read_int] wgs84_value = return_wgs84_on_nil ? value : nil ogr_err == :OGRERR_FAILURE ? wgs84_value : value end |
#set_ae ⇒ Object
336 337 338 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 336 def set_ae raise NotImplementedError end |
#set_albers_conic_equal_area ⇒ Object Also known as: set_acea
331 332 333 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 331 def set_albers_conic_equal_area raise NotImplementedError end |
#set_authority(target_key, authority, code) ⇒ Object
193 194 195 196 197 198 199 200 201 202 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 193 def (target_key, , code) OGR::ErrorHandling.handle_ogr_err("Unable to set authority: '#{target_key}', '#{}', '#{code}'") do FFI::OGR::SRSAPI.OSRSetAuthority( @c_pointer, target_key, , code ) end end |
#set_bonne ⇒ Object
340 341 342 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 340 def set_bonne raise NotImplementedError end |
#set_cea ⇒ Object
344 345 346 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 344 def set_cea raise NotImplementedError end |
#set_compound_cs(name, horizontal_spatial_ref, vertical_spatial_ref) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 94 def set_compound_cs(name, horizontal_spatial_ref, vertical_spatial_ref) horizontal_spatial_ref_ptr = GDAL._pointer(OGR::SpatialReference, horizontal_spatial_ref) vertical_spatial_ref_ptr = GDAL._pointer(OGR::SpatialReference, vertical_spatial_ref) OGR::ErrorHandling.handle_ogr_err("Unable to set compound CS '#{name}'") do FFI::OGR::SRSAPI.OSRSetCompoundCS( @c_pointer, name, horizontal_spatial_ref_ptr, vertical_spatial_ref_ptr ) end end |
#set_cs ⇒ Object
348 349 350 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 348 def set_cs raise NotImplementedError end |
#set_ec ⇒ Object
352 353 354 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 352 def set_ec raise NotImplementedError end |
#set_eckert ⇒ Object
356 357 358 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 356 def set_eckert raise NotImplementedError end |
#set_eckert_iv ⇒ Object
360 361 362 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 360 def set_eckert_iv raise NotImplementedError end |
#set_eckert_vi ⇒ Object
364 365 366 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 364 def set_eckert_vi raise NotImplementedError end |
#set_equirectangular ⇒ Object
368 369 370 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 368 def set_equirectangular raise NotImplementedError end |
#set_equirectangular2 ⇒ Object
372 373 374 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 372 def set_equirectangular2 raise NotImplementedError end |
#set_from_user_input(definition) ⇒ Object
52 53 54 55 56 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 52 def set_from_user_input(definition) # rubocop:disable Naming/AccessorMethodName OGR::ErrorHandling.handle_ogr_err("Invalid projection info given.") do FFI::OGR::SRSAPI.OSRSetFromUserInput(@c_pointer, definition) end end |
#set_gauss_schreiber_transverse_mercator ⇒ Object
392 393 394 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 392 def set_gauss_schreiber_transverse_mercator raise NotImplementedError end |
#set_gc ⇒ Object
376 377 378 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 376 def set_gc raise NotImplementedError end |
#set_geoc_cs(name) ⇒ Object Also known as: geoc_cs=
Set the user-visible PROJCS name.
32 33 34 35 36 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 32 def set_geoc_cs(name) # rubocop:disable Naming/AccessorMethodName OGR::ErrorHandling.handle_ogr_err("Unable to set GEOCCS to '#{name}'") do FFI::OGR::SRSAPI.OSRSetGeocCS(@c_pointer, name) end end |
#set_geog_cs(geog_name, datum_name, spheroid_name, semi_major, spheroid_inverse_flattening, prime_meridian, offset, angular_unit_label, transform_to_radians) ⇒ Object
Set the user-visible GEOGCS name.
120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 120 def set_geog_cs(geog_name, datum_name, spheroid_name, semi_major, spheroid_inverse_flattening, prime_meridian, offset, angular_unit_label, transform_to_radians) OGR::ErrorHandling.handle_ogr_err("Unable to set GEOGCS '#{name}'") do FFI::OGR::SRSAPI.OSRSetGeogCS( @c_pointer, geog_name, datum_name, spheroid_name, semi_major, spheroid_inverse_flattening, prime_meridian, offset, angular_unit_label, transform_to_radians ) end end |
#set_geos ⇒ Object
388 389 390 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 388 def set_geos raise NotImplementedError end |
#set_gh ⇒ Object
380 381 382 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 380 def set_gh raise NotImplementedError end |
#set_gnomonic ⇒ Object
396 397 398 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 396 def set_gnomonic raise NotImplementedError end |
#set_hom ⇒ Object
404 405 406 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 404 def set_hom raise NotImplementedError end |
#set_hom_2_pno ⇒ Object
408 409 410 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 408 def set_hom_2_pno raise NotImplementedError end |
#set_igh ⇒ Object
384 385 386 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 384 def set_igh raise NotImplementedError end |
#set_iwm_polyconic ⇒ Object
412 413 414 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 412 def set_iwm_polyconic raise NotImplementedError end |
#set_krovak ⇒ Object
416 417 418 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 416 def set_krovak raise NotImplementedError end |
#set_laea ⇒ Object
420 421 422 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 420 def set_laea raise NotImplementedError end |
#set_lcc ⇒ Object
424 425 426 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 424 def set_lcc raise NotImplementedError end |
#set_lcc_1sp ⇒ Object
428 429 430 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 428 def set_lcc_1sp raise NotImplementedError end |
#set_lccb ⇒ Object
432 433 434 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 432 def set_lccb raise NotImplementedError end |
#set_local_cs(name) ⇒ Object Also known as: local_cs=
Set the user-visible LOCAL_CS name.
10 11 12 13 14 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 10 def set_local_cs(name) # rubocop:disable Naming/AccessorMethodName OGR::ErrorHandling.handle_ogr_err("Unable to set LOCAL_CS to '#{name}'") do FFI::OGR::SRSAPI.OSRSetLocalCS(@c_pointer, name) end end |
#set_mc ⇒ Object
436 437 438 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 436 def set_mc raise NotImplementedError end |
#set_mercator ⇒ Object
440 441 442 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 440 def set_mercator raise NotImplementedError end |
#set_mollweide ⇒ Object
444 445 446 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 444 def set_mollweide raise NotImplementedError end |
#set_normalized_projection_parameter(param_name, value) ⇒ Object
264 265 266 267 268 269 270 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 264 def set_normalized_projection_parameter(param_name, value) msg = "Unable to set normalized projection parameter '#{param_name}' to '#{value}'" OGR::ErrorHandling.handle_ogr_err(msg) do FFI::OGR::SRSAPI.OSRSetNormProjParm(@c_pointer, param_name, value) end end |
#set_nzmg ⇒ Object
448 449 450 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 448 def set_nzmg raise NotImplementedError end |
#set_om ⇒ Object
400 401 402 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 400 def set_om raise NotImplementedError end |
#set_orthographic ⇒ Object
456 457 458 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 456 def set_orthographic raise NotImplementedError end |
#set_os ⇒ Object
452 453 454 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 452 def set_os raise NotImplementedError end |
#set_polyconic ⇒ Object
460 461 462 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 460 def set_polyconic raise NotImplementedError end |
#set_proj_cs(name) ⇒ Object Also known as: proj_cs=
Set the user-visible PROJCS name.
21 22 23 24 25 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 21 def set_proj_cs(name) # rubocop:disable Naming/AccessorMethodName OGR::ErrorHandling.handle_ogr_err("Unable to set PROJCS to '#{name}'") do FFI::OGR::SRSAPI.OSRSetProjCS(@c_pointer, name) end end |
#set_projection(projection_name) ⇒ Object Also known as: projection=
228 229 230 231 232 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 228 def set_projection(projection_name) # rubocop:disable Naming/AccessorMethodName OGR::ErrorHandling.handle_ogr_err("Unable to set projection to '#{projection_name}'") do FFI::OGR::SRSAPI.OSRSetProjection(@c_pointer, projection_name) end end |
#set_projection_parameter(param_name, value) ⇒ Object
238 239 240 241 242 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 238 def set_projection_parameter(param_name, value) OGR::ErrorHandling.handle_ogr_err("Unable to set projection parameter '#{param_name}' to #{value}") do FFI::OGR::SRSAPI.OSRSetProjParm(@c_pointer, param_name, value) end end |
#set_ps ⇒ Object
464 465 466 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 464 def set_ps raise NotImplementedError end |
#set_qsc ⇒ Object
525 526 527 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 525 def set_qsc raise NotImplementedError end |
#set_robinson ⇒ Object
468 469 470 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 468 def set_robinson raise NotImplementedError end |
#set_sinusoidal ⇒ Object
472 473 474 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 472 def set_sinusoidal raise NotImplementedError end |
#set_soc ⇒ Object
480 481 482 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 480 def set_soc raise NotImplementedError end |
#set_state_plane(zone, override_unit_label = nil, override_unit_transform = 0.0, nad83: true) ⇒ Object
307 308 309 310 311 312 313 314 315 316 317 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 307 def set_state_plane(zone, override_unit_label = nil, override_unit_transform = 0.0, nad83: true) OGR::ErrorHandling.handle_ogr_err("Unable to set state plane to zone #{zone}") do FFI::OGR::SRSAPI.OSRSetStatePlaneWithUnits( @c_pointer, zone, nad83, override_unit_label, override_unit_transform ) end end |
#set_stereographic ⇒ Object
476 477 478 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 476 def set_stereographic raise NotImplementedError end |
#set_tm_variant ⇒ Object
505 506 507 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 505 def set_tm_variant raise NotImplementedError end |
#set_tmg ⇒ Object
509 510 511 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 509 def set_tmg raise NotImplementedError end |
#set_tmso ⇒ Object
513 514 515 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 513 def set_tmso raise NotImplementedError end |
#set_towgs84(x_distance: nil, y_distance: nil, z_distance: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scaling_factor: 0.0) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 78 def set_towgs84(x_distance: nil, y_distance: nil, z_distance: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scaling_factor: 0.0) OGR::ErrorHandling.handle_ogr_err("No existing DATUM node") do FFI::OGR::SRSAPI.OSRSetTOWGS84( @c_pointer, x_distance, y_distance, z_distance, x_rotation, y_rotation, z_rotation, scaling_factor ) end end |
#set_transverse_mercator(center_lat, center_long, scale, false_easting, false_northing) ⇒ Object Also known as: set_tm
490 491 492 493 494 495 496 497 498 499 500 501 502 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 490 def set_transverse_mercator(center_lat, center_long, scale, false_easting, false_northing) msg = "Unable to set transverse mercator: " \ "#{center_lat}, #{center_long}, #{scale}, #{false_easting}, #{false_northing}" OGR::ErrorHandling.handle_ogr_err(msg) do FFI::OGR::SRSAPI.OSRSetTM( @c_pointer, center_lat, center_long, scale, false_easting, false_northing ) end end |
#set_utm(zone, north: true) ⇒ Object
283 284 285 286 287 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 283 def set_utm(zone, north: true) OGR::ErrorHandling.handle_ogr_err("Unable to set UTM to zome #{zone} (north: #{north})") do FFI::OGR::SRSAPI.OSRSetUTM(@c_pointer, zone, north) end end |
#set_vdg ⇒ Object
517 518 519 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 517 def set_vdg raise NotImplementedError end |
#set_vert_cs(name, datum_name, datum_type) ⇒ Object
Set the vertical coordinate system.
140 141 142 143 144 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 140 def set_vert_cs(name, datum_name, datum_type) OGR::ErrorHandling.handle_ogr_err("Unable to set vertical CS '#{name}'") do FFI::OGR::SRSAPI.OSRSetVertCS(@c_pointer, name, datum_name, datum_type) end end |
#set_wagner ⇒ Object
521 522 523 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 521 def set_wagner raise NotImplementedError end |
#set_well_known_geog_cs(name) ⇒ Object Also known as: well_known_geog_cs=
Set the GEOGCS based on a well-known name.
43 44 45 46 47 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 43 def set_well_known_geog_cs(name) # rubocop:disable Naming/AccessorMethodName OGR::ErrorHandling.handle_ogr_err("Unable to set GEOGCS to '#{name}'") do FFI::OGR::SRSAPI.OSRSetWellKnownGeogCS(@c_pointer, name) end end |
#spheroid_inverse_flattening(return_wgs84_on_nil: false) ⇒ Float
179 180 181 182 183 184 185 186 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 179 def spheroid_inverse_flattening(return_wgs84_on_nil: false) err_ptr = FFI::MemoryPointer.new(:int) value = FFI::OGR::SRSAPI.OSRGetInvFlattening(@c_pointer, err_ptr) ogr_err = FFI::OGR::Core::Err[err_ptr.read_int] wgs84_value = return_wgs84_on_nil ? value : nil ogr_err == :OGRERR_FAILURE ? wgs84_value : value end |
#towgs84 ⇒ Array<Float>
60 61 62 63 64 65 66 67 68 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 60 def towgs84 coefficients = FFI::MemoryPointer.new(:double, 7) OGR::ErrorHandling.handle_ogr_err("No TOWGS84 node available") do FFI::OGR::SRSAPI.OSRGetTOWGS84(@c_pointer, coefficients, 7) end coefficients.get_array_of_double(0, 7) end |
#utm_zone(hemisphere = :north) ⇒ Integer
Returns The zone, or 0 if this isn’t a UTM definition.
291 292 293 294 295 296 297 298 299 300 301 302 |
# File 'lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb', line 291 def utm_zone(hemisphere = :north) north = case hemisphere when :north then 1 when :south then 0 else raise "Unknown hemisphere type #{hemisphere}. Please choose :north or :south." end north_ptr = FFI::MemoryPointer.new(:bool) north_ptr.write_bytes(north.to_s) FFI::OGR::SRSAPI.OSRGetUTMZone(@c_pointer, north_ptr) end |