Alla ricerca di strategie di generalizzazione per la creazione di contorni in PostGIS?


22

Ho un set di dati di impronte di edifici vettorializzate da un set di dati raster. Il set di dati è attualmente solo una rappresentazione vettoriale dei dati raster. Vorrei un set di dati poligonali che ha solo vertici agli angoli dell'edificio. Ho tentato di utilizzare il comando Semplifica in PostGIS con successo limitato.

Esiste un modo migliore?

Risposte:


17

Esistono molti algoritmi dedicati alla costruzione della semplificazione. È possibile dare un'occhiata a questo sito Web per una panoramica. Vedi anche questa domanda . Puoi usare:

  • Semplificazione del contorno dell'edificio: consiste nell'eliminazione ricorsiva di bordi troppo corti del contorno e nell'allungamento dei bordi vicini. Esempio:

testo alternativo

  • Algoritmo del rettangolo circostante più piccolo: consiste nel sostituire la geometria dell'edificio con il rettangolo circostante più piccolo. Questo rettangolo può anche essere ridimensionato nell'area iniziale dell'edificio. Esempio:

testo alternativo

  • Algoritmo di quadratura: consiste nell'applicare una leggera rotazione ai bordi per rendere gli angoli perfettamente quadrati. Esempio:

testo alternativo

Queste trasformazioni possono essere sufficienti per le tue esigenze. Può essere interessante combinarli.

Sono quasi sicuro al 100% che nessuno di questi algoritmi è implementato in PostGIS. Alcuni sono implementati nella libreria java Opencarto che sto sviluppando. Fammi sapere se vuoi testarlo!


1
Puoi dare una breve spiegazione di quali algoritmi ti riferisci in Opencarto per la citata "Semplificazione del profilo dell'edificio". Non ho trovato informazioni dirette nel wiki o nel codice in Opencarto.
Benjist,

È "ShortEdgesDeletion". Puoi trovarlo su github qui: github.com/jgaffuri/OpenCarto/blob/master/src/main/java/org/…
luglio



3

Qualcosa del genere potrebbe fare il trucco:

"Se eseguiamo il buffer di una grande quantità, quindi invertiamo il buffer della stessa quantità, otterremo qualcosa che ha una forma simile all'originale, ma senza i bit increspati."

http://blog.opengeo.org/2010/11/22/removing-complexities/


è un approccio interessante e sembra relativamente efficace. Grazie per il puntatore, è qualcosa che sarò in grado di usare. La tua risposta sarebbe migliore se contenesse una semplice frase contenente l'idea di base a cui si fa riferimento e non fosse solo un collegamento.
Matt Wilson
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.