Wie kann man die Scheitelpunktreihenfolge in Polygonen umkehren?

9

Ich arbeite mit einer räumlichen Oracle-Verbindung in QGIS, über die ich auf eine Vektorebene zugreife und diese bearbeite. Ich finde, dass beim Bearbeiten einer Geometrie die Scheitelpunktreihenfolge umgekehrt wird (im äußeren Ring im Uhrzeigersinn), was dann als Fehler im Orakel gekennzeichnet wird.

Ich verwende die Kombinationsfunktion ( http://www.qgis.org/api/classQgsGeometry.html ) unter anderem in meinen eigenen Bearbeitungswerkzeugen, aber ich stelle fest, dass dies auch mit dem nativen Werkzeug zum Zusammenführen von Polygonen geschieht.

Ich denke, diese Neuordnung im Uhrzeigersinn ist die Standardeinstellung in QGIS basierend auf diesem Link: https://hub.qgis.org/issues/6283 und habe mich gefragt, ob es eine Möglichkeit gibt, sie gegen den Uhrzeigersinn umzukehren. (vorzugsweise mit Python)

user24956
quelle
Ich weiß nicht, wie ich das mit Python machen soll, aber Oracle Spatial hat die Funktion SDO_UTIL.RECTIFY_GEOMETRY, die die Ausrichtung von Polygonringen korrigiert. docs.oracle.com/cd/B28359_01/appdev.111/b28400/…
Travis

Antworten:

1

Vielleicht übertrieben, aber dieser Beitrag könnte einige nützliche Hinweise enthalten:

Wie kann ich die Leitungsrichtung in QGIS wechseln?

Leitungsrichtung für PostGIS-Leitungen in QGIS oder Pgadmin wechseln

In PyQGIS ist der dort erwähnte Code noch gültig, denke ich:

geom = feature.geometry()
nodes = geom.asPolyline()
nodes.reverse() 
newgeom = QgsGeometry.fromPolyline(nodes)
layer.changeGeometry(feature.id(),newgeom)

Da QGIS mit GRASS-Unterstützung geliefert wird, besuchen Sie v.edit tools=flip https://grass.osgeo.org/grass64/manuals/v.edit.html

[aktuelle QGIS-Version 2.14.5.LTR]

Jochen Schwarze
quelle