Calcolo della distanza minima tra punti e poligoni in QGIS?


9

Ho due livelli vettoriali: un punto e un poligono e voglio calcolare la distanza minima di ciascun punto dai poligoni (ovvero la distanza dal punto più vicino del poligono più vicino).

C'è qualche plugin disponibile in QGIS per farlo?


1
intendi vertici poligonali, il centroide o qualcos'altro?
lynxlynxlynx,

Questo compito sarebbe meglio gestito da Postgis.
Pablo,

Intendo la distanza dai bordi del poligono (in realtà è la distanza degli uccelli marini osservati nel mare dalla costa che voglio calmare)
Sylvia,

Pablo, sfortunatamente non so usare PostGIS e non riesco a scrivere codice ...
Sylvia,

Risposte:


9

Convertire prima il poligono in punti è una cattiva idea. Non calcolerai la distanza dal tuo poligono, calcolerai la distanza dal nodo più vicino dei tuoi poligoni (non i bordi che potrebbero essere più vicini). Puoi utilizzare il plug-in NNJoin per ottenere misurazioni accurate del poligono. Assicurati che i tuoi livelli siano nella stessa proiezione prima di fare analisi.


1
Il plugin QGIS NNJoin si occuperà della trasformazione del sistema di coordinate. Tuttavia, è necessario assicurarsi di utilizzare un sistema di coordinate proiettato per il set di dati di join (il set di dati di input verrà trasformato nel sistema di coordinate del set di dati di join se i loro sistemi di coordinate differiscono).
Håvard Tveite,

6

Se vuoi usare QGIS, la funzione GRASS v.distance nel plugin GRASS dovrebbe fare il lavoro. Il plug-in NNJoin dovrebbe funzionare per piccoli set di dati ed è meno complicato da usare.

Il plug-in NNJoin utilizza la funzione QgsGeometry.distance () (che utilizza GEOSdistance) per calcolare le distanze.


3

Per prima cosa converti il ​​poligono in punti:

Vettore -> Strumenti geometria -> Estrai nodi

Aggiungi questo nuovo livello, quindi calcola una matrice di distanza tra il livello punti e il nuovo livello punti poligonali appena creato

Vettore -> Strumenti di analisi -> Matrice della distanza

Assicurati di scegliere "Usa solo i punti target (k) più vicini" come 1


Questa è una buona risposta alla domanda originale, ma da allora la domanda è stata modificata in un commento. I nodi di estrazione e la matrice di distanza potrebbero non trovare il punto più vicino al limite (il punto più vicino potrebbe trovarsi tra i punti della polilinea del confine). GRASS v.distance o il plugin NNJoin lo faranno.
Håvard Tveite,

2

Prova Hub Distance nel plug-in MMQGIS.

http://michaelminn.com/linux/mmqgis/


Riferimenti:


2
La distanza dell'hub ha funzionato, ma per la cronaca, ho prima convertito il poligono in un livello punto e ho calcolato le distanze minime punto-punto. Con i poligoni stava calcolando la distanza minima dai centroidi o dal centro del confine costiero
Sylvia,
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.