2012-07-12 105 views
4

我正在尋找一個免費的地理數據類庫。我需要轉換緯度/經度值的不同格式(例如,作爲here),得到緯度/經度值之間的距離,座標範圍等C++中的免費地理數據類庫(Lat/Lng/distance/conversions)

谷歌顯示好幾個單的方法/在C函數++,這不是問題。例如

  1. Calculating the distance between 2 latitudes and longitudes that are saved in a text file?
  2. Lat Long網: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 -

下面的變換方法是一個很好的先發,但是,如果有其他偉大的庫存,請讓我知道。感謝所有參與貢獻的人。

回答

5

proj4是你在找什麼。這是一個認真的繪圖工具,成熟和備受推崇的投影API。它主要用於在地理座標(lat/lng)和平面(x,y)之間進行前向和後向轉換。座標幾何與平面座標比地理座標要簡單得多。

文檔不是最好的。因爲它也可以作爲一個獨立的程序使用,所以我開始閱讀man page以獲得介紹。命令行開關與使用api時用於初始化結構的參數相同。然後閱讀api docs--基本API函數下列出的函數調用可能就是您所需要的。

編輯什麼開始了作爲OP評論:投影到平面座標是有很多原因的吸引力:座標比較是那麼線性單位,而不是角。距離變成微不足道的斜邊計算。軸對齊的矩形可以直觀地使用。基本的直角三角法可以用來計算新的點,例如,中途偏移等等。這是所有提供的區域的範圍不是很大的,例如,大陸尺度 - 如果你的數據集在一個平方度內(這仍然很大),你可以用這種方法很好。

+0

會檢查出來,前向/後向投影的方法是一個有趣的方法,到目前爲止我還沒有想到。 – 2012-07-13 21:25:45