我正在寻找免费的地理数据类库。我需要转换不同格式的纬度/经度值(例如here),获取纬度/经度值之间的距离,范围内的坐标等。
Google向我展示了C++中的几个单一方法/函数,这不是问题。例子
我正在寻找的是一个更完整/更复杂的类库,其中包含一些文档和示例。有什么提示吗?
- 编辑 -
LatLong是Java语言中的此类库:http://www.movable-type.co.uk/scripts/latlong.html
还将检查(C++):http://geographiclib.sourceforge.net/html/annotated.html
-编辑2-
下面的转换方法是一个很好的入门,但是,如果还有其他不错的库,请告诉我。感谢所有的贡献者。
最佳答案
proj4是您的所需。这是一个严肃的 map 绘制工具,是成熟且受人尊敬的投影API。它主要用于在地理坐标(lat/lng)和平面(x,y)之间进行向前和向后转换。具有平面坐标的坐标几何要比具有地理坐标的几何简单得多。
文档不是最好的。因为它也可以用作独立程序,所以我将开始阅读man page以获得介绍。命令行开关与使用api时用于初始化结构的参数相同。然后阅读api docs-基本API函数下列出的函数调用很可能就是您所需要的。
编辑,将其作为对OP的注释开始:投影到平面坐标很吸引人,原因有很多:坐标比较是以线性单位而不是角度进行的。距离成为平凡的斜边计算。轴对齐的矩形易于使用。基本的直角三角函数可用于计算新点,例如前提是该区域的范围不是很大,例如大陆尺度-如果您的数据集在一个角度平方内(仍然很大),则可以采用这种方法。
关于c++ - 免费的C++地理数据类库(纬度/经度/距离/转换),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11458933/