La funzione Confine pulito è usato per generalizzare lungo i bordi delle zone in un raster. I bordi sono smussati tramite espansione o contrazione dei confini tra le zone.
Generalizza i bordi
La funzione Confine pulito generalizza o semplifica i raster smussando i confini tra le zone. Applica un metodo di espansione o contrazione per valutare ciascuna cella utilizzando i relativi vicini immediati. Sono disponibili molte opzioni per controllare la modalità con cui le celle delle zone influiscono sullo smussamento. È possibile controllare anche il grado di smussamento.
Ordine per priorità
Il processo inizia ordinando le zone nel raster di input secondo una specifica priorità. Per ciascuna cella nell'input, la priorità è utilizzata per determinare quale valore della zona dal vicinato circostante può sostituire il valore della cella in elaborazione.
La priorità di ordinamento può essere basata sui valori delle zone o sulle dimensioni delle zone. Il parametro Tipo di ordinamento specifica la priorità di ordinamento da utilizzare. Con l'impostazione predefinita Non ordinare, le celle delle zone con valori più grandi avranno una priorità più alta per espandersi in zone con aree con valori più piccoli. Con l'impostazione Discendente, le zone che hanno un'area più grande avranno la priorità di espandersi nelle zone con aree più piccole. Con l'impostazione Ascendente, le zone con aree più piccole hanno la priorità di espandersi in zone con aree più grandi.
Quantità di smussamento
La quantità di smussamento è controllata dal numero di volte in cui è effettuato il processo di espansione e contrazione: una o due. Il valore predefinito è due volte, che genera una quantità maggiore di smussamento.
Processo di espansione o contrazione
Il processo di espansione e contrazione valuta i vicini immediati di ciascuna cella di elaborazione in base al tipo di priorità di ordinamento impostata nel parametro Tipo ordinamento.
Nel processo, un'espansione è seguita da una contrazione. Questo processo avverrà una volta se il parametro Esegui due volte espansione e contrazione non è selezionato. Se il parametro è selezionato, il processo di espansione e contrazione verrà effettuato due volte.
Di seguito si riportano ulteriori dettagli per gli algoritmi utilizzati nel processo.
Espansione e contrazione unidirezionale
Con l'impostazione unidirezionale, il processo di espansione e contrazione viene eseguito una sola volta.
Nel passaggio di espansione avviene quanto segue:
- per ciascuna cella in elaborazione nel raster di input, valutare ciascuna cella vicina.
- Per ciascuna cella vicina, stabilire se il valore di priorità di quella cella vicina è inferiore al valore di priorità della cella in elaborazione. Se lo è, assegnare la priorità alla vicina interna in modo che sia quella della cella in elaborazione di input. Aggiornare il raster interno espanso con il nuovo valore di priorità e procedere con la successiva cella vicina.
Nel passaggio di contrazione, avviene quanto segue:
- per ciascuna cella in elaborazione nel raster di input, valutare ciascuna cella vicina utilizzando il valore del raster interno espanso che è creato al primo passaggio.
- Se la priorità della cella vicina è uguale alla priorità della cella in elaborazione, copiare il valore della cella dal raster di input originario all'output. Se la condizione non è soddisfatta per nessuna delle celle vicine, copiare il valore della cella dal raster espanso all'output.
Espansione e contrazione bidirezionale.
Se il parametro Esegui due volte espansione e contrazione è selezionato (il parametro number_of_runs è impostato su TWO_WAY in Python), avviene un secondo processo di espansione e contrazione ma questa volta le priorità sono invertite. L'output del primo passaggio dell'operazione è utilizzato come input per il secondo passaggio.
Nel primo passaggio di espansione, è utilizzata la stessa logica che è stata utilizzata nel passaggio di espansione nel processo unidirezionale.
Nel primo passaggio di contrazione, è utilizzata la stessa logica che è stata utilizzata nel passaggio di contrazione nel processo unidirezionale.
Nel secondo passaggio di espansione avviene quanto segue:
- per ciascuna cella in elaborazione nel raster interno generato dal primo processo di espansione e contrazione, valutare ogni cella vicina.
- Per ciascuna cella vicina, stabilire se il valore di priorità di quella cella vicina è maggiore al valore di priorità della cella in elaborazione. Se lo è, assegnare la priorità alla vicina interna in modo che sia quella della cella in elaborazione di input. Aggiornare il raster interno espanso con il nuovo valore di priorità e procedere con la successiva cella vicina.
Nel secondo passaggio di contrazione avviene quanto segue:
- Per ciascuna cella in elaborazione nel raster interno espanso del passaggio precedente, valutare ciascuna cella vicina.
- Per ciascuna cella vicina, se il valore di priorità della cella vicina è inferiore o superiore al valore della cella in elaborazione nel raster espanso, copiare il valore della cella in elaborazione del raster originario sull'output.
- Se il valore di priorità della cella vicina è uguale al valore della cella in elaborazione nel raster espanso, copiare il valore della cella in elaborazione del raster espanso sull'output.
Gestione di NoData
Le celle di input di NoData hanno la priorità più bassa quando il processo di espansione e contrazione è effettuato una volta, o nel secondo passaggio se il processo di espansione e contrazione è effettuato due volte. Nel secondo passaggio di ordinamento bidirezionale, le celle di NoData avranno la priorità più elevata.
Esempio
Per mostrare gli effetti dei vari parametri sull'output, considerare il seguente raster di input.
Verranno mostrati gli output per tutte le impostazione del parametro Tipo ordinamento per tutte e due le impostazioni del parametro Esegui due volte espansione e contrazione (non selezionato o selezionato).
Quando il parametro Tipo ordinamento è Non ordinare, i raster di output sono come segue:
Quando il parametro Tipo ordinamento è Discendente, i raster di output sono come segue:
Quando il parametro Tipo ordinamento è Ascendente, i raster di output sono come segue: