Vor zwei Tagen stellte ich eine Frage zur internen Speicherreihenfolge für die Eckpunkte eines Polygons in ESRI-Shapefiles. Diese Frage wurde beantwortet ( Werden Polygone in einem Shapefile im oder gegen den Uhrzeigersinn gespeichert? ) Und sie wurde auch in einem alten Beitrag beantwortet ( Polygonerstellung (Drehung im Uhrzeigersinn oder nicht) ).
Aber jetzt ist meine Frage allgemeiner und ich weiß nicht, ob sie eine eindeutige Antwort hat. Gilt die Reihenfolge im Uhrzeigersinn nur für ESRI-Shapefiles oder für allgemeine GIS-Formate? Und wie sieht es mit der internen Darstellung einer GIS-Software aus? Wenn ich beispielsweise QGIS verwende und ein * .shp mit Polygonen lese, gehe ich davon aus, dass die interne Darstellung der äußeren Begrenzung im Uhrzeigersinn erfolgt, wie im ursprünglichen Shapefile. Was ist jedoch mit allen von QGIS unterstützten Dateiformaten? Und für ArcGIS? Und falls es ein Dateiformat gibt, in dem Polygone gegen den Uhrzeigersinn gespeichert sind, wird beim Laden dieser Dateien in QGIS, ArcGIS usw. die Ausrichtung intern geändert. Wenn ich also die Daten mit PyQGIS lese, sind die Polygone beispielsweise im Uhrzeigersinn bestellt?
Mein Ziel ist es, ein Plugin für QGIS zu schreiben, aber die Datenquelle können ESRI-Shapefiles oder andere Formate sein. Da ich die Winkel zwischen aufeinanderfolgenden Seiten von Polygonen mit ihren Azimuten überprüfen muss, muss ich wissen, ob die Reihenfolge im Uhrzeigersinn ist. Eine Lösung besteht darin, die Fläche jedes Polygons zu berechnen. Wenn ich mich recht entsinne, ist die Reihenfolge positiv und negativ und gegen den Uhrzeigersinn.
Die Flächenberechnung ist keine intensive Aufgabe, daher verlangsamt sie mein Plugin nicht so sehr. Aber im speziellen Fall von QGIS weiß jemand, ob die Polygone im oder gegen den Uhrzeigersinn gespeichert werden, unabhängig von der Reihenfolge in der Originalquelle? Inzwischen arbeite ich mit ESRI-Shapefiles und die Koordinaten in layer.getFeatures (). Geometry (). AsPolygon () werden für den äußeren Rand im Uhrzeigersinn und für die Löcher gegen den Uhrzeigersinn gespeichert, dh wie im Original * .shp.
Polygons are oriented correctly. (Exterior ring boundaries must be oriented counterclockwise, and interior ring boundaries must be oriented clockwise.)
, dass Oracle im Gegenuhrzeigersinn arbeitet.