【问题标题】:c++ library to convert from cartesian system to latitude, longitude and altitudec++ 库从笛卡尔系统转换为纬度、经度和高度
【发布时间】:2017-06-26 05:48:36
【问题描述】:

我正在寻找可用于将笛卡尔坐标或球坐标转换为地球周围的纬度、经度和高度的 c++ 库。但是,高度必须准确。这意味着图书馆在进行计算时不能满足于假设地球是球形的,它必须能够处理地球表面以上的高度。

到目前为止,我发现了两个库,它们看起来可能会这样做(GeographicLibGeoStarsLib),但它们似乎都是未经适当审查的小型项目。我会更喜欢一个更大的项目,或者一个我知道已经通过某种形式的审查的项目,这样我们就可以在没有详细测试的情况下信任输出。我确实找到了提升。地理,但据我所知,它不会计算地理高度。

谁能推荐其他图书馆?

谢谢

【问题讨论】:

    标签: c++ geolocation


    【解决方案1】:

    还可以查看 Proj.4 和 GDAL/OGR。我发现后者更有用,因为它包含 Proj.4,但添加了各种有用的功能来读取各种格式(包括投影定义)。回覆。球面近似值:Proj.4 将使用你扔给它的任何椭球体(Google 假设大多数东西都是球体)。

    【讨论】:

      【解决方案2】:

      我是上述图书馆之一 GeographicLib 的作者。您的 担忧当然是合理的。让我指出几个原因 为什么 GeographicLib 可能会满足您的需求:

      • GeographicLib 通过 Geocentric 类具有您想要的功能 (您还可以研究 LocalCartesian 和 Geoid 类)。

      • 该库由我积极维护。错误是罕见的并且是 通常在报告后的几天内修复。

      • 该库很小且独立。它不依赖于 十几个额外的库。

      • GeographicLib 遵循通常的准确度标准 高于 geotrans 或 proj.4。我通过比较来衡量错误 通过高精度计算获得的测试数据的结果,以及 我在文档中报告了这些错误。

      针对@rashad 的查询添加了注释: 报错的页面是 here。此页面还介绍了如何测量错误。

      【讨论】:

      • 来自您的回答“我在文档中报告了这些错误。” .您介意添加一个显示比较结果的链接吗?
      • 我在链接中添加了一条注释。
      • GeographicLib 是一个出色的库,在处理地理坐标和各种表示之间的转换时,我首先会考虑它。
      【解决方案3】:

      我想知道谷歌地图 API 是否可以提供您所寻求的:

      http://code.google.com/apis/earth/documentation/reference/interface_kml_point.html

      我在查看文档时看到对 KmlAltitutudeGeometry 的引用。

      【讨论】:

        猜你喜欢
        • 2010-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-30
        • 1970-01-01
        • 2020-07-04
        • 2023-03-29
        • 2013-02-07
        相关资源
        最近更新 更多