Visualización de shapefiles 3D con Mapserver y Postgis

16

Me pregunto si hay una manera de visualizar datos en 3D con mapserver. Los archivos .shp 3D están en la base de datos postgis, y ya conecté mapserver a la base de datos, pero con una capa simple en el archivo de mapas.     

pregunta againstflow 12.06.2011 - 19:09

3 respuestas

4

Una forma de proceder podría ser permitir que PostGIS realice la proyección 3D. Hice algunas pruebas simples hace unos meses para visualizar las funciones de distancia en 3D como ST_3DShortestLine.

Lo que hice fue usar ST_RotateX, ST_RotateY y ST_RotateZ para hacer que la geometría 3D "muestre más que la parte superior de la cámara".

Más elegante y eficiente sería hacer todas las transformaciones con ST_Affine.

Con el uso avanzado de esa función, supongo que también sería posible obtener la vista 3D en perspectiva.

El problema, en la medida en que lo he intentado, es que simplemente gira todo alrededor de origo. Pero también debería ser posible solucionarlo.

De esta forma, debe hacer que MapServer presente sus datos visualmente como 3D, pero MapServer solo ve una geometría plana 2D.

Si alguien tiene éxito con esto, estoy interesado. He pensado en hacer una funcionalidad 3D falsa de esta manera en postgisonline.org. Pero no tengo conocimiento ni tiempo para descubrir cómo se deben hacer las transformaciones con ST_Affine para ofrecer una vista en perspectiva y para girar alrededor del centro del mapa en lugar de girar alrededor de origo.

/ Nicklas

    
respondido por el Nicklas Avén 28.06.2011 - 10:22
6

MapServer no va a hacer nada por ti. Tendría que actualizarse a la última versión para tener una oportunidad, ya que las versiones anteriores simplemente eliminaron la tercera dimensión en la consulta de la base de datos. Su mejor opción podría ser probar GeoServer y el soporte KML allí y ver si puede visualizar en Google Earth. O en su defecto, escriba un pequeño script PHP para extraer sus datos de PostGIS con la función ST_AsKML () y envuelva un poco de estilo en el camino. Aunque no hay magia disponible!

    
respondido por el Paul Ramsey 15.06.2011 - 20:11
3

Podrías renderizar tu mapa hipsométrico como un sombreado y luego superponer las líneas 3D para que solo veas los datos 2D. Si desea ir más lejos, puede usar el software de renderizado 3D para proyectar sombras de las líneas 3D en el mapa hipsométrico, lo que debería ayudar a dar una sensación de altura a sus líneas. Pero Mapserver en sí no va a mostrar realmente las cosas en 3D

    
respondido por el jvangeld 15.06.2011 - 20:43

Lea otras preguntas en las etiquetas