Il y a deux jours, j'ai posé une question sur l'ordre de stockage interne des sommets d'un polygone dans les fichiers de formes ESRI. Cette question a été répondue (les polygones sont-ils stockés dans le sens horaire ou antihoraire dans un fichier de formes? ) Et il a également été répondu dans un ancien article ( Création de polygones (rotation dans le sens horaire ou non) )
Mais maintenant ma question est plus générale, et je ne sais pas si elle a une réponse unique. L'ordre dans le sens horaire est-il uniquement pour les fichiers de formes ESRI ou pour les formats SIG généraux? Et qu'en est-il de la représentation interne d'un logiciel SIG? Par exemple, si j'utilise QGIS et que je lis un * .shp contenant des polygones, je suppose que la représentation interne de la limite externe est dans le sens horaire comme dans le fichier de formes d'origine, mais qu'en est-il de tous les formats de fichiers pris en charge par QGIS? Et pour ArcGIS? Et dans le cas où il existe un format de fichier avec des polygones stockés dans le sens antihoraire, si ces fichiers sont chargés dans QGIS, ArcGIS, etc., l'orientation est-elle modifiée en interne, donc si je lis les données à l'aide de PyQGIS, par exemple, les polygones sont dans le sens horaire commandé?
Mon but est d'écrire un plugin pour QGIS, mais la source des données peut être des fichiers de formes ESRI ou d'autres formats. Comme je dois vérifier les angles entre les côtés consécutifs des polygones à l'aide de leurs azimuts, j'ai besoin de savoir si l'ordre est dans le sens horaire. Une solution consiste à calculer l'aire de chaque polygone et, si je me souviens bien, s'il est positif, l'ordre est dans le sens horaire et s'il est négatif, l'ordre est dans le sens antihoraire.
Le calcul de zone n'est pas une tâche intensive, donc cela ne ralentira pas tellement mon plugin. Mais dans le cas particulier de QGIS, quelqu'un sait-il s'il stocke les polygones dans le sens horaire ou antihoraire, quel que soit l'ordre dans la source d'origine? À présent, je travaille avec les fichiers de formes ESRI et les coordonnées dans layer.getFeatures (). Geometry (). AsPolygon () sont stockées dans le sens horaire pour la bordure extérieure et dans le sens antihoraire pour les trous, c'est-à-dire comme dans le fichier * .shp d'origine.
Polygons are oriented correctly. (Exterior ring boundaries must be oriented counterclockwise, and interior ring boundaries must be oriented clockwise.)
ce qui signifie qu'Oracle est dans le sens antihoraire.