geodetic_engine.geodesy¶
Coordinate transformation with the geodetic guarantees this package exists for.
Public entry points:
transform()– transform points in one call.Transformation– resolve once, transform many times.available_operations()– list every coordinate operation PROJ offers between two CRSs, to choose an operation from.CoordinateReferenceSystem– resolve a CRS and read the axis roles and units the EPSG dataset declares for it.TransformationResult– coordinates with the provenance that produced them.
Coordinate values are always ordered xy: longitude before latitude,
easting before northing, then height. A CRS’s EPSG-declared axis order is
reported separately, is often different, and is never silently reinterpreted.
Points are passed as plain lists, tuples or 2D numpy arrays – there is no
coordinate wrapper type to construct first. A result’s
coordinates behaves the same way on the way out
(indexing, iteration, equality), with
Coordinates’s to_list(),
to_numpy() and to_dataframe() added for exporting it in a specific
format.
Example
>>> from geodetic_engine.geodesy import transform
>>> result = transform(
... "EPSG:4258", "EPSG:25832", [(10.7522, 59.9139)],
... operation="EPSG:16032",
... )
>>> result.operation.authority_code
'EPSG:16032'
>>> result.target_axes, result.coordinate_order
(('E', 'N'), 'xy')
Functions¶
List every coordinate operation PROJ offers between two CRSs. |
|
Transform points between two CRSs in one call. |
Classes¶
Which coordinate operation was applied, against which was requested. |
|
The bounding box an operation or CRS is stated to be valid within. |
|
One axis of a CRS, exactly as the EPSG dataset declares it. |
|
A resolved CRS together with the axis roles and units it declares. |
|
Transformed coordinate values, one tuple per point. |
|
A grid file a transformation depends on. |
|
One coordinate operation PROJ offers for a CRS pair, not yet applied. |
|
A caller's request for a particular coordinate operation. |
|
How the transformer that will be used was arrived at. |
|
One substantive coordinate operation within a candidate. |
|
Something that states a coordinate operation outright. |
|
A resolved, reusable transformation between two CRSs. |
|
Transformed coordinates together with everything that produced them. |
Exceptions¶
No operation was requested and more than one defensible choice exists. |
|
The only path between the two CRSs is a ballpark approximation. |
|
An input coordinate is outside the range its axis can represent. |
|
Base class for all coordinate transformation failures. |
|
A time-dependent transformation was asked for without a coordinate epoch. |
|
The transformation needs a grid file that is not installed. |
|
A concatenated operation cannot be reduced to a single equivalent step. |
|
The requested EPSG coordinate operation cannot be applied to this pair. |
|
PROJ could not produce a finite result for one or more coordinates. |
|
An operation cannot be stated in the form a bound CRS requires. |
|
A CRS could not be constructed from the given input. |