Semplificazione delle geometrie (generalizzazione)


22

Quali sono i modi consigliati per semplificare le geometrie? Tenendo presente le proiezioni e, ad esempio, semplificando le geometrie degli stati.

Ho sentito parlare della conversione in una proiezione "equidistante" che consente la semplificazione senza distorsione e quindi la riconversione nella proiezione scelta.


4
Non sono sicuro ma "generalizzazione" potrebbe essere un tag più descrittivo per questo. Semplificare, almeno nel contesto di ArcGIS, è un metodo per assicurare la correttezza topologica. Wikipedia afferma che la semplificazione fa parte della generalizzazione cartografica. it.wikipedia.org/wiki/Cartographic_generalization
Kirk Kuykendall

Ottimo suggerimento @Kirk
John Weldon

Risposte:


11

Come glennon ha menzionato, l'algoritmo standard per farlo è Douglas-Peucker , che è l'algoritmo predefinito utilizzato in software come PostGIS (ie GEOS) via St_Simplify, ArcGIS via Generalizee GRASS via v.generalize. L'articolo di Wikipedia si collega anche a un'implementazione di Python .

GRASS supporta numerosi algoritmi diversi, come spiegato nella pagina di aiuto per v.generalize .

Per quanto riguarda la proiezione, penso che in questo caso sia un'aringa rossa che può essere ignorata. L'unico problema che viene in mente sono le linee potenzialmente densificanti per impedire che vengano semplificate eccessivamente.



3

Se per "semplificazione" intendi una semplice riduzione del numero di punti, usa un algoritmo di filtraggio di base, come il filtro peucker Douglass. Un link utile per questo: http://mapshaper.org/

Se per "semplificazione" intendi ottenere una forma più semplice, gli algoritmi di filtraggio non sono sempre adatti. Dovrebbero essere utilizzati algoritmi di generalizzazione più avanzati . Alcuni documenti su tali algoritmi sono disponibili qui: http://generalisation.icaci.org/ , con alcuni esempi di risultati: http://generalisation.icaci.org/index.php/results . Solo alcuni di questi algoritmi sono implementati nei comuni software GIS commerciali. Alcuni sono accessibili usando questo: http://webgen.geo.uzh.ch/


i siti aci.ign.fr non sono accessibili. Sai dove possiamo trovare esempi dell'algoritmo di generalizzazione avanzato che stai citando?
Radouxju,

L'URL è cambiato, controlla: generalisation.icaci.org
luglio

2

Se stai semplificando la geometria a causa delle limitazioni della potenza di elaborazione del computer, potresti prendere in considerazione la possibilità di generare mipmap con maschere alfa associate per ciascuna geometria a vari livelli.


Molto interessante, saresti disposto a elaborare?
John Weldon,

Bene, per fare questo dovresti rasterizzare ogni geometria vettoriale in una bitmap per ogni livello che permetti agli utenti di ingrandire e ridurre sulla mappa. Quindi, invece di disegnare più e più volte la geometria vettoriale per ogni livello, devi semplicemente eseguire il rendering della bitmap. Pertanto, il calcolo per rasterizzare la geometria (che è costoso se si dispone di una tonnellata di vertici) viene eseguito in anticipo anziché ogni volta che l'utente esegue un'azione. La maschera alfa viene visualizzata nell'immagine quando si disegna la bitmap: viene utilizzata quindi viene disegnata solo la forma stessa.
Jon Bringhurst,

1

Questo è un argomento difficile, poiché è necessario tenere conto di una sorta di risoluzione del set di dati. Quando un vertice della geometria è uguale a un altro vertice? Non ho mai sentito parlare di conversione e riconversione, anche se sarebbe un test interessante.

Geometrie semplici, secondo OGC, geometrie che non si intersecano da sole, e nel caso di poligoni, geometrie orientate correttamente, per gusci esterni e gusci interni e successivamente.

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.