Comprendere i valori minimo e massimo con Mosaic su New Raster?


14

Devo combinare diversi raster DEM in uno da questa fonte: http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp , quindi uso Mosaic per il nuovo strumento raster.

Ho impostato lo strumento:

  1. Inserisco i raster (tutti dalla stessa fonte, stesse dimensioni e nessuna proiezione);
  2. Imposta il tipo di pixel (virgola mobile a 32 bit come nei raster originali);
  3. Imposta le dimensioni della cella come i raster originali;
  4. Numero di bande = 1 come i raster originali; Mosaic Operator, l'ho fatto con BLEND e MEAN (ottengo lo stesso risultato).

Il problema che ho è che il mosaico risultante mostra una gamma diversa di valori massimo e minimo rispetto ai valori massimo e minimo del singolo raster, ad esempio raster 1 (-5123,8, 23,25), raster 2 (-5974,6, 40,09), raster 3 (-57770,2, 38), raster 4 (-2534,3, 23,55) e mosaico finale raster (-5975,8, 81,1).

Immagino che questa soluzione non sia giusta, almeno non mi aspettavo di ottenerla. Qualcuno ha idea se questo è ok, e se non lo è, come risolverlo e ottenere un raster di mosaico adeguato con i giusti valori massimi e minimi?

Sto usando ArcGIS 10.2.2 per desktop.


Potresti dirci come hai trovato le statistiche per i raster di input e output? A volte, nell'interesse dell'efficienza, ArcGIS tradisce e usa solo un sottoinsieme dei dati per stimare le statistiche. In particolare, ciò significa che potrebbe essere molto lontano nella sua segnalazione di minimi e massimi.
whuber

Grazie per il tuo interesse. Faccio clic con il pulsante destro del mouse sul livello (sia i raster iniziali che il mosaico) e guardo Proprietà. Vale la pena ricordare che ho verificato di cambiare i valori di ciascun raster in Symbology dai valori Streched a Unique, e risulta che se passo ai valori Streched per tutti i layer, allora corrisponde al valore Streched minimo da un layer e il max Valore allungato da un altro, ai valori minimo e massimo che vedo quando viene creato il mosaico. Qualcuno potrebbe spiegarmi se la procedura è ancora corretta, e queste differenze tra i valori di Streched e Uniques? Grazie!
Tom

2
Sospetto che la scheda "Proprietà" stia barando. Per ulteriori informazioni, consultare gis.stackexchange.com/questions/8780 .
whuber

1
Grazie. Non ho mai pensato alla possibilità che la scheda "Proprietà" stia barando. Forse questo può essere chiarito se sappiamo che la ragione dietro ArcGIS fornisce valori diversi per valori Streched e Unique in Symbology, per un singolo livello raster. Qualcuno saprebbe perché?
Tom

Risposte:


10

Come già detto whuber, spesso le statistiche trovate nelle proprietà raster sono talvolta approssimative o non aggiornate. Sono proprietà predeterminate che possono essere fuorvianti rispetto ai valori raster effettivi.

Calcolati i tuoi valori min / max dal 100% dei dati effettivi usando gli array NumPy. Vedere Utilizzo di NumPy in ArcGIS e RasterToNumPyArray (arcpy) . Per esempio:

import arcpy

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

Se hai valori mancanti (NODATA), è necessario un array mascherato per ottenere le statistiche corrette:

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()))

Inoltre, non è necessario ArcGIS per leggere i raster come array NumPy; es. GDAL o rasterio possono fare simili .


6

Come dicono le altre risposte, le statistiche sono probabilmente obsolete. Se si preferisce utilizzare ArcGIS, provare lo strumento Calcola statistiche nella casella degli strumenti Gestione dati. Questo dovrebbe aggiornare le statistiche per te.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.