Saltar al contenido

Orden de los vértices de los polígonos en SIG general: en sentido horario o antihorario

Solución:

En la especificación OGC, que se puede descargar [here], (http://www.opengeospatial.org/standards/sfs) afirman:

“La rotación del polígono no está definida por este estándar; la rotación real del polígono puede ser en sentido horario o antihorario”.

En los documentos de Oracle, se establece claramente que los límites del anillo exterior están orientados en sentido antihorario y los límites del anillo interior, en el sentido de las agujas del reloj. Del mismo modo, en SQL Server Spatial, el tipo de datos geográficos sigue una regla en sentido contrario a las agujas del reloj para el anillo exterior y en el sentido de las agujas del reloj para los anillos interiores; consulte este blog de MicroSoft para obtener más detalles. Postgis parece permitirlo de cualquier manera, para geometrías, y tiene funciones que obligarán a la geometría de un polígono a seguir una regla de la mano derecha o izquierda, consulte ST_ForceRHR y ForceLHR. JTS / Geos parece haber seguido la regla de la mano derecha, es decir, una orientación del anillo exterior en el sentido de las agujas del reloj, por lo que en realidad no está nada claro.

En general, tiene sentido que un tipo de datos geográficos fuerce la orientación, ya que de lo contrario sería imposible saber si un pequeño polígono es solo eso o el anillo interior de un polígono mundial completo. Con un tipo de datos de geometría en una superficie plana, esta confusión no puede surgir, ya que el anillo exterior y el anillo interior siguen en orden, y si solo hay un anillo único, será envolvente (sin importar la orientación), a diferencia de un globo , que envuelve.


De un comentario de @mxfh: El acceso a características simples de OpenGIS de OGC (ISO 19125-1) especifica una dirección en sentido antihorario para los anillos exteriores a partir del documento de la versión 1.2.1 [OGC 06-103r4] 6.1.11.1/page 26 de opengeospatial.org/standards/sfa. El cambio se introdujo entre la versión 1.1.0 y 1.2.0 en 2006 más reciente. La nota a pie de página que está citando no se ha actualizado desde 2005

Las direcciones del anillo (límite) son necesarias para evitar ambigüedades en los sistemas de coordenadas geográficas que cubren una superficie finita, ya que el límite definiría dos áreas, una a la izquierda y otra a la derecha del límite a lo largo de su dirección. Es posible determinar cuál de esas dos áreas es la más grande, pero aún deja la ambigüedad.

Aquí hay una descripción general de las direcciones del anillo exterior de los polígonos en varios formatos según sus especificaciones:

Ilustración del orden de bobinado de Shapefiles y funciones simples

  • El acceso a funciones simples (ISO 19125-1) también se utiliza en WKT / GML / KML y varias implementaciones de SQL:

    • anillos exteriores: en sentido antihorario
    • anillos interiores (agujeros): sentido horario.

    Un polígono es una superficie plana definida por 1 límite exterior y 0 o más límites interiores. Cada límite interior define un agujero en el polígono. […]

    El límite exterior LinearRing define la “parte superior” de la superficie, que es el lado de la superficie desde el cual el exterior El límite parece atravesar el límite en un en sentido anti-horario dirección. los interior LinearRings tendrá la orientación opuesta y aparecerá como agujas del reloj cuando se ve desde la “parte superior” … Especificaciones de acceso a funciones simples

    En la mayoría de las implementaciones, el orden de los anillos en un POLYGON es importante (a diferencia de los shapefiles)

    Para un polígono con huecos, su primer subelemento es su anillo exterior, su segundo subelemento es su primer anillo interior, su tercer subelemento es su segundo anillo interior, y así sucesivamente. Oracle espacial

    Los anidamientos más profundos, también conocidos como isla-en-un-lago-en-una-isla -… deben representarse como MultiPolygons (ver figura 2.10 (4)), ya que solo puede haber un borde exterior y anidamientos más profundos que los anillos interiores no están definidos.

  • Archivos de forma ESRI / SHP:

    • anillos exteriores: en sentido horario
    • anillos interiores: en sentido antihorario

    Un polígono consta de uno o más anillos. Un anillo es una secuencia conectada de cuatro o más puntos que forman un bucle cerrado que no se cruza por sí mismo. Un polígono puede contener múltiples anillos exteriores. El orden de los vértices o la orientación de un anillo indica qué lado del anillo es el interior del polígono. La vecindad a la derecha de un observador que camina a lo largo del anillo en orden de vértice es la vecindad dentro del polígono. Vértices de anillos que definen agujeros en polígonos están en un en sentido anti-horario dirección. Los vértices de un único polígono anillado están, por lo tanto, siempre en agujas del reloj pedido. […]

    El orden de los anillos en los puntos. array no es significativo. Informe técnico de ESRI

    Dado que se permiten múltiples límites exteriores, las configuraciones de isla en un lago en una isla son posibles con esta definición de polígono. Topológicamente, la isla en un lago sería simplemente otro anillo exterior en el sentido de las agujas del reloj. Efectivamente, esto hace que un polígono ESRI Shapefile sea un MultiPolygon de características simples

    Si no ordena los puntos correctamente, solo tendrá polígonos superpuestos. pyshp

  • GeoJSON (RFC7946):

    NOTA: Las especificaciones originales de GeoJSON 2008 no tenían ningún orden de bobinado aplicado.

    • orden de bobinado: el anillo exterior es en sentido antihorario (regla de la mano derecha)
    • los anillos interiores están en el sentido de las agujas del reloj
    • el orden de los anillos es importante:

      Para polígonos con múltiples anillos, el primero debe ser el anillo exterior y los demás deben ser anillos o agujeros interiores. Especificaciones de GeoJSON

  • TopoJSON: fuerza los anillos exteriores en el sentido de las agujas del reloj de forma predeterminada

Ilustración del orden de bobinado de Shapefiles y funciones simples

Excursión:

El razonamiento matemático de por qué se alternan los órdenes de enrollamiento de los anillos anidados es que al calcular el área con la fórmula de los cordones de los zapatos (explicación visual) se calculan las áreas con signo según la dirección del anillo.

En general, los anillos anidados (límites interiores) se consideran agujeros y tienen la dirección alternativa del anillo exterior. Su valor de área con signo de contribución es negativo. Donde los anillos exteriores son positivos. El área total de todas las entidades del anillo es la suma de todas las áreas firmadas.

Según lo implementado por ESRI, consulte esta entrada de la base de conocimientos: ¿Qué algoritmo utiliza ArcGIS para determinar el área de un polígono?

Mnemónico propuesto

Extremos abiertos de formas de letras interpretadas como flechas:

  • Shapefile: S → ᔑ → ↻
  • Simple Fmiaturmis: e → ᘓ (enrollado hacia afuera en sentido antihorario) → ↺
  • GeoJSON: G (la raíz de G es una flecha) → ↺

No sé si nadie podrá dar una respuesta definitiva a su pregunta, ya que cada formato de archivo vectorial es diferente y cada SIG, en términos de cómo manejan internamente estos datos, también será diferente. Pero puedo decirle con certeza que el orden en el sentido de las agujas del reloj no es solo para ESRI Shapefiles. Hay otros formatos que utilizan una designación similar de ordenamiento en el sentido de las agujas del reloj para los anillos externos y en sentido contrario a las agujas del reloj para los polígonos de orificios interiores. Por ejemplo, la estructura poligonal del vector JTS utiliza un formato similar. De hecho, se afirma aquí que históricamente esto iba a ser similar al enfoque de ESRI. También puedo decir definitivamente que no, no todos los formatos tienen este requisito. Por ejemplo, las especificaciones del formato GeoJSON no establecen tal requisito sobre el orden de los vértices en su formato poligonal. La especificación KML en realidad dice:

Los polígonos para deben especificarse en sentido contrario a las agujas del reloj. Los polígonos siguen la “regla de la mano derecha”, que establece que si coloca los dedos de la mano derecha en la dirección en la que se especifican las coordenadas, el pulgar apunta en la dirección general de la normal geométrica del polígono.

De modo que existe y se implementan todas las opciones. ¡Es un mundo salvaje!

Eres capaz de animar nuestro trabajo dejando un comentario y dejando una puntuación te estamos agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *