4 votos

El ajuste de diferentes valores NoData para ráster multibanda el uso de ArcPy?

Estoy tratando de establecer "noData" valores para una 3-banda de imagen de trama, en una secuencia de comandos de Python. Para ello estoy utilizando ArcPy función "SetRasterProperties_management" con la siguiente sintaxis: arcpy.SetRasterProperties_management(rasterImage,nodata="1 0;2 45;3 12"). Como puedes ver he necesidad de establecer valores diferentes para cada banda.

Mi problema es que la sintaxis anterior no parece funcionar porque cuando reviso la trama propiedades de la imagen, el no valor de los datos se establece a "12" (último valor especificado), y esto para todas las bandas. Lo que yo vi en la Configuración de NoData para un ráster multibanda? que alguien trató de hacer lo mismo. He utilizado la sintaxis que se aconseja (nodata="1 0;2 45;3 12") pero no funcionó. También he mirado en "SetRasterProperties_management" la función de documentación, pero yo no podía encontrar la sintaxis para hacer que funcione.

Aquí es un fragmento de código:

rasterImage = "test-raster.tif"  
arcpy.SetRasterProperties_management(rasterImage,nodata="1 0;2 45;3 12")

Podría alguien ayudarme?

1voto

Matt Puntos 153

Para mí la sintaxis que se trabajó fue el uno que está en la Ayuda de ArcGIS para la herramienta:

[band índice, nodata_value],...]

Así, debería ser algo como:

arcpy.SetRasterProperties_management("multiband.tif", "GENERIC", "", "", [["1", 10], ["2", 20], ["3", 30]])

Y que está trabajando para mí en ArcGIS 10.3. Con esto solo estoy diciendo que son los valores que desea excluir. Pero no estoy seguro de si usted quiere hacer eso, o si desea cambiar el NoData los valores ya presentes en sus bandas (marco negro en Landsat, por ejemplo) a cualquiera de los otros valores diferentes, en ese caso mejor hacer un Estafador o un Reclasificar... O incluso mejor trabajo de lectura de la trama bandas como matrices (se podría hacer con el arcpy, pero me parece rasterio más fácil y más rápido para ese tipo de proceso).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X