¿Cuál es la mejor manera de mostrar una gran imagen aérea con GeoServer?


8

Tengo una imagen aérea, casi 1,5 GB, GeoTIFF, y he estado tratando de agregarla como una capa en GeoServer ...

Agregar la capa fue exitoso, pero el rendimiento fue muy malo.

Traté de almacenar en caché la capa usando GeoWebCache, y el rendimiento sigue siendo malo.

¿Algun consejo?

Respuestas:


13

Debe enlosar la imagen y agregar vistas generales para que la imagen completa nunca se lea en la memoria al mismo tiempo. GeoServer proporciona un almacén de datos de pirámide de imagen para este propósito.

Escribí estas notas describiendo cómo configuré esto en mi máquina. El paso clave es usar GDAL para construir la pirámide usando el siguiente comando:

mkdir bmpyramid
gdal_retile.py -v -r bilinear -levels 8 -ps 2048 2048 -co \
"TILED=YES" -targetDir bmpyramid \
bluemarble.tif

Dónde-

  • -v: salida detallada, permite al usuario ver el desplazamiento de la creación de cada archivo, sabiendo que se está progresando (una gran construcción piramidal puede llevar horas)
  • -r bilineal: utilice la interpolación bilineal al construir los niveles de resolución más bajos. Esta es la clave para obtener una buena calidad de imagen sin pedirle a GeoServer que realice interpolaciones costosas en la memoria
  • -niveles 8: el número de niveles en la pirámide
  • -ps 2048 2048: cada mosaico en la pirámide será un 2048x2048 GeoTIFF
  • -co "TILED = YES": cada mosaico GeoTIFF en la pirámide será mosaico interno
  • (No se usa aquí) -co “COMPRESS = JPEG”: cada mosaico GeoTIFF en la pirámide se comprimirá JPEG (se cambia por un tamaño pequeño para un mayor rendimiento, pruébelo sin este parámetro también)
  • -targetDir bmpyramid: construye la pirámide en el directorio bmpyramid. El directorio de destino debe existir y estar vacío.
  • bmreduced.tiff: el archivo fuente

Notas de utilidad para gdal_retile.py .


¿Cómo puedo obtener el gdal_retile.py (estoy ejecutando el geoserver en Windows XP)?
Mathboy

trac.osgeo.org/osgeo4w y siga las instrucciones de instalación rápida
Ian Turton

Ahora tengo un problema, he creado los mosaicos usando la herramienta gdal_retile.py, pero recibo el siguiente error de Geoserver al vincular la capa con la carpeta de mosaicos: ¿ Could not list layers for this store, an error occurred retrieving them: This plugin accepts only File, URL and String pointing to a filealguna sugerencia?
Mathboy

@iant, ¿la barra en esta pieza -co \ "TILED=YES"solo permite que la instrucción abarque un salto de línea en la ventana de comandos?
elrobis

3
Además, cuando use gdal_retile en Windows para procesar un ráster de área grande de alta resolución, recomiendo agregarlo -useDirForEachRow. De forma predeterminada, retile coloca todos los mosaicos que crea en la misma carpeta, y para grandes rásteres, esto crea una tremenda desaceleración una vez que tiene aproximadamente 350,000 mosaicos en la carpeta raíz. Por el contrario, -useDirForEachRowcoloca los mosaicos para cada fila en su propia carpeta debajo de la raíz del mosaico. Esto significa una gran velocidad en Windows. ¡Antes de que -useDirForEachRowun mosaico de imágenes de todo el condado (6 pulgadas) necesitara 2 meses para ejecutarse! Después de -useDir, el proceso completo se completaría de la noche a la mañana.
elrobis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.