我正在研究涉及一些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实现这一点?
请给你的投入就这个问题..我真的很渴望,使这项工作,但即时通讯没有得到正确的开始..