Area di misurazione delle classi raster?


9

Esistono strumenti o metodi in ArcMap in grado di misurare l'area di ciascun livello dell'output della densità del kernel?

Nota che questo è solo un diagramma di densità del kernel (non un file di forma o un poligono). Analisi della densità del kernel (da verde scuro (10%) a rosso (90%) (1)

Ho provato alcune cose ma ne ho bisogno per essere preciso.

Analisi della densità di Kerenel (da verde scuro (10%) a rosso (90%)

Risposte:


7

Vorrei utilizzare il seguente flusso di lavoro per calcolare l'area all'interno delle classi:

  1. Riclassifica (Analista spaziale) l'output della densità del kernel in qualunque classe tu stia usando. Per impostazione predefinita ArcGIS crea una superficie raster continua per l'output della densità del kernel, ma riclassifica la legenda (che è temporanea). L'uso dello strumento di riclassificazione lo renderà permanente.
  2. Aprire la tabella degli attributi di densità del kernel riclassificata e osservare il campo "COUNT" ( Figura 1 ). Questo è il conteggio di tutti i pixel di ogni classe. Ad esempio, la Classe 1 (Valore = 1) ha un conteggio di 620.063 pixel. Poiché il mio sistema di coordinate è UTM, le unità sono in metri e i pixel hanno una risoluzione spaziale di 1 m. Pertanto, la Classe 1 è 620.063 m ^ 2.
  3. Per convertire il conteggio in altre unità come ettari, aggiungi un nuovo campo nella tabella degli attributi.
  4. Calcola campo ( Figura 2 )
  5. La logica controlla i risultati evidenziando una classe ( Figura 3 )

Figura 1

inserisci qui la descrizione dell'immagine

figura 2

inserisci qui la descrizione dell'immagine

Figura 3

inserisci qui la descrizione dell'immagine


2

Se vuoi una soluzione arcpy:

import numpy as np  #not sure how arcpy imports numpy

r = arcpy.RasterToNumPyArray('your raster name')

for val in np.unique(r):
    area = np.sum(r == val)  #multiply this by your pixel area
    print 'value ', val, ' : ', area

in alternativa puoi scrivere i valori in un file csv / text.


1

Supponendo che il diagramma della densità del kernel sia un raster creato utilizzando lo strumento densità del kernel o simile, si tratta solo di utilizzare lo strumento Raster to Polygon .

Assicurati di specificare il campo che definisce la classificazione del raster e lo convertirà in poligoni. È quindi possibile utilizzare lo strumento Calcola geometria per calcolare l'area.


Ci ho provato. quando trascino il file raster in esso dice "uno o più elementi rilasciati non erano validi". L'errore suggerisce che nel file c'è del testo che "sta interferendo", hai idea del perché questo potrebbe essere?
Angus,

1
@MrAngus Il problema è che Kernel Density produce sempre un output raster in virgola mobile, mentre da Raster a Polygon richiede un input raster intero (vedere i file della guida collegati). Dovresti prima riclassificare il raster KD.
Chris W,

Si noti che Calcola geometria è per funzione e non fornirà l'area totale di tutti i poligoni che condividono una determinata classe.
matt wilkie,

0

Una rapida soluzione a questo è una risoluzione manuale:

  1. Apri le proprietà del raster e vai alla scheda simbologia.
  2. Presumibilmente la simbologia è già impostata su Classified e il numero di classi è quello che vuoi. Fai clic sul pulsante Classifica.
  3. Sul lato destro della finestra di dialogo c'è una casella Valori di interruzione. Fai clic su ciascun valore di interruzione e nella parte inferiore della finestra di dialogo vedrai # Elementi in classe. Questo è un conteggio dei pixel in quella classe. Scrivi il numero per ogni classe o inseriscilo in un foglio di calcolo.
  4. Annulla indietro alle proprietà raster e passa alla scheda Origine. La dimensione della cella è indicata in x, y. Moltiplica questi due insieme e avrai l'area di un pixel.
  5. Ora prendi quell'area per il numero di pixel in ogni classe. Questo dovrebbe darti l'area totale di quella classe.

Accurato è un termine relativo. Per quanto riguarda le aree raster, sarà esattamente preciso. Se si utilizza il metodo Fezter, l'area potrebbe differire a seconda che si usi Smooth quando si convertono le regioni basate su pixel in poligoni.

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.