¿Cómo importar GeoTIFF a través de postGIS en GeoServer?

10

Como un caso de prueba simple, estoy tratando de configurar la pila de software de OpenGeo para poder mostrar un GeoTIFF como una superposición a un mapa normal como OSM. Entonces realizo los siguientes pasos:

  1. Crear una base de datos espaciales con postGIS
  2. Cargue el GeoTIFF en la base de datos
  3. Importar la base de datos a GeoServer
  4. Previsualice como una superposición de mapa en GeoServer (por ejemplo, con GeoExplorer u OpenLayers)

A diferencia de una importación directa de GeoTIFF a Geoserver (que funciona de manera formidable), la tabla importada desde la base de datos está marcada como "datos vectoriales" y no como "datos ráster" en la aplicación web GeoServer. En la Vista previa de capa, GeoExplorer no muestra nada de GeoTIFF y OpenLayers devuelve un archivo WMS que informa de ServiceExeption:

The requested Style can not be used with this layer.
The style specifies an attribute of geom and the layer is: opengeo:test

Creo que la solución es bastante simple, pero parece que no entiendo cómo GeoServer interpreta los datos ráster almacenados en postGIS.

¿Alguien puede decirme qué punto me estoy perdiendo?


Mis pasos en detalle:

  1. Cree una base de datos espaciales con postGIS como se documenta, tomando template_postgiscomo plantilla y puerto 5432 mientras opero en Ubuntu 12.04.
  2. Cargue el GeoTIFF en la base de datos desde la línea de comandos usando raster2pgsqlcomo en ( http://suite.opengeo.org/docs/dataadmin/pgGettingStarted/raster2pgsql.html )

    raster2pgsql -I -C -s 32632 test.tif public.testTable
    | psql -d test -h localhost -U opengeo

    dónde

    • -I: marca para crear el índice espacial GiST para el rendimiento
    • -C: marca para aplicar las restricciones ráster
    • -s 32632: SRID de test.tifinformado por herramientagdalinfo
    • test.tif: prueba adecuada GeoTIFF
    • public.testTable: nueva tabla en el esquema de destino
    • -d test: base de datos habilitada espacialmente
    • -U opengeo: propietario de la base de datos (nombre de usuario estándar)
  3. Importe la base de datos a GeoServer como se describe en el taller oficial
xandriksson
fuente

Respuestas:

7

Instale el complemento Image Mosaic JDBC

Una página web de GeoServer sugiere la raíz del problema:

GeoServer no viene integrado con soporte para columnas ráster Postgis, debe instalarse a través de una extensión. Vaya a Image Mosaic JDBC para obtener detalles de la instalación. Esta extensión incluye el soporte para el raster Postgis.

Seguí las complejas instrucciones de configuración allí y logré agregar una fuente de datos ráster ImageMosaicJDBC a mi GeoServer.

Convierta el GeoTIFF a 8 bits

Cuando se trata de servir / previsualizar la capa, los datos no se muestran correctamente, como también lo experimentó otro usuario [1]. Como se describe allí, una conversión previa del archivo GeoTIFF del tipo de datos INT16 a BYTE resolvió el problema (al precio de menor profundidad de color). La conversión se puede hacer usando la herramienta de línea de comandos gdal_translate :

$ gdal_translate -ot BYTE input.tif output.tif

Conclusión

Necesita utilizar el engorroso complemento ImageMosaicJDBC y GeoTiffs de 8 bits para que funcione. No descubrí por qué los módulos de vista previa (openLayer, GeoExt, vista previa JPEG, ...) no funcionan con una profundidad de color de 16 bits. Por el momento, estoy de acuerdo con el comentario de que "el ráster PostGIS aún no tiene ese nivel de uso de producción" [2].


[1] imagen de vista previa en blanco para la capa ImageMosaicJDBC (postgis raster) .

[2] Datos ráster en PostGIS

xandriksson
fuente