Geodetic Coordinate Conversions

Quick Link

The Peridetic open source project on github provides software developers with the two most essential and useful geodetic transformation capabilities – without the overhead of installing or learning a complex new data processing environment and, most significantly, without introducing unnecessary dependencies into your software development project.

Background

Conversion of spatial position descriptions between Geodetic Longitude, Latitude, and (ellipsoidal) Altitude (Geo/LLA) and Cartesian (ECEF/XYZ) coordinate expressions is ubiquitous in development of geographically aware engineering applications.

Adding this capability to software applications has typically required installing large and complex general-purpose geodesy and cartography packages, and their associated, often very large, supporting data sets. These large project introduce undesirable, and often unnecessary, dependencies into the product development effort of primary interest.

To address this problem, Stellacore has revisited the mathematics of this problem and how best to achieve accuracy, speed, and simplicity in implementation of the geodetic coordinate transformations. The results of the effort have been embodied in an open source software and published as the Peridetic repository on github.

Geodetic computations are associated with the ellipsoidal shape used to represent an underlying Figure of Earth. The associated mathematical structure is surprisingly rich, complex and numerically demanding. By addressing all of these issues, the Peridetic software offers geodetic transformations that produce extremely accurate results while also achieving high computational performance.

The Peridetic software is a simple ASCII header file implementation (C++) of the two essential, fundamental and most commonly required geodetic transformation capabilities: “LLA from XYZ” and “XYZ from LLA”. Peridetic produces results with national geodetic network class accuracy and precision while maintaining a very high runtime efficiency.

Perhaps best of all, the Peridetic implementation provides these essential development capabilities without the overhead of needing to install or learn a large, complex new environment, and without adding large, onerous and/or unnecessary software dependencies. Two header files, two transformation functions, and it’s back to business developing applications of primary interest.