Usando i poligoni per applicare un valore univoco a tutte le celle raster all'interno di quei poligoni?


14

In ArcGIS 9.3, ho un file raster che vorrei "mascherare" con i poligoni, dando un valore singolo a tutte le celle raster che si sovrappongono ai poligoni.

Come posso fare questo?

Ecco una schermata, in cui i poligoni neri sono il mio livello poligonale e il resto è basato su raster.

inserisci qui la descrizione dell'immagine

Risposte:


15

È possibile utilizzare un'istruzione condizionale. Il problema con le raccomandazioni precedenti è che quando rasterizzi i tuoi poligoni (che è necessario) lo sfondo, che non contiene poligoni, sarà NoData risultando in aree corrispondenti nell'output anche NoData. Sarà necessario impostare l'estensione dell'analisi sul raster originale e quindi impostare un valore di sfondo (ovvero 0) sul raster poligono rasterizzato usando SetNull. Una volta fatto questo, un'istruzione condizionale nel calcolatore raster sarà simile a questa.

Con ("praster"> 0, "praster", "OrgRaster")

"praster" è la classe di caratteristiche ploygon rasterizzata, con un valore di background pari a 0 e "OrgRaster" è il raster che si desidera modificare. Questa affermazione afferma che se praster è maggiore di 0, assegnare valori da praster altrimenti assegnare valori da OrgRaster.


1
Ho finito per cambiare l'estensione raster, quindi riclassificare per cambiare i valori dei nodati su 0. grazie!
Luca

4

Puoi rasterizzare ( ArcToolbox> Strumenti di conversione> In raster ) i tuoi poligoni, quindi unire i due raster con Strumenti Analista spaziale> Matematica> Logico > Sopra .

Durante la rasterizzazione dei poligoni, nella finestra di dialogo Poligono a raster , è necessario utilizzare l' opzione Ambienti -> Elaborazione estensione snap raster , per ottenere le celle corrispondenti al raster iniziale.


2
Durante la rasterizzazione dei poligoni, nella finestra di dialogo Poligono a raster, è necessario accedere a Ambienti -> Impostazioni generali e utilizzare l'opzione Snap raster per ottenere le celle corrispondenti al raster iniziale.
nadya,

1

Ho adottato un altro approccio in quanto non sono riuscito a capire la soluzione sopra. Quanto sopra è probabilmente facile ma in qualche modo ho fallito.

Il mio approccio era:

  1. Esegui un'unione con [Poligono] e [Studio_Area]. Output: [Polygon_StudyArea_Union].
  2. Modifica i valori del poligono in [Polygon_StudyArea_Union] su 0 e il risultante su 1.
  3. Converti [Polygon_StudyArea_Union] in raster. Output: [Polygon_StudyArea_Union_Raster]
  4. Esegui un calcolo raster: [Il raster che vuoi modificare] * [Polygon_StudyArea_Union_Raster]
  5. Quindi riclassificare il valore che si desidera sia il valore zero (0).

Probabilmente troppi passaggi, ma spero che questo possa aiutare qualcuno.


0

potresti convertire il valore raster in poligono

quindi torna spazialmente al poligono di zona

quindi converti il ​​poligono di zona in raster, mantenendo il campo dall'unione spaziale

quindi penso che dovresti unirli insieme, mantenendo il raster "top", cioè i valori raster di zona (piuttosto che somma / min / max / mediana) ...

sai cosa intendo?

-MB

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.