Tengo un gran archivo ráster (129600 por 64800 píxeles) con cuerpos de agua globales (valores de 1 bit 0 y 1) e intento extraer las costas de aguas continentales y oceánicas.
He intentado con ArcGIS y QGIS para convertir de ráster a polilínea, pero lleva años.
¿Alguien sabe una forma mejor / más rápida (Python o R) o una mejor herramienta para esta tarea?
Actualizar
- R: rasterToContour puede ser rápido y preciso, pero si tiene un conjunto de datos muy grande como el mío (8,398,080,000 píxeles) necesita una gran cantidad de RAM (más de 16 GB) o obliga a R a hacer más procesamiento en el disco duro y También llevará años.
- Python / GDAL: gdal_poligonize crea polígonos en lugar de polilíneas
Actualización 2
- R rasterToContour: rasterToContour no entrega los resultados deseados. En comparación con ArcGIS (ráster a polígono seguido de entidad a línea), no extrae el contorno exacto del píxel, como se muestra en los ejemplos a continuación.
ACTUALIZACIÓN 3
Python / GDAL: ejecuté gdal_polygonize desde la línea de comandos contra ArcGIS en un conjunto de datos de prueba y los resultados fueron extremadamente claros:
- gdal: 49 segundos
- ArcGIS: 1.84 segundos