Necesito crear los contornos poligonales de varias imágenes ráster de una sola capa, no el cuadro de extensión / límite, sino el área sin los valores de nodata, como se muestra aquí: ¿ Crear un archivo de forma que muestre las huellas de los rásteres? .
En la respuesta a la pregunta anterior, se mencionó el complemento Image Boundary , sin embargo, no lo encuentro en el QGIS 1.8.0 Lisboa, que se ejecuta en Ubuntu.
¿La herramienta aún está disponible?
Si no, ¿hay alguna manera de hacer esto usando herramientas de código abierto, ya sea gdal, R, QGIS, GRASS o similar, no con ArcMap?
Respuestas:
Puede agregar el antiguo repositorio donde haya complementos en el Repositorio oficial.
http://pyqgis.org/repo/contributed
El complemento de límite de imagen tiene la opción de calcular píxeles válidos, pero la imagen debe ser la escena completa, como CBERS o Landsat, donde este proceso calcula las primeras 4 esquinas. La imagen necesita tener nodos con valor CERO para el área sin imágenes (escaneada por un sensor satelital).
Autor del límite de imagen
fuente
Finalmente encontré una manera de hacer esto:
paso 1:
gdalwarp -dstnodata 0 -dstalpha -of GTiff foo1 foo2
Esto hace dos cosas importantes: establece los valores de destino Sin datos (borde exterior) en 0, y crea una banda alfa.
paso 2:
gdal_polygonize.py foo2 -b 2 -f "ESRI Shapefile" foo3
El segundo paso usa la banda alfa (banda 2), creada en el paso 1, y crea un archivo de forma a partir de esa banda.
Esto se puede escribir fácilmente en un script bash, si tiene muchas imágenes, para crear contornos exactos.
fuente
Utilicé
gdal_translate
según lo sugerido por el proyecto GDAL.fuente
El complemento Image Boundary tampoco funcionó para mí, por lo tanto, utilicé el mismo enfoque con GDAL. Sin embargo, solo funcionó para mí después de cambiar el primer paso a:
paso 1 :
gdalwarp -srcnodata 0 -dstalpha -of GTiff foo1 foo2
Estoy trabajando con la banda Landsat8 (donde no hay datos = 0) y cuando uso la
-dstnodata
función obtengo:BAND1 con ningún dato = '' no hay datos
BAND2 (banda alfa) = '255' para la escena entera / medida
mientras que con la
-srcnodata
función obtengo:BAND1 con ningún dato = 'no hay datos de los
BAND2 (alfa banda) sin datos = datos válidos 'no datos' y = '255', que permite entonces al polígono extracto para sólo datos válidos.
No podía entender completamente la razón detrás de este comportamiento (¿cómo se calcula alfa?), Pero espero que esto pueda ayudar a otros que enfrentan el mismo problema.
fuente
El límite de la imagen permaneció obsoleto. Puede usar el complemento Footprint. http://pt.slideshare.net/LuizMotta3/qgis-ibama-imagefootprint
fuente