I'm looking for either a library suite that replicates capabilities across platforms (C++, JavaScript, Python) that can do

  • Topocentric transforms (to/from East North Up/ENU)
  • Geographic transforms (to/from lat lon alt/LLA)
  • Geocentric transforms (to/from earth centered earth fixed/ECEF)

Right now, I'm looking at PROJ, however PROJ 8.0.0 currently doesn't work with VCPKG, topographic transforms were added in a later release (8.0.0 +) than what is available there (7.2.1), and those topographic transforms contain nasty text embeddings for the position for the topographic transform anchor.

Whats more, is that while PROJ exists with Python and JavaScript analogs (why I considered it in the first place), those analogs do not keep up to date with the mainline PROJ project, so python lacks topocentric transforms, and I believe PROJ4.js also lacks those transforms.

An alternative would be a heterogeneous set of libraries, but I've found that unless I can verify that the transforms are equivalent with all libraries, it becomes very hard to trust the code (and leads to the source itself being a source of errors). PROJ takes lon/lat by default (in older versions), while all other libraries do the opposite. Some libraries think in terms of negative lon, others don't.

Right now I can't find any substantial group of libraries that do these three simple things and I can verify all use the same type of transforms.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.