Module: RGeo::CoordSys::CS

Defined in:
lib/rgeo/coord_sys/cs/factories.rb,
lib/rgeo/coord_sys/cs/entities.rb,
lib/rgeo/coord_sys/cs/wkt_parser.rb

Overview

This module contains an implementation of the CS (coordinate systems) package of the OGC Coordinate Transform spec. It provides classes for representing ellipsoids, datums, coordinate systems, and other related concepts, as well as a parser for the WKT format for specifying coordinate systems.

Generally, the easiest way to create coordinate system objects is to use RGeo::CoordSys::CS.create_from_wkt, which parses the WKT format. You can also use the create methods available for each object class.

Most but not all of the spec is implemented here. Currently missing are:

  • XML format is not implemented. We’re assuming that WKT is the preferred format.

  • The PT and CT packages are not implemented.

  • FittedCoordinateSystem is not implemented.

  • The defaultEnvelope attribute of CS_CoordinateSystem is not implemented.

Defined Under Namespace

Classes: AngularUnit, AxisInfo, Base, CompoundCoordinateSystem, CoordinateSystem, CoordinateSystemFactory, Datum, Ellipsoid, GeocentricCoordinateSystem, GeographicCoordinateSystem, HorizontalCoordinateSystem, HorizontalDatum, Info, LinearUnit, LocalCoordinateSystem, LocalDatum, PrimeMeridian, ProjectedCoordinateSystem, Projection, ProjectionParameter, Unit, VerticalCoordinateSystem, VerticalDatum, WGS84ConversionInfo, WKTParser

Constant Summary collapse

AO_OTHER =

An axis orientation constant for AxisInfo. Unknown or unspecified axis orientation. This can be used for local or fitted coordinate systems.

0
AO_NORTH =

An axis orientation constant for AxisInfo. Increasing ordinates values go North. This is usually used for Grid Y coordinates and Latitude.

1
AO_SOUTH =

An axis orientation constant for AxisInfo. Increasing ordinates values go South. This is rarely used.

2
AO_EAST =

An axis orientation constant for AxisInfo. Increasing ordinates values go East. This is rarely used.

3
AO_WEST =

An axis orientation constant for AxisInfo. Increasing ordinates values go West. This is usually used for Grid X coordinates and Longitude.

4
AO_UP =

An axis orientation constant for AxisInfo. Increasing ordinates values go up. This is used for vertical coordinate systems.

5
AO_DOWN =

An axis orientation constant for AxisInfo. Increasing ordinates values go down. This is used for vertical coordinate systems.

6
HD_MIN =

A datum type constant for HorizontalDatum. Lowest possible value for horizontal datum types.

1000
HD_OTHER =

A datum type constant for HorizontalDatum. Unspecified horizontal datum type. Horizontal datums with this type should never supply a conversion to WGS84 using Bursa Wolf parameters.

1000
HD_CLASSIC =

A datum type constant for HorizontalDatum. These datums, such as ED50, NAD27 and NAD83, have been designed to support horizontal positions on the ellipsoid as opposed to positions in 3-D space. These datums were designed mainly to support a horizontal component of a position in a domain of limited extent, such as a country, a region or a continent.

1001
HD_GEOCENTRIC =

A datum type constant for HorizontalDatum. A geocentric datum is a “satellite age” modern geodetic datum mainly of global extent, such as WGS84 (used in GPS), PZ90 (used in GLONASS) and ITRF. These datums were designed to support both a horizontal component of position and a vertical component of position (through ellipsoidal heights). The regional realizations of ITRF, such as ETRF, are also included in this category.

1002
HD_MAX =

A datum type constant for HorizontalDatum. Highest possible value for horizontal datum types.

1999
VD_MIN =

A datum type constant for VerticalDatum. Lowest possible value for vertical datum types.

2000
VD_OTHER =

A datum type constant for VerticalDatum. Unspecified vertical datum type.

2000
VD_ORTHOMETRIC =

A datum type constant for VerticalDatum. A vertical datum for orthometric heights that are measured along the plumb line.

2001
VD_ELLIPSOIDAL =

A datum type constant for VerticalDatum. A vertical datum for ellipsoidal heights that are measured along the normal to the ellipsoid used in the definition of horizontal datum.

2002
VD_ALTITUDE_BAROMETRIC =

A datum type constant for VerticalDatum. The vertical datum of altitudes or heights in the atmosphere. These are approximations of orthometric heights obtained with the help of a barometer or a barometric altimeter. These values are usually expressed in one of the following units: meters, feet, millibars (used to measure pressure levels), or theta value (units used to measure geopotential height).

2003
VD_NORMAL =

A datum type constant for VerticalDatum. A normal height system.

2004
VD_GEOID_MODE_DERIVED =

A datum type constant for VerticalDatum. A vertical datum of geoid model derived heights, also called GPS-derived heights. These heights are approximations of orthometric heights (H), constructed from the ellipsoidal heights (h) by the use of the given geoid undulation model (N) through the equation: H=h-N.

2005
VD_DEPTH =

A datum type constant for VerticalDatum. This attribute is used to support the set of datums generated for hydrographic engineering projects where depth measurements below sea level are needed. It is often called a hydrographic or a marine datum. Depths are measured in the direction perpendicular (approximately) to the actual equipotential surfaces of the earth’s gravity field, using such procedures as echo-sounding.

2006
VD_MAX =

A datum type constant for VerticalDatum. Highest possible value for vertical datum types.

2999
LD_MIN =

A datum type constant for LocalDatum. Lowest possible value for local datum types.

10_000
LD_MAX =

A datum type constant for LocalDatum. Highest possible value for local datum types.

32_767

Class Method Summary collapse

Class Method Details

.create_from_wkt(str_) ⇒ Object

Parsees OGC WKT format and returns the object created. Raises Error::ParseError if a syntax error is encounterred.



142
143
144
# File 'lib/rgeo/coord_sys/cs/factories.rb', line 142

def create_from_wkt(str_)
  WKTParser.new(str_).parse
end