C++ 在opengl中渲染具有地理坐标系的形状文件

C++ 在opengl中渲染具有地理坐标系的形状文件,c++,opengl,arcgis,map-projections,gis,C++,Opengl,Arcgis,Map Projections,Gis,正如您所知,我们在GIS中有两种坐标系:地理坐标系和投影坐标系 考虑这些情况: 我的意思是,我有一个具有投影坐标系的形状文件 顶点的坐标在PCS中,因此没有问题 我可以使用GDAL/OGR库提取顶点,然后在中显示它们 带有正交投影的OpenGL。因为坐标在 米,它们被投影到二维平面上,不会有问题 我想 数据源有一个地理坐标系,我只想 要在投影坐标系中渲染它,我必须 使用PROJ.4库进行转换,然后渲染转换后的 OpenGL中的坐标。我再次认为不会有问题,因为 我要显示的坐标是投影在2D平面上的

正如您所知,我们在GIS中有两种坐标系:地理坐标系投影坐标系
考虑这些情况:

  • 我的意思是,我有一个具有投影坐标系的形状文件 顶点的坐标在PCS中,因此没有问题 我可以使用GDAL/OGR库提取顶点,然后在中显示它们 带有正交投影的OpenGL。因为坐标在 米,它们被投影到二维平面上,不会有问题 我想

  • 数据源有一个地理坐标系,我只想 要在投影坐标系中渲染它,我必须 使用PROJ.4库进行转换,然后渲染转换后的 OpenGL中的坐标。我再次认为不会有问题,因为 我要显示的坐标是投影在2D平面上的areb

  • 数据源有一个地理坐标系,我想 在OpenGL窗口的相同GCS中渲染它们。所以我提取 地理坐标系中GDAL/OGR的坐标 没有任何转换,我将在OpenGL中渲染它们。我怎么能 实现这一目标?我的意思是我如何在一个平面上建立一个椭球面 OpenGL窗口就像ArcGIS一样在地理视图中渲染数据 坐标系


您是否试图同时显示来自不同坐标系的坐标?或者只是地理坐标?如果是前者,你必须至少投影其中的一部分,这样所有坐标都在同一个SR中。如果是后者……为什么不把它显示为x-y数据呢?不,对于前两段我没有任何问题。在第三部分中,一次显示的所有图层都在同一个地理坐标系中,但正如您所知,地理坐标位于椭球体上,我只想知道如何使我的OpenGL在平面显示器上显示这些坐标。记住,当我在屏幕上移动鼠标时,我希望原始坐标以十进制度数显示在状态栏上。感谢@Juffy的关注,“我只是想知道如何让我的OpenGL在平面显示器上显示这样的坐标。”-我想我不知道问题出在哪里。或者使用十进制度数作为x-y单位渲染它们,就像使用PC一样(惰性方式:),或者必须以某种方式进行投影。这就是投影——使3D表面看起来平坦。