Más

Visualización de shapefiles 3D con Mapserver y Postgis

Visualización de shapefiles 3D con Mapserver y Postgis


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


Una forma de hacerlo podría ser dejar que PostGIS haga la proyección 3D. Hice algunas pruebas simples hace unos meses para visualizar las próximas funciones de distancia 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 a 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 por lo que he intentado esto es que simplemente está rotando todo alrededor de origo. Pero también debería ser posible una solución alternativa.

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

Si alguien tiene éxito con esto, me interesa. He pensado en hacer una funcionalidad 3D falsa de esta manera en postgisonline.org. Pero no tengo el conocimiento ni el tiempo para averiguar cómo se deben hacer las transformaciones con ST_Affine para dar una vista en perspectiva y rotar alrededor del centro del mapextent en lugar de rotar alrededor de origo.

/ Nicklas


MapServer no hará nada por usted. Tendría que actualizar 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 ajustar un poco de estilo en el camino. ¡Sin embargo, no hay magia disponible!


Puede representar su mapa hipsométrico como un sombreado y luego superponer las líneas 3D para que solo vea los datos 2D. Si desea ir más allá, es posible que pueda usar un software de renderizado 3D para proyectar sombras de las líneas 3D en el mapa hipsométrico, lo que debería ayudar a dar la ilusión de altura a sus líneas. Pero Mapserver en sí no mostrará realmente las cosas en 3D.


Ver el vídeo: Postgresql: Create Postgis database and import shapefiles.