Hace dos días, hice una pregunta sobre el orden de almacenamiento interno para los vértices de un polígono en los archivos de forma ESRI. Esa pregunta fue respondida ( ¿Los polígonos se almacenan en sentido horario o antihorario en un archivo de forma? ) Y también se respondió en una publicación anterior ( Creación de polígonos (rotación en sentido horario o no) )
Pero ahora mi pregunta es más general, y no sé si tiene una respuesta única. ¿Es el orden en el sentido de las agujas del reloj solo para los archivos de forma ESRI o para los formatos GIS generales? ¿Y qué hay de la representación interna de un software SIG? Por ejemplo, si uso QGIS y leo un * .shp que contiene polígonos, supongo que la representación interna del límite exterior es en el sentido de las agujas del reloj como en el archivo de forma original, pero ¿qué pasa con todos los formatos de archivo compatibles con QGIS? ¿Y para ArcGIS? Y en el caso de que exista un formato de archivo con polígonos almacenados en sentido antihorario, si estos archivos se cargan en QGIS, ArcGIS, etc., la orientación cambia internamente, por lo que si leo los datos usando PyQGIS, por ejemplo, los polígonos son en sentido horario ¿ordenado?
Mi propósito es escribir un complemento para QGIS, pero la fuente de datos puede ser archivos de forma ESRI u otros formatos. Como necesito verificar los ángulos entre lados consecutivos de polígonos usando sus acimutes, necesito saber si el orden es en el sentido de las agujas del reloj. Una solución es calcular el área de cada polígono y, si no recuerdo mal, si es positivo, el orden es en sentido horario y si es negativo, el orden es en sentido antihorario.
El cálculo del área no es una tarea intensiva, por lo que no ralentizará mucho mi complemento. Pero en el caso especial de QGIS, ¿alguien sabe si almacena los polígonos en sentido horario o antihorario, independientemente del orden en la fuente original? En este momento estoy trabajando con archivos de forma ESRI y las coordenadas en layer.getFeatures (). Geometry (). AsPolygon () se almacenan en sentido horario para el borde exterior y en sentido antihorario para los agujeros, es decir, como en el * .shp original.
Polygons are oriented correctly. (Exterior ring boundaries must be oriented counterclockwise, and interior ring boundaries must be oriented clockwise.)
que significa que Oracle está en sentido antihorario.