Significato del parametro di tolleranza di Simplify


45

I parametri standard dell'algoritmo di semplificazione di Douglas-Peucker sono la geometria e la tolleranza (ad es. ST_Simplify in PostGIS). Qual è il significato del parametro di tolleranza ? So che maggiore è il valore, più grossolana sarà la geometria. Ma il numero ha qualche unità o è solo arbitrario?

Risposte:


41

La tolleranza è una distanza . All'incirca, qualsiasi "oscillazione" in una curva che varia da una linea retta di meno di questo importo verrà raddrizzata. L'algoritmo trova le oscillazioni più estreme che superano la tolleranza, fissa i punti in cui si discostano maggiormente da un percorso rettilineo e quindi si applica in modo ricorsivo agli archi tra le oscillazioni appuntate.

La tolleranza deve essere espressa nelle stesse unità utilizzate dal software per eseguire l'algoritmo. (Ciò dipenderà dal fatto che utilizzi le coordinate come memorizzate o proiettate "al volo" per la visualizzazione o l'analisi.) Una descrizione illustrata appare nell'articolo di Wikipedia sull'algoritmo Douglas-Peucker.


Grande spiegazione, +1.
Derek Swingley,

1
Di solito, questo valore di parametro di tolleranza dovrebbe essere uguale alla risoluzione target.
luglio

1
@julien Ha senso. Mi piace sempre capire il ragionamento alla base di tali regole empiriche, perché nella mia esperienza molte conclusioni del genere non reggono se esaminate più da vicino. (Ed è delizioso essere sorpresi in questo modo: impari sempre qualcosa.) Potresti quindi condividere i tuoi pensieri sul perché la tolleranza dovrebbe eguagliare la "risoluzione target" (e che cos'è esattamente quella risoluzione)?
whuber

6

Non l'ho visto nel link che hai pubblicato ma ho trovato questo:

Le unità di tolleranza sono le stesse della proiezione della geometria di input.

http://revenant.ca/www/postgis/workshop/advanced.html#processing-functions


1
Vedo. Ma cosa significa esattamente quando dire che la geometria è WGS84 (lat / lon) e impostare la tolleranza su 1.0? Errore entro 1 grado? Ancora un po 'confuso.
ejel

1
Non direi "errore entro 1 grado" ... dai un'occhiata alla pagina di Wikipedia per l'algoritmo, c'è una bella grafica e una buona spiegazione lì: en.wikipedia.org/wiki/…
Derek Swingley
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.