Module: Proj

Defined in:
lib/proj.rb,
lib/api/api.rb,
lib/proj/crs.rb,
lib/proj/area.rb,
lib/proj/grid.rb,
lib/proj/unit.rb,
lib/proj/datum.rb,
lib/proj/error.rb,
lib/api/api_5_0.rb,
lib/api/api_5_1.rb,
lib/api/api_5_2.rb,
lib/api/api_6_0.rb,
lib/api/api_6_1.rb,
lib/api/api_6_2.rb,
lib/api/api_6_3.rb,
lib/api/api_7_0.rb,
lib/api/api_7_1.rb,
lib/api/api_7_2.rb,
lib/api/api_8_0.rb,
lib/api/api_8_1.rb,
lib/api/api_8_2.rb,
lib/api/api_9_1.rb,
lib/api/api_9_2.rb,
lib/api/api_9_4.rb,
lib/proj/bounds.rb,
lib/proj/context.rb,
lib/proj/session.rb,
lib/proj/strings.rb,
lib/proj/crs_info.rb,
lib/proj/database.rb,
lib/proj/file_api.rb,
lib/proj/axis_info.rb,
lib/proj/ellipsoid.rb,
lib/proj/grid_info.rb,
lib/proj/operation.rb,
lib/proj/parameter.rb,
lib/proj/pj_object.rb,
lib/proj/conversion.rb,
lib/proj/coordinate.rb,
lib/proj/grid_cache.rb,
lib/proj/parameters.rb,
lib/proj/pj_objects.rb,
lib/proj/projection.rb,
lib/proj/network_api.rb,
lib/proj/datum_ensemble.rb,
lib/proj/prime_meridian.rb,
lib/proj/transformation.rb,
lib/api/api_experimental.rb,
lib/proj/coordinate_system.rb,
lib/proj/coordinate_metadata.rb,
lib/proj/operation_factory_context.rb,
lib/proj/coordinate_operation_mixin.rb

Defined Under Namespace

Modules: Api, CoordinateOperationMixin, FileApiCallbacks, NetworkApiCallbacks, Projection Classes: Area, AxisInfo, Bounds, CelestialBody, Context, Conversion, Coordinate, CoordinateMetadata, CoordinateSystem, Crs, CrsInfo, Database, Datum, DatumEnsemble, Ellipsoid, Error, FileApiImpl, Grid, GridCache, GridInfo, NetworkApiImpl, Operation, OperationFactoryContext, Param, Parameter, Parameters, PjObject, PjObjects, PrimeMeridian, Session, Strings, Transformation, Unit

Class Method Summary collapse

Class Method Details

.degrees_minutes_seconds_to_radians(value) ⇒ Float

Convert string of degrees, minutes and seconds to radians.

see proj.org/development/reference/functions.html#c.proj_dmstor proj_dmstor

Parameters:

  • value (String)

    Value to be converted to radians

Returns:

  • (Float)


107
108
109
110
# File 'lib/proj.rb', line 107

def self.degrees_minutes_seconds_to_radians(value)
  ptr = FFI::MemoryPointer.new(:string)
  Api.proj_dmstor(value, ptr)
end

.degrees_to_radians(value) ⇒ Float

Converts degrees to radians

see proj.org/development/reference/functions.html#c.proj_torad proj_torad

Parameters:

  • value (Float)

    Value in degrees to convert

Returns:

  • (Float)


85
86
87
# File 'lib/proj.rb', line 85

def self.degrees_to_radians(value)
  Api.proj_torad(value)
end

.infoPJ_INFO

Returns information about the Proj library

Returns:

  • (PJ_INFO)

See Also:



45
46
47
# File 'lib/proj.rb', line 45

def self.info
  Api.proj_info
end

.init_file_info(file_name) ⇒ PJ_INIT_INFO

Return information about the specific init file

Parameters:

  • file_name (String)

    The name of the init file (not the path)

Returns:

  • (PJ_INIT_INFO)

See Also:



74
75
76
# File 'lib/proj.rb', line 74

def self.init_file_info(file_name)
  Api.proj_init_info(file_name)
end

.radians_to_degrees(value) ⇒ Float

Converts radians degrees

see proj.org/development/reference/functions.html#c.proj_todeg proj_todeg

Parameters:

  • value (Float)

    Value in radians to convert

Returns:

  • (Float)


96
97
98
# File 'lib/proj.rb', line 96

def self.radians_to_degrees(value)
  Api.proj_todeg(value)
end

.radians_to_degrees_minutes_seconds(value, positive = 'N', negative = 'S') ⇒ String

Convert radians to a string representation of degrees, minutes and seconds

Parameters:

  • value (Float)

    Value to be converted in radians

  • positive (String) (defaults to: 'N')

    Character denoting positive direction, typically ‘N’ or ‘E’. Default ‘N’

  • negative (String) (defaults to: 'S')

    Character denoting negative direction, typically ‘S’ or ‘W’. Default ‘S’

Returns:

  • (String)

See Also:



122
123
124
125
126
127
128
129
130
# File 'lib/proj.rb', line 122

def self.radians_to_degrees_minutes_seconds(value, positive='N', negative='S')
  ptr = FFI::MemoryPointer.new(:char, 100)
  if Api::PROJ_VERSION < Gem::Version.new('9.2.0')
    Api.proj_rtodms(ptr, value, positive.ord, negative.ord)
  else
    Api.proj_rtodms2(ptr, ptr.size, value, positive.ord, negative.ord)
  end
  ptr.read_string_to_null
end

.search_pathsArray<String>

Returns default search paths

Returns:

  • (Array<String>)

    List of search paths

See Also:



63
64
65
# File 'lib/proj.rb', line 63

def self.search_paths
  self.info[:searchpath].split(";")
end

.versionString

Returns the Proj version

Returns:

  • (String)

See Also:



54
55
56
# File 'lib/proj.rb', line 54

def self.version
  self.info[:version]
end