GeoRegistry
Description
- Derived from
-
SerializableBase abstract
IGeoRegistry
The GeoRegistry stores geo-referencing metadata and provide lookup mechanism.
The following figure illustrates the geo registry object model:
+---------------+ | UnitOfMeasure | Units of measure for length, angle and scale +---------------+ | | +----------------+ Well-known geodetic datum, with defined | | GeodeticDatum | ellipsoid and prime meridian | +----------------+ | ^ | | +-----------+ | | Ellipsoid parameters, with length unit for +---> | Ellipsoid | ----+ | semi-major and semi-minor axes | +-----------+ | | | | | | +-----------+ | | Prime meridian, with angle unit for base +---> | Meridian | ----+ | longitude, relative to Greenwich | +-----------+ | | V | +-------------------------------+ A geographic coordinate system with +---> | CoordinateSystem (geographic) | longitude and latitude, specified in | +-------------------------------+ angle unit. | source target | | | | V V | +----------------+ Transformation between geographic coordinate | | DatumOperation | system using different datums. | +----------------+ | | +---------------------+ Coordinate operation that transforms between | | CoordinateOperation | geographic coordinates (latitude, longitude) | +---------------------+ and map coordinates (easting, northing) | | | V | +-------------------------------+ A projected coordinate system with easting +---> | CoordinateSystem (projected) | and northing, specified in length unit. | +-------------------------------+ | | +----------------+ | | VerticalDatum | Well-known vertical datum | +----------------+ | | | V | +------------------------------+ A vertical coordinate system, typically +---> | CoordinateSystem (vertical) | tied with geographic coordinate system. +------------------------------+
Public / Constructors
Load
2 overloads
Loads a geo registry from a file.
- IOException
-
If an I/O error has occurred.
- LicenceException
-
If LicenceDomain.Tinman is still locked.
Loads a geo registry from a stream.
- IOException
-
If an I/O error has occurred.
- LicenceException
-
If LicenceDomain.Tinman is still locked.
Public / Methods
Put
3 overloads
Puts all geo objects of the given other in geo registry into this one.
When a geo object is registered for the first time, the given code will become its primary code. Only primary codes are returned for reverse lookups. Registering the same geo object with more codes will only add aliases for the primary code.
Puts the given geo object into the registry, overwriting already existing mappings.
When a geo object is registered for the first time, the given code will become its primary code. Only primary codes are returned for reverse lookups. Registering the same geo object with more codes will only add aliases for the primary code.
Puts the given geo object into the registry, overwriting already existing mappings.
When a geo object is registered for the first time, the given code will become its primary code. Only primary codes are returned for reverse lookups. Registering the same geo object with more codes will only add aliases for the primary code.
Save
2 overloads
Saves this geo registry to a file.
- IOException
-
If an I/O error has occurred.
Saves this geo registry to a stream.
- IOException
-
If an I/O error has occurred.
Public / Attributes
BuiltIn
The built-in geo registry.
This registry only contains the implemented map projections and some commonly-used ellipsoids and units of measure.
Current
Returns the active geo registry for the calling thread.
The active geo registry is found by the following logic:
-
The registry that has been specified for the thread-local scope, by the innermost call pair to IGeoRegistry.CurrentLocalPush and CurrentLocalPop.
-
The registry that has been specified for the global scope, by the innermost call pair to IGeoRegistry.CurrentGlobalPush and CurrentGlobalPop.
-
The built-in registry, see BuiltIn.
- See also
CurrentInherit
Wraps the active registry of the calling thread, for being inherited by other threads.
This method returns a IBeginEnd object that calls IGeoRegistry.CurrentLocalPush and CurrentLocalPop for IBeginEnd.Begin and IBeginEnd.End, using the active registry of the calling thread, obtained via Current.