5

我正在寻找一个免费的地理数据类库。我需要转换不同格式的纬度/经度值(例如这里),获取纬度/经度值之间的距离,范围内的坐标等。

谷歌向我展示了 C++ 中的几个单一方法/函数,这不是问题。例子

  1. 计算保存在文本文件中的 2 个纬度和经度之间的距离?
  2. 经纬度:http: //www.codecogs.com/code/maths/geometry/spherical/latlong.php

我正在寻找的是一个更完整/更复杂的类库,其中包含一些文档和示例。有什么提示吗?

- 编辑 -

LatLong 在 Javascript 中就是这样一个库:http
://www.movable-type.co.uk/scripts/latlong.html 还会检查(C++): http: //geographiclib.sourceforge.net/html/annotated.html

-- 编辑 2 --

下面的转换方法是一个很好的开始,但是,如果有其他很棒的库,请告诉我。感谢所有做出贡献的人。

4

1 回答 1

6

proj4是您正在寻找的。它是一个严肃的绘图工具,成熟且备受推崇的投影 api。它主要用于在地理坐标 (lat/lng) 和平面 (x,y) 之间进行前向和后向转换。平面坐标的坐标几何比地理坐标简单得多。

文档不是最好的。因为它也可以用作独立程序,所以我会开始阅读手册页以获得介绍。命令行开关与使用 api 时用于初始化结构的参数相同。然后阅读api 文档——基本 API 函数下列出的函数调用很可能就是您所需要的。

编辑开始时对 OP 的评论:投影到平面坐标很有吸引力,原因有很多:坐标比较是线性单位而不是角度。距离变成了一个微不足道的斜边计算。轴对齐的矩形使用起来很直观。基本直角三角函数可用于计算新点,例如中点、偏移量等。这一切都是在该区域的范围不是很大的情况下,例如大陆规模 - 如果您的数据集在一个平方度范围内(那仍然是大)你会很好地使用这种方法。

于 2012-07-13T21:01:05.253 回答