Jak odwrócić kolejność wierzchołków w wielokątach?

9

Pracuję z przestrzennym połączeniem Oracle w QGIS, za pośrednictwem którego uzyskuję dostęp i edytuję warstwę wektorową. Zauważyłem, że kiedy edytuję geometrię, kolejność wierzchołków jest odwrócona (w kierunku zgodnym z ruchem wskazówek zegara w pierścieniu zewnętrznym), a następnie jest oznaczana jako błąd w wyroczni.

Używam funkcji łączenia ( http://www.qgis.org/api/classQgsGeometry.html ) między innymi w moich własnych narzędziach do edycji, ale zauważam, że dzieje się tak również z rodzimym narzędziem do łączenia wielokątów.

Myślę, że to ponowne porządkowanie w kierunku zgodnym z ruchem wskazówek zegara jest domyślnym ustawieniem w QGIS na podstawie tego linku: https://hub.qgis.org/issues/6283 i zastanawiałem się, czy istnieje sposób, aby odwrócić go w kierunku przeciwnym do ruchu wskazówek zegara? (najlepiej z pythonem)

użytkownik24956
źródło
Nie wiem, jak to zrobić za pomocą Pythona, ale Oracle Spatial ma funkcję SDO_UTIL.RECTIFY_GEOMETRY, która poprawi orientację pierścieni wielokąta. docs.oracle.com/cd/B28359_01/appdev.111/b28400/…
travis,

Odpowiedzi:

1

Może przesadzone, ale te posty mogą zawierać przydatne wskazówki:

Jak mogę zmienić kierunek linii w QGIS?

Zmień kierunek linii dla linii PostGIS w QGIS lub Pgadmin

Myślę, że w PyQGIS wspomniany kod jest nadal aktualny:

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

Ponieważ QGIS jest wyposażony w obsługę GRASS, spójrz na v.edit tools=flip https://grass.osgeo.org/grass64/manuals/v.edit.html

[aktualna wersja QGIS 2.14.5.LTR]

Jochen Schwarze
źródło