我想用webgl将我的2d geoJSON多边形更改为3D,以及如何更改Verticle?

时间:2017-10-11 02:42:22

标签: 3d webgl polygon

正如标题所说,我只是想用webgl将我的2d多边形改为3d。就像我地图上酒店的二维多边形一样。我想用webgl在3d中显示它。并且存在一些问题。 1.如何将多边形的坐标更改为3d。 2.如何获取将在webgl Vshadersource中使用的Verticle和索引。 我只需要你的帮助。非常感谢!!

2 个答案:

答案 0 :(得分:0)

这取决于您是想在普通地图(例如谷歌地图)或球体(例如谷歌地球)上显示多边形。

在第一种情况下,您只需选择一个projection并将GeoJSON中的测地线坐标转换为某个平面上的坐标。为了简单起见,我在这里为XY平面。其中最常用的是Mercator projection。它将给出3d点的X和Y分量,而Z应该只有0.之后你需要将多边形镶嵌成三角形(因为WebGL只能处理三角形)。为此,您可以使用现有的开源库,即mapbox-earcut

但是,不同的地图API可以开箱即用GeoJSON,即Mapbox。所以你最好不要使用其中一种。

在地球上显示地理多边形的问题非常复杂,使用像Cesium这样的引擎肯定会更好。

答案 1 :(得分:0)

我相信你可以在Melown的github中找到一些答案 - 这里有一个示例链接,显示3D中的GPX轨迹

https://github.com/Melown/vts-browser-js/wiki/Examples

最后一个示例显示了如何可视化GPX曲目