首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用开源3D引擎从Openstreetmap数据渲染地图?

用开源3D引擎从Openstreetmap数据渲染地图?
EN

Stack Overflow用户
提问于 2012-02-28 15:08:05
回答 4查看 8.9K关注 0票数 6

从Openstreetmap数据绘制3D地图可能是相当累赘的。

但是,如果这些要求比世界上任何一座城市的3D渲染要求都要低呢?

如果我只需要渲染一个受特定边界限制的城市呢?不应该有很多多边形要渲染,特别是如果我选择只渲染那些建筑物和道路,实际上是在屏幕上看到(我听说这一技术是用于游戏开发)。

我希望实现一些类似,但它是好的,只有简单的盒子,为建筑物的近似高度和没有纹理。所以,基本上我只需要一个基于OSM的道路网络和简单的表示3D建筑物的盒子。

因此,该计划可以如下:

  • 将OSM数据提取到.osm文件中;
  • 将“高度”数据添加到此文件中的每个建筑物(手动);
  • 使用某种3D引擎从.osm文件呈现映射的3D视图(需要自定义解析器)。

这个计划可行吗?是否有任何开放源码的3D引擎,我可以使用/自定义从.osm文件呈现一个OSM映射?是否有任何与Linux兼容的(OpenGL?) 3D引擎可以进行定制以呈现OSM映射?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-29 00:01:58

请注意,在大多数地区,OpenStreetMap只在很多地方,道路和其他东西,但不是个别的建筑物。上次我是这样检查的,但这取决于你感兴趣的地区。

据我所知,没有现成的方法可以做到这一点,但如果你只想要简单的事情,它就不应该那么复杂。简介:

1 -Extract文件中的足印多边形数据。

2 -Project转换为您选择的笛卡儿,例如使用PROJ.4,因为osm坐标在lat-长。

3 -Triangulate,避免非凸多边形。

4 -Extrude你的三角多边形为每个边界边生成一个四角。

5 -Finally,您可以将生成的模型插入到您最喜欢的3d引擎(例如OpenSceneGraph )中,或者使用OpenGL自己呈现它们。

在那之后,你想要添加的东西越多,比如纹理,模型细节,它就越复杂。

票数 1
EN

Stack Overflow用户

发布于 2012-05-13 01:17:35

您可能想看看OSM2World。它是一个转换应用程序,读取各种文件格式的OSM数据并计算3D模型,同时考虑到建筑物的高度、屋顶形状和材料属性以及其他各种细节。它可以用内置的OpenGL查看器显示场景,也可以将模型导出为像.pov或.obj这样的格式,后者几乎可以被所有开源建模人员和引擎读取。

如果该地区的建筑物有很好的地图,场景如下:

还概述了三维开发社区中的OpenStreetMap活动,展示了其他一些工具。

票数 3
EN

Stack Overflow用户

发布于 2012-02-29 00:19:07

这里有几个开放源码项目,您可以适应您的需求(见下文),大多数是使用opengl,这也应该可以很好地满足您的需要。

我会先看看忧郁。它在做你想做的大部分事情。你可以看到它的一些屏幕截图,这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9484402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档