使用Mapserver和Postgis可视化3D shapefile


17

我想知道有没有办法用mapserver可视化3d数据?3D .shp文件位于postgis数据库中,并且我已经将mapserver连接到数据库,但是mapfile中具有简单层。


对我来说,MapServer是一个Web映射服务器,无法使用它可视化3D数据。使用ArcGis Explorer,是的!

您想可视化什么样的数据,以及如何包含第三维?答案可能不是,但是根据您要执行的操作,可能会有解决方法。
SCW

我只想用3d线可视化我的水压贴图。类似于GRASS nviz函数。
2011年

Answers:


4

一种可行的方法可能是让PostGIS进行3D投影。几个月前,我做了一些简单的测试,以可视化即将出现的3D距离函数,例如ST_3DShortestLine。

我所做的只是使用ST_RotateX,ST_RotateY和ST_RotateZ来使3D几何“显示的比摄像机的顶面更多”。

更加优雅和有效的方法是使用ST_Affine进行所有转换。

我想通过对该功能的高级使用,也可以获得透视3D视图。

就我所尝试的而言,问题在于它只是围绕origo旋转所有东西。但这也应该可以解决。

这样,您应该使MapServer在视觉上像3D一样呈现数据,但是MapServer仅看到平坦的2D几何。

如果有人成功了,我会很感兴趣。我曾考虑过在postgisonline.org中以这种方式制作伪造的3D功能。但是我没有知识和时间来弄清楚应该如何使用ST_Affine进行转换以给出透视图并围绕mapextent的中心旋转而不是围绕origo旋转。

/尼克斯


6

MapServer不会为您做任何事情。您必须升级到最新版本才能有机会,因为以前的版本刚刚删除了数据库查询中的第3维。最好的选择是在那里尝试使用GeoServer和KML支持,看看是否可以在Google Earth中可视化。否则,请编写一些PHP脚本,以使用ST_AsKML()函数将数据从PostGIS中提取出来,并在整个过程中对其进行包装。虽然没有魔法!


3

您可以将催眠图绘制为Hillshade,然后覆盖3D线,以便仅看到2D数据。如果您想走得更远,则可以使用3D渲染软件将阴影从3D线投影到高度图上,这应该有助于给线带来高度的错觉。但是Mapserver本身并不会真正以3D形式显示事物

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.