12 votos

Opciones de visualización de rásteres PostGIS en OpenLayers

Esta pregunta es similar a una anterior pregunta sobre la visualización de datos vectoriales en un mapa web. Quiero tener una interfaz web básica que utiliza OpenLayers y puede mostrar los datos raster que se encuentra actualmente en PostGIS, utilizando un mapa base como google. He instalado PostGIS2.0 con la librería raster y veo desde el documentación que hay varias opciones de salida de datos, como JPEG, GeoTIFF y PNG. ¿Hay algún formato que se recomiende utilizar?

Para mostrar los datos vectoriales actualmente estoy usando javascript para enviar las coordenadas desde el navegador del usuario a mi servidor, y luego realizar una consulta usando PHP/SQL en PostGIS. Los resultados se devuelven como GeoJSON que puede ser superpuesto en el mapa base. Me preguntaba si se podría aplicar un enfoque similar utilizando rásteres, pero no sé qué formato de ráster es el mejor, o si hay alguna otra restricción que deba considerar.

He visto muchas referencias a GeoServer pero no estoy seguro de que sea necesario para este proyecto (no estoy del todo seguro de cuándo se debe usar GeoServer o no).

13voto

FlySwat Puntos 61945

Rasters son imágenes Por lo tanto, el mejor formato será un formato de imagen (png/jpg/etc). Geojson es un buen formato para vectores . Nunca verás, por ejemplo, que tu foto de perfil de Facebook se devuelva como json puro. Por supuesto, devolver una url a una imagen como json es muy muy diferente :)

En cuanto a la discusión jpeg vs png vs cualquier otro formato de imagen, hay toneladas de diferentes opiniones al respecto . A lo que se reduce es a que algunos formatos de imagen son sin pérdidas mientras que otros son con pérdidas . Su decisión depende de lo que vaya a hacer con los datos. Para el análisis, es probable que no tolere la pérdida, pero para mostrar cosas en la web sí.

¿Puede PostGIS 2.0 generar imágenes? Claro, mira el Sección de salida de trama.

¿Es una buena idea? Realmente depende de lo que se haga. A veces la generación de imágenes puede llevar un tiempo realmente largo, y quieres almacenarlas en caché para evitar pagar el precio de generarlas cada vez que las solicitas a través de un entorno web. La única "caché" que puedes hacer en el lado de PostGIS es guardar los resultados en una tabla diferente y luego consultar la tabla en su lugar cuando la necesites. Geoserver tiene toda una infraestructura ( GeoWebCache ) para hacer esto.

¿Queréis? necesito GeoServer, probablemente no - pero hace la vida mucho más fácil cuando tienes este middleware que expone todos tus datos usando Servicios web OGC , hace caché , estilo de vectores y rásteres un montón de cosas más .

4voto

Celso Puntos 66

Servidor de mapas tiene soporte para rasters postgis y se dan instrucciones para una configuración básica aquí (punto 9.9).

En su caso, deberá configurar Mapserver para que funcione como un Servidor WMS para que devuelva los rasters de Postgis como capas WMS normales. A continuación, es casi trivial añadir las capas en su mapa OpenLayers utilizando un Capa del SGA objeto.

Este tipo de solución es probablemente la mejor opción porque está basada en software OpenSource, es una pila probada y no requiere un amplio middleware. Todo lo que mapserver necesita es un servidor web (el apache que probablemente ya esté usando para php está bien) que pueda ejecutar scripts cgi. Si el rendimiento no es un problema crítico, entonces puede evitar el uso de un (tile)cache y simplemente hacer que mapserver renderice las capas sobre la marcha cada vez.

Si desea almacenar en caché los mosaicos para minimizar la carga del servidor y mejorar los tiempos de respuesta, considere el uso de mapcache o tilecache . Mapcache es un proyecto hermano menor de Mapserver, pero debe supera a todas las demás cachés, ya que se ejecuta como un módulo de Apache.

Para los usuarios de Ubuntu, la forma más fácil de instalar las dependencias de Mapserver es añadir el archivo Ubuntu GIS PPA a su sistema.

0voto

Jorge Córdoba Puntos 18919

Todo depende. El tamaño de la imagen, el almacenamiento en caché, las bibliotecas disponibles (algunos controladores jp2k propietarios, por ejemplo).

Aquí hay un enlace a un impresionante pdf Geoserver con esteroides. Esto le llevará a través de los diferentes formatos, sus pros y sus contras y algunas configuraciones básicas.

0voto

Mark Puntos 471

Creo que me encuentro con un problema similar. Tengo algunos datos raster guardados en la tabla PostGIS Raster. Ahora quiero visualizarlos en mi página web, que está basada en Openlayers. Para los datos vectoriales, puedo utilizar Geoserver ya que tiene una función de fuente de datos PostGIS Vector. Pero no tengo ni idea de cómo enlazar el Geoserver con la tabla raster de PostGIS.

@ Ragi Yaser Burhum, ¿Cómo puedo añadir un recurso PostGIS Raster en Geoserver. He leído en Internet que Image Mosaic JDBC podría funcionar como alternativa a PostGIS Raster en Geoserver. Pero no he podido conseguir que funcione. ¿Alguna idea?

@djq. ¿Se ha solucionado tu problema? Por último, ¿qué servidor has utilizado? Mapserver o Geoserver, ¿podrías también darme más detalles?

Gracias de antemano.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X