Trova il raggio massimo del cerchio che si adatta a un poligono irregolare?


9

Ho un problema che penso possa essere gestito usando lo strumento Geometria zonale nella casella degli strumenti ArcGIS Spatial Analyst. Tuttavia non ho una licenza per Analista spaziale, quindi sto cercando un'alternativa; possibilmente usando QGIS.

Come trovo il raggio massimo di un cerchio che si adatta a un poligono irregolare?

Nota che il poligono potrebbe essere uno scafo convesso o concavo (come mostrato di seguito) e la soluzione deve essere indirizzata a entrambi.


Ho provato la soluzione di Joseph, ma sfortunatamente il risultato non è quello che stavo cercando.

Innanzitutto, ho poligoni molto irregolari come questo:

il mio poligono

Se seguo la descrizione di Joseph il risultato è simile al seguente:

risultato

Questo è sicuramente il risultato che segue quella soluzione, ma non è la risposta alla mia domanda.

Per me è importante rispondere alla domanda quanto può essere grande il raggio di un cerchio in modo che il cerchio sia ancora completamente all'interno del poligono, indipendentemente da dove si trova il centro del cerchio.

Ad esempio, c'è molto più spazio nel nord del poligono, in modo che possa essere posizionato un cerchio molto più grande che nel sud del poligono. Ma quanto può essere grande questo cerchio?


1
Benvenuti in GIS: SE! Stai cercando qualcosa come Zonal Statistics ?
Joseph,

2
Forse sono un po 'cieco ma non riesco a trovare una risposta già esistente alla mia domanda. Il link nella parte superiore di questa pagina "come calcolare le statistiche raster per i poligoni" per la mia opinione non si adatta alla mia domanda. Quindi qualche altra idea forse ??
Christian,

Risposte:


6

Se vuoi conoscere il raggio minimo per un cerchio all'interno di un poligono come hai già detto (e non usare i raster che è ciò che probabilmente puoi fare con le statistiche zonali ) allora richiederà alcuni passaggi:

  • Prendi il tuo livello poligonale (mostrato in un esempio molto semplice) e usa Vettore > Strumenti geometria > Centroidi poligonali . In seguito utilizzeremo questo output "punto centrale".

Poligono semplice

  • Quindi, utilizzare la funzione SAGA Converti poligoni in linee dalla Casella degli strumenti di elaborazione
  • Prendi il livello della linea di output e usa Converti linee in punti , sempre da SAGA (diminuisci la distanza dei punti per generare più punti, questo può aiutarti a dare un risultato più accurato alla fine).

Poligono analizzato

  • Ora possiamo utilizzare la funzione Distanza dall'hub più vicino dalla Casella degli strumenti. Seleziona il livello che hai convertito da linee in punti come Livello punti sorgente ; e seleziona il livello Punto centrale come livello Hub destinazioni . Una volta eseguito questo, dovresti ricevere un livello di output che contiene le distanze da ciascun punto perimetrale al punto centrale:

Distanza da e verso i punti

Attributi di distanza

La distanza minima dovrebbe essere il raggio minimo del cerchio all'interno di quel poligono. Possiamo verificarlo creando un buffer ( Vettore > Strumenti di geoprocessing > Buffer ) sul livello del punto centrale e copiando / incollando la distanza minima dalla tabella degli attributi nell'opzione Distanza buffer :

Buffer


2
Molto ben fatto!
WhiteboxDev

2
Ho trovato questo mentre cercavo una domanda recente cercando di fare sostanzialmente la stessa cosa. Mentre all'inizio pensavo che potesse risolvere il loro problema, nel leggere i tuoi passi sembra esserci un difetto significativo in cui il processo funzionerà solo per poligoni che sono scafi convessi e non scafi concavi. Ciò è dimostrato nella modifica apparente della domanda. Il centroide di una tale forma non cadrà necessariamente al suo interno e anche se lo facesse, puoi vedere che un cerchio più grande si adatterà alle estremità rispetto al centro (dove sarebbe la distanza minima del mozzo) della forma di esempio.
Chris W,

@ChrisW - Grazie amico per averlo menzionato e hai ragione, questo post non risponde completamente alla domanda. Speriamo che ci sia un metodo per affrontare sia gli scafi convessi che quelli concavi o almeno uno in preparazione!
Joseph,

2
Se non li hai già visti, sembra che ET Geowizards abbia uno strumento proprio per questo e un altro utente abbia scritto uno script che lo farà. Sono disponibili alla domanda collegata gis.stackexchange.com/questions/147790
Chris W,

@ChrisW - Fantastico, non ho visto quel post così tante grazie per averlo menzionato!
Giuseppe,

3

Un po 'in ritardo, ma stavo cercando di trovare la stessa cosa, quindi l'ho trovata, ora in QGIS 3x, (non so se le versioni precedenti sono in grado di gestirlo) nello strumento di processo, c'è uno strumento che in spagnolo è chiamato polo di inaccessibilità "polo de inaccesibilidad".

inserisci qui la descrizione dell'immagine

Usalo per creare uno strato di punti posizionati alla distanza più lontana all'interno del poligono. Questa distanza massima è stata aggiunta come attributo inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Quindi, basta usare lo strumento buffer per disegnare cerchi usando questa distanza sul livello punti e otterrai il cerchio più grande all'interno di un poligono

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


2
  1. Trova i cerchi dei punti centrali
  2. Collegare i punti centrali
  3. Trova il punto medio tra i cerchi collegati
  4. Costruisci iperboli, usando i centri come punti di messa a fuoco e punti medi come punto sull'iperbole
  5. Trova punti di intersezione di iperboli
  6. Collegare l'iperbole di intersezione con il cerchio del punto centrale
  7. Trova l'intersezione sul cerchio perimetrale.
  8. Costruisci cerchio.

inserisci qui la descrizione dell'immagine

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.