Class: Proj::PrimeMeridian
- Defined in:
- lib/proj/prime_meridian.rb
Class Method Summary collapse
-
.built_in ⇒ Object
Returns a list of Prime Meridians that are built into Proj.
Instance Method Summary collapse
-
#longitude ⇒ Float
Returns the longitude of the prime meridian in its native unit.
-
#parameters ⇒ Hash
Returns prime meridian parameters.
-
#unit_conv_factor ⇒ Float
Returns the conversion factor of the prime meridian longitude unit to radians.
-
#unit_name ⇒ String
Returns the unit name.
Methods inherited from PjObject
#accuracy, #angular_input?, #angular_output?, #area_of_use, #auth, #auth_name, #context, #context=, create, create_from_database, create_from_name, create_from_wkt, #definition, #degree_input?, #degree_output?, #deprecated?, #description, #equivalent_to?, #errno, #errorno, #factors, #geod_distance, #has_inverse?, #id, #id_code, #info, #initialize, #initialize_copy, #lp_distance, #lpz_distance, #name, #non_deprecated, #proj_type, #remarks, #scope, #source_crs, #target_crs, #to_json, #to_proj_string, #to_ptr, #to_s, #to_wkt, #xy_distance, #xyz_distance
Constructor Details
This class inherits a constructor from Proj::PjObject
Class Method Details
.built_in ⇒ Object
Returns a list of Prime Meridians that are built into Proj. A more comprehensive list is stored in the Proj database and can be queried via PjObject#create_from_database
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/proj/prime_meridian.rb', line 5 def self.built_in pointer_to_array = FFI::Pointer.new(Api::PJ_PRIME_MERIDIANS, Api.proj_list_prime_meridians) result = Array.new 0.step do |i| prime_meridian_info = Api::PJ_PRIME_MERIDIANS.new(pointer_to_array[i]) break result if prime_meridian_info[:id].nil? result << prime_meridian_info end result end |
Instance Method Details
#longitude ⇒ Float
Returns the longitude of the prime meridian in its native unit
44 45 46 |
# File 'lib/proj/prime_meridian.rb', line 44 def longitude self.parameters[:longitude] end |
#parameters ⇒ Hash
Returns prime meridian parameters
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/proj/prime_meridian.rb', line 21 def parameters @parameters ||= begin out_longitude = FFI::MemoryPointer.new(:double) out_unit_conv_factor = FFI::MemoryPointer.new(:double) out_unit_name = FFI::MemoryPointer.new(:string) result = Api.proj_prime_meridian_get_parameters(self.context, self, out_longitude, out_unit_conv_factor, out_unit_name) if result != 1 Error.check_object(self) end {longitude: out_longitude.read_double, unit_conv_factor: out_unit_conv_factor.read_double, unit_name: out_unit_name.read_pointer.read_string_to_null} end end |
#unit_conv_factor ⇒ Float
Returns the conversion factor of the prime meridian longitude unit to radians
53 54 55 |
# File 'lib/proj/prime_meridian.rb', line 53 def unit_conv_factor self.parameters[:unit_conv_factor] end |
#unit_name ⇒ String
Returns the unit name
62 63 64 |
# File 'lib/proj/prime_meridian.rb', line 62 def unit_name self.parameters[:unit_name] end |