opengl - 我想使用 openStreetMap 数据在 openGL 中渲染道路,我应该从哪里开始?

标签 opengl maps geocoding openstreetmap

我的想法是,用户将选择他/她想要生成道路的世界部分并检索 openStreetMap 数据并使用它在 openGL 中渲染道路。

在网上搜索和试验时,我想到了这种方法:

  1. 获取所选 map 的 xml 文件
  2. 解析 xml 并通过 openGL 生成道路。

但我认为这是非常幼稚的做法。

为了进行一些实验,我使用 OSM2WorldViewer 将 xml 文件转换为 obj 文件,并将其作为模型导入到 openGL 中,但这种方法很麻烦并且需要时间

the screenshot

我不熟悉 OpenStreetMap api 以及如何在这样的项目中使用它。 有什么建议或有用的链接如何启动这个项目?

编辑:它是如何结束的:Link to the project wiki

最佳答案

为什么你认为你的方法很幼稚?您要么让用户提供自行下载的 XML 文件,要么您必须使用 API 自行检索该文件。后一种方法允许您在用户平移 map 时实现自动更新机制。

而不是 main API您可以使用 Overpass API用于下载数据。它使用起来更快、更灵活,允许指定要下载的元素类型(例如仅道路和建筑物)等等。

您已经提到了OSM2World ,查看其免费提供的代码,了解 3D OpenGL 渲染器的示例实现。或者看看其他之一 3D renderers对于 OSM。

关于opengl - 我想使用 openStreetMap 数据在 openGL 中渲染道路,我应该从哪里开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927142/

相关文章:

c++ - 如何使用 glDrawElements() 绘制硬表面立方体?

java - 我应该在 Java 中用什么替换小结构?

mysql - 哪个 FOSS RDBMS 用于地理空间数据?

delphi - 全局轮换

c - 关于逐像素渲染位图算法的建议

javascript - D3 向缩放 map 添加元素

c++ - C++中的 map 数据结构

python - 从 GeoPy 地理编码器返回单个地址组件(城市、州等)

android - 地理编码不起作用 - Genymotion

c++ - OpenGL GLut 在 Windows 8 64 位上与 Visual Studio 2013 的链接问题