วิธีการกลับจุดยอดการสั่งซื้อในรูปหลายเหลี่ยม?


9

ฉันทำงานกับการเชื่อมต่อเชิงพื้นที่ของ Oracle ใน QGIS ซึ่งฉันกำลังเข้าถึงและแก้ไขเลเยอร์เวกเตอร์ ฉันพบว่าเมื่อฉันแก้ไขรูปทรงเรขาคณิตการจัดลำดับจุดสุดยอดจะถูกกลับรายการ (เป็นตามเข็มนาฬิกาในวงแหวนด้านนอก) ซึ่งจะถูกตั้งค่าสถานะเป็นข้อผิดพลาดใน oracle

ฉันกำลังใช้ฟังก์ชั่นการรวมกัน ( http://www.qgis.org/api/classQgsGeometry.html ) ท่ามกลางคนอื่น ๆ ในเครื่องมือแก้ไขของฉันเอง แต่ฉันสังเกตว่าสิ่งนี้เกิดขึ้นกับเครื่องมือรูปหลายเหลี่ยมผสานดั้งเดิม

ฉันคิดว่าการสั่งซื้อตามเข็มนาฬิกานี้เป็นค่าเริ่มต้นใน QGIS ตามลิงค์นี้: https://hub.qgis.org/issues/6283และสงสัยว่ามีวิธีที่จะย้อนกลับเป็นทวนเข็มนาฬิกาหรือไม่? (ควรมีงูหลาม)


ฉันไม่รู้ว่าจะทำอย่างไรกับ python แต่ Oracle Spatial มีฟังก์ชั่น SDO_UTIL.RECTIFY_GEOMETRY ที่จะแก้ไขการวางแนวของวงแหวนรูปหลายเหลี่ยม docs.oracle.com/cd/B28359_01/appdev.111/b28400/…
รวิส

คำตอบ:


1

อาจจะมากเกินไป แต่โพสต์เหล่านี้อาจมีคำแนะนำที่เป็นประโยชน์:

ฉันจะเปลี่ยนทิศทางของเส้นใน QGIS ได้อย่างไร?

สลับทิศทางของเส้นสำหรับ PostGIS-line ใน 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]

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.