¿Cómo calcula ArcGIS Desktop el punto DENTRO de la función Punto a punto?

11

Permítanme hacer una copia de seguridad y decir que, por lo que entiendo, hay dos formas comunes de calcular el centroide de un polígono en ArcGIS Desktop:

  1. Uso de Calcular geometría en campos dentro de la tabla de atributos de la clase de entidad.
  2. Utilizando Data Management -> Features -> Feature to Pointdesde la caja de herramientas.

Ambos dan el mismo resultado: el centroide geométrico del polígono. Sin embargo, no hay garantía de que ese punto se encuentre dentro del polígono.

La herramienta Feature to Point tiene una opción de casilla de verificación interna, que de acuerdo con la documentación:

Utiliza una ubicación contenida por una característica de entrada como su ubicación de punto de salida.

Lo que me gustaría saber es cómo ArcGIS Desktop calcula este punto y cuál es su significado "teórico", si eso tiene sentido.

mindless.panda
fuente
2
Dada la vaguedad general de la documentación de ESRI, es probable que deba realizar una ingeniería inversa del procedimiento mediante pruebas. Cuando hice esto con AV 3.x hace 15 años, el algoritmo era (1) encontrar el centroide geométrico y luego (2) moverlo horizontalmente al punto más cercano dentro del polígono.
whuber
@whuber: en este caso, el punto interno puede ser diferente incluso si el centroide en sí está dentro del polígono, por lo que me hace pensar que es un cálculo completamente diferente
mindless.panda
3
Esta publicación del foro en el sitio de ESRI es interesante y parece indicar que es un cuadro negro.
mindless.panda
Usando python en 9.3.1, comparé algunas formas posibles de generar un 'centroide'. Se puede ver aquí ! en los foros de ESRI.
SaultDon
@mindless En el antiguo algoritmo, si el centroide estaba dentro del polígono, por supuesto, no se movió: coincide con el punto más cercano dentro del polígono. Sin embargo, la publicación del foro que encontró hace que este problema sea discutible: ESRI ha cambiado el algoritmo. Sin embargo, no inferiría que es "completamente diferente". Podría ser solo un refinamiento del anterior. Sin embargo, no será fácil realizar ingeniería inversa.
whuber

Respuestas:

4

Los algoritmos son propietarios pero hay dos conceptos básicos aquí. El centroide utiliza un algoritmo de centro de gravedad (hay muchas formas diferentes de calcular esto). La casilla de verificación "dentro" calcula un centroide pero luego mueve el punto hacia adentro si queda afuera, ya que esto es deseable en algunos casos.

En el nivel de ArcObjects, estos enfoques se definen como el Centroide y el Punto de etiqueta . Vea el enlace Centroide para ver imágenes de ejemplo.

Craig Williams
fuente
Si bien esto no nos dice cómo se calcula el punto interno, sí nos dice que es sinónimo del punto de etiqueta.
mindless.panda
1

Hemos utilizado ArcMap 10.3. Calculado (1) entidad para apuntar con opción interna (2) entidad para apuntar sin opción interna (3) centroide calculando geometría.

Los puntos de (2) y (3) comparten ubicación, a veces estos puntos están fuera del polígono. (1) crea puntos dentro de los polígonos, como se esperaba, en su mayoría idénticos a los puntos de (3) y (2). A veces, los puntos de (1) son diferentes, incluso cuando los puntos de (3) o (2) están dentro del polígono (!): No podemos detectar la necesidad de un desplazamiento espacial para recibir un punto interior.

Los puntos desplazados desde (1) no se desplazan estrictamente en dirección WE o NS. A veces, los puntos desplazados innecesariamente se ubican en una posición que definitivamente no representa un punto de gravedad y son inesperados.

El trabajo científico debe ser reproducible. No podemos encontrar una documentación para el algoritmo ni explicar un cambio, especialmente cuando no es necesario. Por lo tanto, el centroide con función ESRI no es aplicable.

Christoph
fuente