我正在研究涉及一些GIS的應用程序。將會有一些.shp文件被讀取並繪製到opengl屏幕上。當前的opengl屏幕正在使用從glOrtho()
設置的正交投影,並且已經使用來自簡單文本文件的座標顯示地圖。使用GDAL/OGR api讀取矢量數據(shapefile) - 如何?
現在要繪製的地圖將從shapefile中讀取。
我有以下幾點疑惑:
如何使用.shp文件的WGS84投影(從shape文件,WKT格式的.prj文件讀取)到我現有的glOrtho投影..有沒有需要完成的轉換?它與glOrtho()的設置有什麼不同?基本上如何使用這些信息?
我的應用程序需要設置的方式,我可以知道一個點在地圖上的確切緯度/經度。例如。如果我在X城市徘徊,它的正確緯度/長度可能會被提取。我知道這可以通過使用像GDAL/OGR開源utils/apis來完成,但我很亂,因爲這些apis的文檔沒有進入我的頭。 我試圖找到一些示例C++ progs,但找不到一個。
我已經編寫了自己的邏輯從包含點/多段線/多邊形(使用C-shapelib)的shapefile讀取座標並繪製在我的opengl屏幕上。我在doc中找到了一個OGR示例代碼來讀取POINTS shapefile,但POLYGON shapefile沒有。問題是,這個應用程序必須是動態的,以便加載shapefile時,它應該正確設置opengl屏幕的投影,具體取決於被讀取的.shp文件的投影.eg WGS84,LCC,EVEREST MODIFIED ...等。如何從OGR api實現這一點?
請給你的投入就這個問題..我真的很渴望,使這項工作,但即時通訊沒有得到正確的開始..