¿Comprender los valores mínimos y máximos con Mosaic to New Raster?

14

Tengo que combinar varios rásteres DEM en uno de esta fuente: http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp , por lo que utilizo la herramienta Mosaico a nuevo ráster.

Configuré la herramienta:

  1. Ingresé los rásteres (todos de la misma fuente, mismo tamaño y sin proyección);
  2. Configure el Tipo de píxel (coma flotante de 32 bits como en los rásteres originales);
  3. Configure el tamaño de la celda como los rásteres originales;
  4. Número de bandas = 1 como los rásteres originales; Operador de mosaico, lo he hecho con BLEND y MEAN (obtengo el mismo resultado).

El problema que tengo es que el mosaico resultante muestra un rango diferente de valores máximos y mínimos que los valores máximo y mínimo del ráster individual, por ejemplo, ráster 1 (-5123.8, 23.25), ráster 2 (-5974.6, 40.09), ráster 3 (-57770.2, 38), ráster 4 (-2534.3, 23.55) y ráster de mosaico final (-5975.8, 81.1).

Supongo que esta solución no es correcta, al menos no esperaba obtener eso. Alguien tiene una idea de si esto está bien, y si no lo está, ¿cómo resolverlo y obtener un ráster de mosaico adecuado con los valores máximos y mínimos correctos?

Estoy usando ArcGIS 10.2.2 para escritorio.

tom
fuente
¿Podría decirnos cómo encontró las estadísticas para los rásteres de entrada y salida? A veces, en aras de la eficiencia, ArcGIS engaña y utiliza solo un subconjunto de datos para estimar las estadísticas. En particular, esto significa que podría estar muy lejos en su informe de mínimos y máximos.
whuber
Gracias por tu interés. Hago clic derecho en la capa (tanto los rásteres iniciales como el mosaico) y busco en Propiedades. Vale la pena mencionar que he marcado para cambiar los valores de cada ráster en Simbología de los valores Estirado a Único, y resulta que si cambio a los valores Estirado para todas las capas, entonces coincide con el valor Estirado mínimo de una capa y el max Streched value from other, a los valores min y max que veo cuando se crea el mosaico. ¿Alguien podría explicarme si el procedimiento sigue siendo correcto y estas diferencias entre los valores Streched y Uniques? ¡Gracias!
Tom
2
Sospecho que la pestaña "Propiedades" está haciendo trampa. Para obtener más información al respecto, visite gis.stackexchange.com/questions/8780 .
whuber
1
Gracias. Nunca pensé en la posibilidad de que la pestaña 'Propiedades' esté engañando. Tal vez esto pueda aclararse si sabemos que la razón detrás de ArcGIS proporciona diferentes valores para los valores Streched y Unique en Symbology, para una sola capa ráster. Alguien sabría por qué?
Tom

Respuestas:

10

Como mencionó Whuber, a menudo las estadísticas que se encuentran en las propiedades ráster a veces son aproximadas o están desactualizadas. Son propiedades predeterminadas que pueden inducir a error a los valores ráster reales.

Calcula tus propios valores mínimos / máximos a partir del 100% de los datos reales utilizando matrices NumPy. Consulte Trabajar con NumPy en ArcGIS y RasterToNumPyArray (arcpy) . P.ej:

import arcpy

inrast = r'C:\data\inRaster.tif'
my_array = arcpy.RasterToNumPyArray(inrast)
print((my_array.min(), my_array.max()))

Si le faltan valores (NODATA), se necesita una matriz enmascarada para obtener las estadísticas correctas:

import numpy as np
my_array = arcpy.RasterToNumPyArray(inrast)
my_masked_array = np.ma.masked_equal(my_array, arcpy.Raster(inrast).noDataValue)
print((my_masked_array.min(), my_masked_array.max()))

Además, no necesita ArcGIS para leer rásteres como matrices NumPy; Por ejemplo, GDAL o rasterio pueden hacer algo similar .

Mike T
fuente
6

Como dicen las otras respuestas, es probable que las estadísticas estén desactualizadas. Si prefiere usar ArcGIS, pruebe la herramienta Calcular estadísticas en la caja de herramientas Administración de datos. Esto debería actualizar las estadísticas por usted.

Martín
fuente