Más

¿Cómo 'invertir' o 'revertir' una línea de corte vectorial al deformar un ráster?

¿Cómo 'invertir' o 'revertir' una línea de corte vectorial al deformar un ráster?


Tengo una trama de América del Norte y me gustaría retirar los lagos más grandes, reemplazándolos con el mismo valor sin datos que el ráster original.

Así que descargué los datos vectoriales de lagos de 10 metros de Natural Earth, que tienen lagos convenientemente clasificados por rango de escala: 0 para lagos grandes como los Grandes Lagos, y rangos de mayor escala para lagos menores.

Lo más cercano con lo que he venidogdalwarpes:

$ gdalwarp -cutline Data / ne_10m_lakes / ne_10m_lakes.shp  -csql "SELECCIONAR * DE ne_10m_lakes DONDE scalerank = 0"  INPUT.tif lakes-only.tif

Esto realmente hace opuesto de lo que quiero mantiene solo las partes de los Grandes Lagos de mi ráster, reemplazando todos los demás píxeles que no son del lago con el valor sin datos.

Mi pregunta: ¿cómo puedo invertir la línea de corte, por lo que en lugar de colocar el área dentro del límite del lago, obtengo lo que está fuera de él. ¿Puedo invertir el archivo .shp original de Natural Earth, tal vez?

Referencias

En ¿Cómo invertir polígonos (u otras opciones de estilo exterior) ?, GRASS ' r.mask se sugirió, que tiene un modo inverso. ¿Hay algo similar con OGR / GDAL?

En ¿Cómo obtener un archivo de forma oceánica a partir de un archivo de forma de área terrestre muy detallado ?, el archivo .shp se convirtió en un ráster, luego se invirtió y se usó como una máscara. Preferiría no generar un ráster de no lagos porque mi ráster TIFF original es muy grande (alta resolución) y preferiría no generar un ráster del mismo tamaño. Sin embargo, como solución provisional, pude hacer esto:

# Cree un ráster no-lagos del mismo espaciado y extensión que INPUT $ gdal_rasterize -i -burn 255 -a_nodata 0 -ot Byte  -te 'gdalinfo INPUT.tif | egrep "Inferior izquierda | Superior derecha" | cortar -d "(" -f2 | cortar -d ")" -f1 | sed 's /, //' | tr " n" "" ' -sql "SELECT * FROM ne_10m_lakes DONDE scalerank = 0"  -tr' gdalinfo INPUT.tif | grep "Tamaño de píxel" | cut -d "(" -f2 | sed 's / [ ,)] / / g " Data / ne_10m_lakes / ne_10m_lakes.shp lakes.tif # Aplicar el ráster de lagos a la entrada como una especie de máscara $ gdal_calc.py -A INPUT.tif -B lakes.tif --outfile OUTPUT.tif --calc = 'A'  --NoDataValue = 0

¿Se puede hacer algo similar sin crear un ráster gigante que no sea un lago?


gdal_rasterize http://www.gdal.org/gdal_rasterize.html puede grabar un color fijo para polígonos en un ráster existente:

gdal_rasterize -burn 0 -sql "SELECCIONAR * DE ne_10m_lakes DONDE scalerank = 0" Datos / ne_10m_lakes / ne_10m_lakes.shp DESTINATION.tif

Según la documentación, el ráster de salida debe admitir el acceso al modo de actualización. Los formatos que admiten el modo de actualización se pueden verificar con gdalinfo mirando + sign en las capacidades del controlador. Sin embargo, la actualización de imágenes comprimidas puede fallar o puede conducir a un resultado subóptimo. TIFF sin comprimir es la opción más segura, pero en teoría, otros formatos de esta lista también deberían funcionar.

gdalinfo --formatos | buscar "+" FITS -raster- (rw +): Sistema de transporte de imágenes flexible HDF4Image -raster- (rw +): Conjunto de datos HDF4 KEA -raster- (rw +): Formato de imagen KEA (.kea) netCDF -raster- (rw + s) : Formato de datos común de red VRT -raster- (rw + v): Ráster virtual GTiff -raster- (rw + vs): GeoTIFF NITF -raster- (rw + vs): Formato de transmisión de imágenes nacionales HFA -raster- (rw + v ): Erdas Imagine Images (.img) ELAS -raster- (rw + v): ELAS MEM -raster- (rw +): In Memory Raster BMP -raster- (rw + v): MS Windows Device Independent Bitmap PCIDSK -raster, vector- (rw + v): Archivo de base de datos PCIDSK PCRaster -raster- (rw +): Archivo PCRaster Raster ILWIS -raster- (rw + v): ILWIS Raster Map SGI -raster- (rw +): SGI Image File Format 1.0 Nivelador - raster- (rw +): campo de altura de nivelador Terragen -raster- (rw +): campo de altura de Terragen ISIS2 -raster- (rw + v): cubo ISIS de astrogeología del USGS (versión 2) ERS -raster- (rw + v): ERMapper .ers etiquetado RMF -raster- (rw + v): Formato de matriz de ráster RST -raster- (rw + v): Idrisi Raster A.1 INGR -raster- (rw + v): Intergraph Raster G SBG -raster- (rw + v): Cuadrícula binaria de Golden Software (.grd) GS7BG -raster- (rw + v): Cuadrícula binaria de Golden Software 7 (.grd) PNM -raster- (rw + v): Formato de mapa de píxeles portátil (netpbm) ENVI -raster- (rw + v): ENVI .hdr Etiquetado EHdr -raster- (rw + v): ESRI .hdr Etiquetado PAux -raster- (rw +): PCI .aux Etiquetado MFF -raster- (rw + v): Vexcel MFF Raster MFF2 -raster- (rw +): Vexcel MFF2 (HKV) Raster BT -raster- (rw + v): VTP .bt (Binary Terrain) 1.3 Formato LAN -raster- (rw + v): Erdas .LAN / .GIS IDA -raster- (rw + v): Datos de imagen y análisis GTX -raster- (rw + v): NOAA Vertical Datum .GTX NTv2 -raster- (rw + vs): NTv2 Datum Grid Shift CTable2 - raster- (rw + v): CTable2 Datum Grid Shift KRO -raster- (rw + v): KOLOR Raw ROI_PAC -raster- (rw + v): ROI_PAC raster ISCE -raster- (rw + v): ISCE raster ADRG - raster- (rw + vs): ARC Digital Raster Graphics SAGA -raster- (rw + v): SAGA GIS Binary Grid (.sdat) PDF -raster, vector- (rw + vs): PDF geoespacial GPKG -raster, vector- (rw + vs): GeoPackage

Ver el vídeo: Introducción al análisis SIG con R y R Studio - Lección 1 Cargar archivos en formato vector y ráster