Bagaimana cara membalikkan pemesanan titik dalam poligon?

9

Saya bekerja dengan koneksi spasial Oracle di QGIS yang melaluinya saya mengakses dan mengedit layer vektor. Saya menemukan bahwa ketika saya mengedit geometri, urutan vertex terbalik (untuk searah jarum jam di lingkaran luar) yang kemudian ditandai sebagai kesalahan dalam oracle.

Saya menggunakan fungsi gabungan ( http://www.qgis.org/api/classQgsGeometry.html ) di antara yang lain di alat pengeditan saya sendiri, tetapi saya perhatikan bahwa ini terjadi dengan alat poligon gabungan asli juga.

Saya pikir pemesanan ulang ini searah jarum jam adalah default di QGIS berdasarkan tautan ini: https://hub.qgis.org/issues/6283 dan bertanya-tanya apakah ada cara untuk membalikkannya ke arah berlawanan arah jarum jam? (lebih disukai dengan python)

pengguna24956
sumber
Saya tidak tahu bagaimana melakukan ini dengan python, tetapi Oracle Spatial memiliki fungsi SDO_UTIL.RECTIFY_GEOMETRY yang akan memperbaiki orientasi cincin poligon. docs.oracle.com/cd/B28359_01/appdev.111/b28400/…
travis

Jawaban:

1

Mungkin berlebihan, tetapi posting ini mungkin berisi beberapa petunjuk bermanfaat:

Bagaimana saya bisa mengubah arah saluran di QGIS?

Ganti arah jalur untuk jalur PostGIS di QGIS atau Pgadmin

Dalam PyQGIS kode yang disebutkan masih valid, saya pikir:

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

Karena QGIS hadir dengan dukungan GRASS, lihat di v.edit tools=flip https://grass.osgeo.org/grass64/manuals/v.edit.html

[versi QGIS saat ini 2.14.5.LTR]

Jochen Schwarze
sumber