Cómo funcionan las herramientas Vecinos de polígonos y Polígonos vecinos por pares

En este tema se describe cómo las herramientas Vecinos de polígonos y Polígonos vecinos por pares buscan vecinos y rellenan la tabla de salida.

Buscar relaciones de vecindad y calcular estadísticas

Las relaciones de vecindad se definen de la siguiente manera:

  • Vecinos superpuestos: polígonos que tienen toda o parte de su área superpuesta.
  • Vecinos de borde: polígonos que tienen límites comunes o que se tocan.
  • Vecinos de nodo: polígonos que se tocan en un punto (para la herramienta Vecinos de polígonos, el límite se toca o se cruza; para la herramienta Polígonos vecinos por pares, el límite se toca).

Para la herramienta Vecinos de polígonos, los polígonos vecinos se encuentran utilizando las mismas reglas para polígonos que la herramienta Intersección.

Para la herramienta Polígonos vecinos por pares, los polígonos vecinos se encuentran utilizando las mismas reglas para polígonos que la herramienta Intersección por pares.

Ambas herramientas siguen una ruta jerárquica para determinar el tipo de vecino y las estadísticas que se registrarán en la tabla de salida. Las relaciones de vecindad, en orden jerárquico de mayor a menor, son superposición, borde coincidente y vecinos de nodo. Una vez que se encuentra un vecino de orden superior, la herramienta calcula y almacena la información de la relación, y se omite el análisis de las relaciones de orden inferior. Las herramientas utilizan el siguiente flujo de trabajo:

  1. Seleccione un polígono para utilizarlo como entidad de origen.
  2. Busque todos los polígonos que se cruzan con el polígono de origen (busque los vecinos).
  3. Para el primer vecino encontrado, analice lo siguiente para el polígono de origen:
    • Cuando el polígono vecino es un vecino superpuesto y se marca el parámetro Incluir área superpuesta, se realiza lo siguiente:
      1. Agregue el campo AREA a la tabla de salida.
      2. Calcule el área de la superposición.
      3. Registre el área calculada para utilizarla en el campo de la tabla AREA de salida.
      4. Registre 0 para utilizarlo en el campo de la tabla LENGTH de salida.
      5. Registre 0 para utilizarlo en el campo de la tabla NODE_COUNT de salida.

        El análisis de vecinos superpuestos ha finalizado.

      6. Analice el siguiente polígono vecino.
    • Cuando el polígono vecino es un vecino de borde, se realiza lo siguiente:
      1. Calcule la longitud del límite coincidente.
      2. Registre la longitud calculada para utilizarla en el campo de la tabla LENGTH de salida.
      3. Registre 0 para utilizarlo en el campo de la tabla NODE_COUNT de salida.

        El análisis de vecinos de borde ha finalizado.

      4. Analice el siguiente polígono vecino.
    • Cuando el polígono vecino es un vecino de nodo, se realiza lo siguiente:
      1. Busque el número de veces que el polígono vecino cruza y toca (la herramienta Polígonos vecinos por pares solo utiliza toques) el polígono de origen en un punto.
      2. Registre este valor de recuento para utilizarlo en el campo de la tabla NODE_COUNT de salida.
      3. Registre 0 para utilizarlo en el campo de la tabla LENGTH de salida.

        El análisis de vecinos de nodo ha finalizado.

      4. Analice el siguiente polígono vecino.

Una vez encontradas las relaciones de vecindad, la herramienta utiliza el valor del parámetro Informe por campos para determinar cómo informar de las relaciones de vecindad y las estadísticas en la tabla de salida. El valor del parámetro Informe por campos se utiliza para identificar polígonos únicos o grupos de polígonos e informar de su información de vecindad referida a los polígonos únicos o grupos de polígonos. Los polígonos del mismo grupo tienen el mismo conjunto de valores de campo.

Ejemplos de Informe por campos

Las subsecciones siguientes describen ejemplos que utilizan el parámetro Informe por campos:

Utilice un campo con valores únicos para cada polígono individual.

Para encontrar los vecinos de cada polígono individual en la entrada, especifique un campo de entrada que tenga un valor único para cada polígono. En este ejemplo, la tabla de entrada de los nueve polígonos tiene un campo myCode que tiene un valor único para cada polígono.

Datos de entrada

La tabla siguiente muestra el resultado de utilizar el campo myCode como valor del parámetro Informe por campos. Los prefijos de los nombres de los campos de origen y vecinos son src_myCode y nbr_myCode.

Tabla de salida

Utilizar un campo con valores que definan grupos de polígonos únicos

Para identificar grupos de polígonos únicos e informar de la información vecina por grupos, especifique un campo que tenga valores únicos de la clasificación. La información vecina se resume en función de cómo se relacionan los grupos únicos. En este ejemplo, los grupos de polígonos únicos se identifican utilizando el campo myClass como valor del parámetro Informe por campos.

Datos de entrada

El siguiente es el resultado de utilizar el campo myClass como valor del parámetro Informe por campos:

  • Para el grupo A con respecto a otros polígonos del grupo A, la longitud total de los bordes coincidentes es 1200, que proviene de los seis bordes coincidentes entre los polígonos del grupo A.
    Nota:

    La tabla de salida solo contendrá un registro único para cada combinación única de valores de polígonos de origen y vecinos especificados utilizando el parámetro Informe por campos. Dado que el grupo A se utiliza como origen y el vecino como un lado de la relación, y la relación inversa también es el grupo A como origen y el vecino, el total de ambos lados de la relación de vecino se encuentra en un registro.

  • Entre el grupo A y el grupo B solo hay dos bordes coincidentes con una longitud total de 200. Esto también ocurre entre el grupo B y el grupo A.
  • Entre el grupo A y el grupo C hay tres bordes coincidentes con una longitud total de 300. Esto también ocurre entre el grupo C y el grupo A.
  • Para el grupo B con respecto a otros polígonos del grupo B, a diferencia del grupo A, no se encontró ninguna relación de vecindad, por lo que no hay nada que informar en la salida.

Tabla de salida

Utilice varios campos con valores combinados que definan grupos de polígonos únicos.

En este ejemplo, los valores del campo myZone representan una clasificación de los polígonos y los valores del campo myClass representan una segunda clasificación.

Datos de entrada

Cuando se especifican dos campos, myZone y myClass, como valor del parámetro Informe por campos, los valores combinados de los dos campos darán como resultado los siguientes grupos de polígonos únicos:

  • Grupo Z1-A
  • Grupo Z1-C
  • Grupo Z2-A
  • Grupo Z2-B
  • Grupo Z2-C

La tabla de salida siguiente muestra la información vecina de estos grupos. Las primeras ocho filas representan los grupos únicos de valores Z1 combinados con los valores del campo myClass que son los grupos de origen y sus grupos vecinos en Z1 y Z2.

  • El grupo de origen Z1-A tiene seis bordes coincidentes dentro del grupo (similar al grupo A del ejemplo anterior) y la longitud total de los bordes coincidentes es 600.
  • El grupo de origen Z1-A es un vecino de borde con el grupo vecino Z1-C y la longitud total de los bordes coincidentes es 200.
  • El grupo de origen Z1-A es un vecino de borde con el grupo vecino Z2-A, y la longitud total de los bordes coincidentes es 300.
  • El grupo de origen Z1-A no es un vecino de borde con el grupo vecino Z1-B, pero el límite del grupo vecino Z1-B toca el grupo de origen Z1-A en un nodo y es un vecino de nodo. Por consiguiente, el valor del campo LENGTH es 0 y el valor del campo NODE_COUNT es 1.

Tabla de salida

Datos de entrada con y sin polígonos superpuestos

Los ejemplos siguientes muestran detalles de cómo se analizan las relaciones de vecindad en orden jerárquico de mayor a menor al ejecutar los datos de entrada con y sin superposición de áreas. Los ejemplos utilizan un único campo para el valor del parámetro Informe por campos que contiene valores únicos para cada polígono. En cada ejemplo, se señalan las diferencias entre las herramientas Vecinos de polígonos y Polígonos vecinos por pares.

Datos de entrada que no contienen polígonos superpuestos

Los datos de entrada utilizados en los dos casos siguientes contienen polígonos no superpuestos.

El parámetro Incluir superposición de áreas no está marcado

Los cuatro polígonos de entrada que se muestran a continuación no se superponen. Cuando se ejecuta la herramienta con el parámetro Incluir superposición de áreas desmarcado, la herramienta solo comprueba los vecinos de bordes y nodos, en ese orden. Utilizando el polígono 1 como polígono de origen como ejemplo, se encuentran tres polígonos vecinos y se muestra la siguiente información en la tabla de salida siguiente:

  • El polígono 2 tiene un borde coincidente con el polígono 1, por lo que es un vecino de borde. La longitud del borde coincidente, 100, se escribe en el campo LENGTH. Se omite el análisis de vecinos de nodo y el campo NODE_COUNT tiene un valor de 0. Este es también el caso del polígono 4.
  • El polígono 5 no tiene un borde coincidente con el polígono 1 y el campo LENGTH tiene un valor de 0. Sin embargo, el polígono 5 toca el polígono 1 en un punto, por lo que es un vecino de nodo del polígono 1 y tiene el valor 1 para el campo NODE_COUNT.

Datos de entrada con tabla de salida

El parámetro Incluir superposición de áreas está marcado

Cuando el parámetro Incluir superposición de áreas está marcado, la tabla de salida contendrá el campo AREA. Todos los valores del campo AREA serán 0, ya que ninguno de los polígonos se superpone. El análisis de los vecinos de bordes y nodos continúa y los valores de campo LENGTH y NODE_COUNT son los mismos que en el ejemplo del parámetro Informe por campos.

Los datos de entrada contienen polígonos superpuestos.

Los datos de entrada utilizados en los dos ejemplos siguientes contienen polígonos superpuestos.

El parámetro Incluir superposición de áreas no está marcado

Entre los cuatro polígonos siguientes, solo se produce una superposición, un borde o un nodo vecino entre dos polígonos cualesquiera. Cuando el parámetro Incluir superposición de áreas no está marcado, la herramienta solo comprueba los bordes y los nodos vecinos (en ese orden), y el resultado no contiene el campo AREA. Utilizando el polígono 1 como polígono de origen como ejemplo, se encuentran tres polígonos vecinos y se muestra la siguiente información en la tabla de salida siguiente:

  • Los polígonos 2 y 5 tienen un borde coincidente con el polígono 1 y la longitud del borde, 20, se escribe en el campo LENGTH. El análisis de vecinos de nodos se omite aunque el polígono 2 cruza el polígono 1 en un punto. El campo NODE_COUNT tiene un valor de 0.
  • El polígono 4 tiene un borde coincidente con el polígono 1 y la longitud del borde coincidente, 100, se escribe en el campo LENGTH.

Datos de entrada y tabla de salida

El parámetro Incluir superposición de áreas está marcado.

Utilizando el polígono 1 como polígono de origen para un ejemplo, se encuentran tres polígonos vecinos y se muestra la siguiente información en la tabla de salida cuando se marca el parámetro Incluir superposición de áreas:

  • El polígono 2 se superpone al polígono 1 y el área de superposición, 1600, se escribe en el campo AREA. El análisis de los vecinos de aristas y nodos se omite aunque el polígono 2 tiene un borde coincidente con el polígono 1 y lo cruza en un punto. Los campos LENGTH y NODE_COUNT tienen un valor de 0.
  • El polígono 4 tiene un borde coincidente con el polígono 1 y la longitud coincidente del borde, 100, se escribe en el campo LENGTH.
  • El polígono 5 tiene un borde coincidente con el polígono 1 y la longitud del borde coincidente, 20, se escribe en el campo LENGTH. El análisis de vecinos de nodos se omite aunque cruza el polígono 1 en un punto (la herramienta Polígonos vecinos por pares solo utiliza toques, por lo que esta situación de cruce no se tiene en cuenta). El campo NODE_COUNT tiene un valor de 0.

Datos de entrada y tabla de salida

Los datos de entrada contienen polígonos que se cruzan con otro polígono más de una vez.

En los datos de entrada utilizados en los ejemplos que se describen a continuación, se producen solapamientos, bordes o nodos vecinos más de una vez entre dos polígonos. Los valores de los campos de salida —AREA, LENGTH y NODE_COUNT— son la suma de todas las ocurrencias de cada tipo de vecino.

El parámetro Incluir superposición de áreas no está marcado

Los dos polígonos siguientes se superponen en dos lugares y tienen dos bordes coincidentes. Cuando el parámetro Incluir superposición de áreas está desmarcado, la herramienta no analiza la superposición entre las dos entidades. Encuentra los dos bordes coincidentes y escribe la suma de las dos longitudes de los bordes coincidentes, 40, en el campo LENGTH. Se omite el análisis de los vecinos de los nodos, por lo que se introduce un valor de 0 en el campo NODE_COUNT. Este es el caso del polígono 1 como polígono de origen y el polígono 2 como vecino, y viceversa.

El parámetro Incluir superposición de áreas está marcado

Para los mismos dos polígonos siguientes, cuando el parámetro Incluir superposición de áreas está marcado, la herramienta encuentra dos superposiciones de áreas y escribe la suma de las dos áreas, 800, en el campo AREA. Se omite el análisis de los vecinos de aristas y nodos, y se introduce el valor 0 en los campos LENGTH y NODE_COUNT. Este es el caso del polígono 1 como polígono de origen y el polígono 2 como vecino, y viceversa.

Datos de entrada y tablas de salida

El parámetro Incluir superposición de áreas no está marcado y no existen bordes coincidentes entre los polígonos de entrada

Para ambas herramientas en este escenario, no se encuentran bordes coincidentes y se escribe 0 en el campo LENGTH. Las herramientas continúan con el análisis de los vecinos de los nodos, la herramienta Vecinos de polígonos encuentra que los límites se cruzan dos veces, mientras que la herramienta Polígonos vecinos por pares no tiene en cuenta las relaciones cruzadas y devuelve una salida vacía. Dado que la herramienta Vecinos de polígonos tiene en cuenta las relaciones cruzadas, escribe el valor 2 en el campo NODE_COUNT. Este es el caso del polígono 1 como polígono de origen y el polígono 2 como vecino, y viceversa, como se muestra en la tabla de salida siguiente:

Datos de entrada y tabla de salida

Casos especiales

Los datos de entrada utilizados en los dos casos especiales siguientes pueden parecer iguales, pero cubren el área de forma diferente, como se explica a continuación.

Polígono que cubre el hueco de otro polígono

En este caso, el polígono 2 tiene un hueco que está cubierto por el polígono 1. Los dos polígonos no se superponen, por lo que no es necesario realizar el análisis de vecinos superpuestos. Cuando el polígono 1 es el polígono de origen y el polígono 2 tiene un borde coincidente de 200 con el polígono 1, este valor se escribe en el campo LENGTH. El valor NODE_COUNT del campo es 0. Del mismo modo, cuando el polígono 2 es el polígono de origen, el polígono 1 tiene un borde coincidente de 200 con el polígono 2, lo que da como resultado los mismos valores en el campo LENGTH para cada registro.

Datos de entrada y tabla de salida

Polígono que se superpone completamente a otro polígono

En este caso, los polígonos 1 y 2 se superponen entre sí. Debe marcar el parámetro Incluir superposición de áreas para que esta relación de vecindad se encuentre en el análisis. Tanto para el polígono 1, que es el de origen, como para el polígono 2, que es el vecino, y viceversa, el área superpuesta de 2500 se muestra en la tabla de salida siguiente.

Datos de entrada y tabla de salida