Як повернути впорядкування вершин у багатокутниках?


9

Я працюю з просторовим з'єднанням Oracle у QGIS, завдяки якому я отримую доступ та редагую векторний шар. Я вважаю, що коли я редагую геометрію, упорядкування вершин змінюється на зворотному напрямку (за годинниковою стрілкою у зовнішньому кільці), яке потім позначається як помилка в oracle.

Я використовую функцію комбінування ( http://www.qgis.org/api/classQgsGeometry.html ) серед інших у власних інструментах редагування, але зауважую, що це трапляється і з нативним інструментом злиття полігонів.

Я думаю, що це переупорядкування за годинниковою стрілкою є типовим у QGIS за цим посиланням: https://hub.qgis.org/isissue/6283, і мені було цікаво, чи є спосіб повернути його проти годинникової стрілки? (бажано з пітоном)


Я не знаю, як це зробити з python, але Oracle Spatial має функцію SDO_UTIL.RECTIFY_GEOMETRY, яка буде коригувати орієнтацію кілець полігону. docs.oracle.com/cd/B28359_01/appdev.111/b28400 / ...
Travis

Відповіді:


1

Можливо, перестаралися, але ця публікація може містити корисні підказки:

Як я можу переключити напрямок лінії в QGIS?

Перемикайте напрямок лінії для PostGIS-рядків у QGIS або Pgadmin

У PyQGIS згаданий код все ще діє, я думаю:

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

Оскільки QGIS має підтримку GRASS, ознайомтеся з v.edit tools=flip https://grass.osgeo.org/grass64/manuals/v.edit.html

[поточна версія QGIS 2.14.5.LTR]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.