Estoy tratando de recortar un ECW grande (detalles a continuación) pero el archivo ráster es demasiado grande para ser procesado por completo.
Algunos detalles de la ECW a continuación
Controlador: Ondas comprimidas ECW / ERDAS (SDK 5.0)
tamaño de archivo: 50 gb El tamaño es 450000, 565081 Tamaño de píxel: 0.15 0.15 ESPACIO DE COLOR = RGB COMPRESSION_RATE_TARGET = 9 VERSION = 2 Número de bandas: 4
El área que quiero recortar es aproximadamente un 1/5 del archivo original.
Estos son los métodos que he probado sin éxito:
Usé Arcgis para guardar el ecw en tiff / otros formatos ... (rápidamente me di por vencido)
Usó Qgis y su herramienta de recorte ... la creación de archivos permaneció estancada en aproximadamente un 40%.
Usó gdal_translate de OSGeo4W con otras opciones que Qgis. (Intenté pensar que QUIZÁS liberar un poco de memoria sin usar Qgis sería el truco)
Usé gdal_retile pensando que cortaría la imagen en pedazos y agarraría la que quería. El comando "gdal_retile -ps 10000 10000 -of ecw -tileIndex tile.shp -targetDir input.ecw Esto se bloqueó aún más rápido"
¿Alguien tiene alguna idea?
Para obtener información, ejecuto Windows 7 64bits en un i5-3470 3.2Ghz con 16gb de ram.
Puede cortarlo directamente con la herramienta de gdal gdal_translate si conoce las coordenadas de su Área de interés, si está georreferenciada:
Si no usa la
-srswin
bandera así:gdal_translate -srcwin [xoff yoff xsize ysize] archivo de salida.
Otra opción es construir un ráster 'virtual' (de unos pocos kilobytes) que apunte a su conjunto de datos inicial, con gdalbuildvrt .
Desafortunadamente, necesitará un archivo georreferenciado para usar gdalbuildvrt.
Después de recortar, no olvides crear pirámides para una fácil visualización. El siguiente comando construirá pirámides externas comprimidas con el algoritmo DEFLATE (sin pérdida):
Como paso final, también puede calcular las estadísticas para evitar algunos problemas estúpidos con un programa comercial en particular:
fuente
gdaladdo -ro input.vrt 2 4 8 16
entoncesgdaladdo -ro --config COMPRESS_OVERVIEW DEFLATE input.vrt 2 4 8 16
. Mi objetivo es terminar con un ECW, así que intentégdal_translate -of ECW input.vrt output.ecw
y obtuve el siguiente error:0ERROR 6: GDALDriver::Create() ... no create method implemented for this format.
gdalinfo --formats
. Si no ve el ECW en la lista, pruebe esas instrucciones: faunalia.pt/node/438Un "clip" directo
gdalwarp
debería funcionar (sé que esta es una pregunta muy antigua: 18 meses IRL es como una época geológica en años de internet).Tengo una antena de 70 Gb (ECW, 94000x81000 píxeles a 10 cm / px), y GDAL puede recortarla arbitrariamente con un shapefile usando
gdalwarp -cutline [clipfile] -crop_to_cutline [infile] [outfile]
en la línea de comandos de Windows. (Me doy cuenta de que esta solución requiere construir un archivo de forma para el área de interés objetivo, pero ese no es el mayor desafío conocido por SIG).
Para extraer un fragmento del tamaño de un suburbio se necesitan ~ 0.4 segundos; cortar el archivo en cuartos requiere 4 segundos. Las especificaciones de mi máquina no son dramáticamente diferentes (i7-4770 @ 3.4GHz, 16GB RAM, Win7-64 Ultimate).
fuente