Conversione di set di punti in confini poligonali?


27

Sto cercando di convertire gruppi di punti nei rispettivi confini poligonali. Penso che questo sia qualcosa di simile a un diagramma di Voronoi o Convex Hull, ma non del tutto. Sono sicuro che ci sia un termine tecnico per questo, ma sono un principiante di GIS.

Probabilmente è meglio illustrato con la seguente immagine:

inserisci qui la descrizione dell'immagine

Quindi, dati 4 insiemi di punti (ogni insieme nel suo colore), quali sono i quattro poligoni che circondano ogni rispettivo insieme di punti in modo tale che la spaziatura tra i poligoni massimizzi i margini e tutti i poligoni si incontrino?

Ecco un esempio semplificato con 3 punti:

  • A, 43.656943, -79,393928, blu
  • B, 43,66,663 mila, -79,402682, verde
  • C, 43.656447, -79,408004, verde

Dovrai visualizzare il seguente grafico perché abbia senso: inserisci qui la descrizione dell'immagine

In sostanza, ogni punto ha un colore e si espande un buffer di una certa distanza da esso per iniziare.

La parte difficile è quando c'è una collisione con altri punti (i loro confini) e dove calcolare quel confine. Il risultato è un insieme di poligoni (uno per ciascun colore / set).


1
Puoi pubblicare alcuni dati di esempio? In questo modo potremmo testare le soluzioni :)
RK,

Ho aggiunto un esempio sopra. Spero che aiuti.
DFx,

possibile duplicato di poligoni
blah238,

1
Va bene, penso che quello che devo fare, è prendere tutti i punti di tutti i colori ed eseguire Voronoi su di essi. Successivamente, unisci i poligoni risultanti che hanno gli stessi colori. Alla fine dovrei avere il mio set di poligoni (uno per ogni colore). Non sono sicuro di come farlo esattamente in QGIS ...
DFx,

2
Cosa intendi esattamente con "spaziatura massimizza i margini"? La risposta a ciò determina la soluzione.
whuber

Risposte:


24

Dal tuo livello punto

inserisci qui la descrizione dell'immagine

puoi creare plogyon Voronoi

inserisci qui la descrizione dell'immagine

Il che porterebbe a questo

inserisci qui la descrizione dell'immagine

Quindi creare una maschera dal processo di triangolazione Delauney

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

E quindi ritaglia il livello di poligoni Voronoi.

inserisci qui la descrizione dell'immagine

Sarebbe abbastanza buono?

Puoi anche provare a combinare la tua maschera di triangolazione Delauney con un buffer del tuo livello punto

inserisci qui la descrizione dell'immagine

e usalo per tagliare invece i tuoi poligoni Voronoi

inserisci qui la descrizione dell'immagine


5
Puoi anche eseguire un DISSOLVE (dal menu Vector-> Geoprocessing) sui tuoi poligoni Delauney o Voronoi per darti i poligoni uniti che stai cercando di rappresentare.
Ryan Dalton,

+1 - battimi ... bel pensiero sul buffer unito, e con il suggerimento dissoluto di @ RyanDalton questo dovrebbe rispondere alla domanda originale!
Simbamangu,

21

I poligoni Voronoi con dissolvenza ti daranno la prima parte. A partire dai tuoi punti, ogni set dovrebbe avere il suo identificativo univoco ("col" in questo esempio). Tre valori col con una serie di punti: inserisci qui la descrizione dell'immagine

Vector | Strumenti geometria | I poligoni Voronoi con un buffer del 20% offrono il "confine tra i punti": inserisci qui la descrizione dell'immagine

Usando 'col' come variabile di dissolvenza con Vector | Strumenti di geoprocessing | Dissolve ti dà poligoni uniti attorno ad ogni set di punti: inserisci qui la descrizione dell'immagine

Vector | Strumenti di geoprocessing | Gli scafi convessi possono darti un confine convesso attorno ai tuoi punti, che puoi usare per tagliare i confini dissolti: inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Tuttavia, dal tuo primo esempio sembra che dovresti tagliare con uno scafo concavo (più una certa distanza di buffer?); lo scafo concavo è una funzione che non sono riuscito a trovare; PostGIS ha la funzione .


Fantastico - grazie questa è un'ottima risposta. Lo sto solo dando a RK per le istruzioni più approfondite, ma lo apprezzo davvero!
DFx,

@DFx - non preoccuparti, sarebbe curioso di vedere con quale metodo finirai finalmente (magari modifica la tua domanda originale con la soluzione completa qualche volta).
Simbamangu,

@Simbamangu posso capire la tua risposta ma ho un piccolo dubbio in questo. Quando provo a convertire i poligoni in base al colore che sta convertendo, ma solo come un poligono a singolo colore. Qual è l'errore?
Arun,

Arun - probabilmente hai scelto di dissolversi solo sulla geometria, non su un campo specifico. O semplicemente non hai modellato il livello risultante. (So ​​che la domanda ha più di 2 anni, ma forse anche altri lo hanno)
til_b
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.