从Openstreetmap数据渲染3D地图可能相当繁琐。
但如果需求不像渲染世界上任何城市的3D那么苛刻呢?
如果我只需要渲染特定边界内的某个城市?要渲染的多边形应该不会太多,尤其是如果我选择仅渲染屏幕上实际可见的建筑和道路(我听说这种技术在游戏开发中被使用)。
我希望实现类似于this的效果,但仅使用简单的盒子表示具有近似高度但没有纹理的建筑物也可以。因此,基本上我只需要一个基于OSM的道路网络和简单的盒子来表示3D建筑。
因此,计划可能如下:
- 将OSM数据提取到.osm文件中;
- 在该文件中为每个建筑物添加“高度”数据(手动);
- 使用某种3D引擎从.osm文件渲染地图的3D视图(需要自定义解析器)。
这个计划可行吗?有没有开源的3D引擎可以用来/定制渲染OSM地图从.osm文件中?是否存在适用于Linux(OpenGL?)的3D引擎可以被[可能]定制以渲染OSM地图?