Como reverter a ordem dos vértices nos polígonos?

9

Estou trabalhando com uma conexão espacial Oracle no QGIS, através da qual estou acessando e editando uma camada vetorial. Descobri que quando edito uma geometria, a ordem dos vértices é invertida (no sentido horário no anel externo), que é sinalizada como um erro no oracle.

Estou usando a função de combinação ( http://www.qgis.org/api/classQgsGeometry.html ) entre outras em minhas próprias ferramentas de edição, mas percebo que isso também acontece com a ferramenta de polígonos de mesclagem nativa.

Eu acho que esse reordenamento no sentido horário é o padrão no QGIS com base neste link: https://hub.qgis.org/issues/6283 e fiquei imaginando se existe uma maneira de revertê-lo no sentido anti-horário? (de preferência com python)

user24956
fonte
Não sei como fazer isso com python, mas o Oracle Spatial tem a função SDO_UTIL.RECTIFY_GEOMETRY que corrigirá a orientação dos anéis de polígonos. docs.oracle.com/cd/B28359_01/appdev.111/b28400/…
travis

Respostas:

1

Talvez exagere, mas essas postagens podem conter algumas dicas úteis:

Como posso mudar a direção da linha no QGIS?

Alternar direção da linha para linhas PostGIS no QGIS ou Pgadmin

No PyQGIS, o código mencionado ainda é válido, eu acho:

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

Como o QGIS vem com suporte para GRASS, consulte v.edit tools=flip https://grass.osgeo.org/grass64/manuals/v.edit.html

[versão atual do QGIS 2.14.5.LTR]

Jochen Schwarze
fonte