In che modo ArcGIS Desktop calcola il punto INSIDE per Feature to Point?


11

Vorrei fare un backup e dire che da quello che ho capito ci sono due modi comuni per calcolare il centroide di un poligono in ArcGIS Desktop:

  1. Utilizzo di Calculate Geometry su campi all'interno della tabella degli attributi della classe di entità geografiche.
  2. Usando Data Management -> Features -> Feature to Pointdalla casella degli strumenti.

Entrambi danno lo stesso risultato: il centroide geometrico del poligono. Tuttavia, non vi è alcuna garanzia che il punto risieda all'interno del poligono.

Lo strumento Feature to Point ha un'opzione checkbox interna, che secondo la documentazione:

Utilizza una posizione contenuta da una funzione di input come posizione del punto di output.

Quello che vorrei sapere è come viene calcolato questo punto da ArcGIS Desktop e qual è il suo significato "teorico", se questo ha senso.


2
Data la vaghezza generale della documentazione di ESRI, è probabile che sia necessario decodificare la procedura mediante test. Quando l'ho fatto con AV 3.x 15 anni fa, l'algoritmo era (1) trovare il centroide geometrico e quindi (2) spostarlo orizzontalmente nel punto più vicino all'interno del poligono.
whuber

@whuber - in questo caso il punto interno può essere diverso anche se il centroide stesso è all'interno del poligono, quindi questo mi fa pensare che sia un calcolo completamente diverso
mindless.panda

3
Questo post sul forum sul sito ESRI è interessante e sembra indicare che è una scatola nera.
mindless.panda,

Usando python in 9.3.1, ho confrontato alcuni modi possibili per generare un "centroide". Può essere visto qui ! nei forum ESRI.
SaultDon

@mindless Nel vecchio algoritmo, se il centroide era all'interno del poligono, ovviamente non era spostato: coincide con il punto più vicino all'interno del poligono. Tuttavia, il post sul forum che hai trovato rende questo problema discutibile: ESRI ha modificato l'algoritmo. Non desidero dedurlo, tuttavia, è "completamente diverso". Potrebbe essere solo un perfezionamento di quello più vecchio. Tuttavia, non sarà facile decodificare.
whuber

Risposte:


4

Gli algoritmi sono proprietari ma ci sono due concetti di base qui. Il centroide utilizza un algoritmo del baricentro (ci sono molti modi diversi per calcolarlo). La casella di controllo "dentro" calcola un centroide, ma quindi sposta il punto all'interno se cade all'esterno, poiché in alcuni casi è desiderabile.

A livello di ArcObjects questi approcci sono definiti come Centroid e Label Point . Vedere il collegamento Centroid per immagini di esempio.


Mentre questo non ci dice come viene calcolato il punto interno, ci dice che è sinonimo del punto etichetta.
mindless.panda,

1

Abbiamo usato ArcMap 10.3. Funzione calcolata (1) da puntare con l'opzione interna (2) funzione da puntare senza opzione interna (3) centroide calcolando la geometria.

I punti da (2) e (3) condividono la posizione, a volte questi punti si trovano all'esterno del poligono. (1) crea punti all'interno dei poligoni, come previsto, per lo più identici ai punti da (3) e (2). A volte i punti da (1) sono diversi, anche se i punti da (3) o (2) sono all'interno del poligono (!): Non è possibile rilevare una necessità di uno spostamento spaziale per ricevere un punto interno.

I punti spostati da (1) non sono strettamente spostati nella direzione WE o NS. A volte i punti spostati inutilmente si trovano nuovi in ​​una posizione che sicuramente non rappresenta un punto di gravità e sono inaspettati.

Il lavoro scientifico deve essere riproducibile. Non è possibile trovare una documentazione per l'algoritmo né spiegare uno spostamento, soprattutto dove non è necessario. Pertanto, il centroide con funzione ESRI non è applicabile.

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.