¿Cómo invertir el orden de vértices en polígonos?

9

Estoy trabajando con una conexión espacial de Oracle en QGIS a través de la cual estoy accediendo y editando una capa vectorial. Encuentro que cuando edito una geometría, el orden de los vértices se invierte (a la derecha en el anillo exterior) que luego se marca como un error en Oracle.

Estoy usando la función de combinación ( http://www.qgis.org/api/classQgsGeometry.html ) entre otras en mis propias herramientas de edición, pero noto que esto también sucede con la herramienta nativa de combinación de polígonos.

Creo que este reordenamiento en sentido horario es el predeterminado en QGIS basado en este enlace: https://hub.qgis.org/issues/6283 y me preguntaba si hay una manera de revertirlo en sentido antihorario. (preferiblemente con pitón)

user24956
fuente
No sé cómo hacer esto con python, pero Oracle Spatial tiene la función SDO_UTIL.RECTIFY_GEOMETRY que corregirá la orientación de los anillos de polígono. docs.oracle.com/cd/B28359_01/appdev.111/b28400/…
travis

Respuestas:

1

Tal vez exagerado, pero esta publicación puede contener algunos consejos útiles:

¿Cómo puedo cambiar la dirección de línea en QGIS?

Cambiar la dirección de línea para las líneas PostGIS en QGIS o Pgadmin

En PyQGIS, el código mencionado todavía es válido, creo:

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

Dado que QGIS viene con soporte GRASS, eche un vistazo a v.edit tools=flip https://grass.osgeo.org/grass64/manuals/v.edit.html

[versión actual de QGIS 2.14.5.LTR]

Jochen Schwarze
fuente