Class: RGeo::CoordSys::CS::CoordinateSystem
- Defined in:
- lib/rgeo/coord_sys/cs/entities.rb
Overview
OGC spec description
Base interface for all coordinate systems.
A coordinate system is a mathematical space, where the elements of the space are called positions. Each position is described by a list of numbers. The length of the list corresponds to the dimension of the coordinate system. So in a 2D coordinate system each position is described by a list containing 2 numbers.
However, in a coordinate system, not all lists of numbers correspond to a position – some lists may be outside the domain of the coordinate system. For example, in a 2D Lat/Lon coordinate system, the list (91,91) does not correspond to a position.
Some coordinate systems also have a mapping from the mathematical space into locations in the real world. So in a Lat/Lon coordinate system, the mathematical position (lat, long) corresponds to a location on the surface of the Earth. This mapping from the mathematical space into real-world locations is called a Datum.
Notes
This is a non-instantiable abstract class. You must instantiate one of the subclasses GeocentricCoordinateSystem, GeographicCoordinateSystem, ProjectedCoordinateSystem, VerticalCoordinateSystem, LocalCoordinateSystem, or CompoundCoordinateSystem.
Direct Known Subclasses
CompoundCoordinateSystem, GeocentricCoordinateSystem, HorizontalCoordinateSystem, LocalCoordinateSystem, VerticalCoordinateSystem
Instance Attribute Summary collapse
-
#dimension ⇒ Object
readonly
Dimension of the coordinate system.
Attributes inherited from Info
#abbreviation, #alias, #authority, #authority_code, #name, #remarks
Instance Method Summary collapse
-
#get_axis(_dimension_) ⇒ Object
Gets axis details for dimension within coordinate system.
-
#get_units(_dimension_) ⇒ Object
Gets units for dimension within coordinate system.
-
#initialize(name_, dimension_, *optional_) ⇒ CoordinateSystem
constructor
:nodoc:.
Methods inherited from Info
Methods inherited from Base
#_to_wkt, #encode_with, #eql?, #hash, #init_with, #inspect, #marshal_dump, #marshal_load, #to_s, #to_wkt
Constructor Details
#initialize(name_, dimension_, *optional_) ⇒ CoordinateSystem
:nodoc:
894 895 896 897 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 894 def initialize(name_, dimension_, *optional_) # :nodoc: super(name_, *optional_) @dimension = dimension_.to_i end |
Instance Attribute Details
#dimension ⇒ Object (readonly)
Dimension of the coordinate system
900 901 902 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 900 def dimension @dimension end |
Instance Method Details
#get_axis(_dimension_) ⇒ Object
Gets axis details for dimension within coordinate system. Each dimension in the coordinate system has a corresponding axis.
905 906 907 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 905 def get_axis(_dimension_) nil end |
#get_units(_dimension_) ⇒ Object
Gets units for dimension within coordinate system. Each dimension in the coordinate system has corresponding units.
912 913 914 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 912 def get_units(_dimension_) nil end |