การสร้างระยะห่างที่กำหนดอย่างสม่ำเสมอ # ของคะแนนภายในรูปหลายเหลี่ยมใน QGIS


12

ฉันใช้เครื่องมือการวิจัย "คะแนนปกติ" เพื่อสร้างจุดจำนวนหนึ่งภายในรูปหลายเหลี่ยม แต่มันเป็นรูปสี่เหลี่ยมของจุดที่เป็นรูปสี่เหลี่ยมแทนที่จะอยู่ในรูปของรูปหลายเหลี่ยมเท่านั้น เนื่องจากฉันต้องการคะแนนจำนวนหนึ่งในรูปหลายเหลี่ยมจึงมีวิธีใดที่ทำได้โดยไม่ต้องลองผิดลองถูก?

เช่นตอนนี้มีเพียง 8 จาก 25 คะแนนที่ฉันต้องการอยู่ภายในรูปหลายเหลี่ยม แต่ฉันต้องการ 25 คะแนนดังนั้นฉันสามารถเพิ่มเป็น 50 คะแนนและดูจำนวนที่ปรากฏภายในรูปหลายเหลี่ยม

ป้อนคำอธิบายรูปภาพที่นี่


ฉันต้องการสร้างระยะห่างอย่างสม่ำเสมอกำหนด # จุดภายในรูปหลายเหลี่ยมใน QGIS มีปลั๊กอินสำหรับสิ่งนี้หรือไม่ ฉันสามารถทำได้ด้วยการต่อขยายของ Arcgis ที่เรียกว่า ET GEOWIZARD (เครื่องแบบจุดเป็นรูปหลายเหลี่ยม) แต่ฉันต้องทำใน QGIS !! คุณสามารถช่วยฉันได้ไหม?
Ana María

คำตอบ:


3

สิ่งที่ QGIS อ้างถึงในแง่ของขอบเขตเลเยอร์เป็นจริงซองจดหมายหรือกล่องขอบเขตของรูปทรงเรขาคณิต

ฉันได้ทำเอกสารวิธีแก้ปัญหาซึ่งน่าจะใกล้เคียงที่สุดที่คุณจะได้รับโดยอัตโนมัติคือ

กระบวนการทำงานขึ้นอยู่กับอัตราส่วนระหว่างพื้นที่ของวัตถุทั้งสอง: เรขาคณิตของฟีเจอร์และกล่องขอบเขตของมัน)

ตรวจสอบขั้นตอนต่อไปนี้ด้านล่าง:

  1. เลือกเลเยอร์ที่คุณต้องการทำงาน

  2. เลือกสถานที่ที่คุณต้องการทำงาน ตรวจสอบว่าไม่มีอะไรถูกเลือกอยู่

  3. เรียกใช้ตัวอย่างต่อไปนี้ภายใน Python Console

    layer = qgis.utils.iface.activeLayer()
    features = layer.selectedFeatures()
    feature = features[0]
    geom = feature.geometry()
    env_rect = geom.boundingBox()
    env_geom = QgsGeometry.fromRect(env_rect)
    env_geom.area() / geom.area()

    อย่าลืมกด Enter เพราะบรรทัดสุดท้ายจะไม่กลับมาโดยอัตโนมัติ

  4. เรียกใช้Regular Pointsเครื่องมืออีกครั้ง แต่ป้อนจำนวนจุดที่คุณต้องการภายในกล่องคูณด้วยผลลัพธ์ที่กำหนดโดยสคริปต์ของคุณ

ในตัวอย่างของฉันด้านล่างผลลัพธ์ที่ฉันได้รับจากผลลัพธ์เป็นค่า ~ 2 ฉันขอให้จุด 20 จุดแสดงผลโดยกระบวนการที่ฉันต้องการเพียง 10 จริง ๆ ฉันได้รับ 8 คืนซึ่งค่อนข้างใกล้เคียง ขึ้นอยู่กับรูปร่างที่แท้จริงที่คุณใช้ผลลัพธ์จะแตกต่างกันไป

หากคุณมีแนวโน้มมากคุณสามารถทำการประมวลผลคะแนนปกติแบบวนซ้ำโดยอัตโนมัติจนกว่าคุณจะไปถึงหมายเลขที่คุณต้องการ

ตัวอย่าง


+1 ข้อเสนอแนะของคุณอยู่ใกล้ แต่ไม่สามารถมาบรรจบกัน สิ่งที่คุณต้องการทำคือ (a) ประมาณระยะห่างที่จะทำให้จำนวนคะแนนที่ต้องการอยู่ในรูปหลายเหลี่ยมและ (b) วนซ้ำกับออฟเซ็ตแบบสุ่ม (แสดงในภาพหน้าจอ)
whuber

ถ้าฉันทำออฟเซ็ตแบบสุ่มมันจะไม่เป็นตารางใช่ไหม เส้นตารางภายในรูปหลายเหลี่ยมที่มีจำนวนจุดที่แน่นอนคือสิ่งที่ฉันต้องการตัวอย่างทั่วทั้งพื้นที่ หรืออาจไม่ใช่สิ่งที่ฉันต้องการเพราะการเลือกจุดเริ่มต้นหนึ่งจุดและไปจากที่นั่นไม่สุ่มพอหรือไม่
coelacanth

@coelacanth บางทีคุณอาจไม่เปิดเผยข้อมูลเพียงพอเกี่ยวกับปัญหาของคุณใช่ไหม ขั้นตอนต่อไปในการวิเคราะห์ของคุณจะเป็นอย่างไร อาจมีวิธีอื่นในการบรรลุเป้าหมายของคุณนอกเหนือจากการใช้ตารางจุด
nagytech

อืมฉันยังใหม่กับสนามทั้งหมดของ GPS / GIS และการออกแบบการสำรวจดังนั้นโปรดแจ้งให้เราทราบหากมีวิธีที่ดีกว่าในการทำสิ่งต่าง ๆ ฉันต้องการตั้งค่าจำนวนพื้นที่สุ่มตัวอย่างภายในรูปหลายเหลี่ยม (เช่นส่วนของป่า) เพื่อเก็บตัวอย่างพืชพรรณ ฉันต้องการกระจายพื้นที่ทั่วทั้งไซต์เพื่อให้ฉันได้เป็นตัวแทนของทั้งไซต์ สิ่งที่ฉันต้องการใช้คุณลักษณะนี้สำหรับคือการกำหนดตำแหน่งของพื้นที่สุ่มตัวอย่างภายในขอบเขต จากนั้นฉันก็ไปที่จุดนั้นโดยใช้หน่วย GPS และรวบรวมข้อมูลของฉัน
coelacanth

0

คุณสามารถทำได้อย่างง่ายดายเพียงแค่การตัด: สร้างกริดจุดปกติเหมือนที่คุณทำจากนั้นใช้ Vector> เครื่องมือประมวลผล Geopro> คลิปใส่อินพุตกริดจุดที่สร้างและใช้คุณลักษณะเป็นมาสก์คลิป


-1

สกรีนช็อตแนะนำวิธีแก้ปัญหาแบบง่ายๆ คุณสามารถแยกรูปหลายเหลี่ยมเป็นเลเยอร์ใหม่ด้วยVector -> Data Managment Tools -> Split vector layerนำเข้าพวกมันแล้วเลือกเลเยอร์ที่มีคุณสมบัติ (ID) ที่คุณต้องการเป็นชั้นอินพุทสำหรับตัวอย่าง "คะแนนปกติ"

หากคุณต้องการทำสิ่งนี้สำหรับรูปหลายเหลี่ยมเพียงหยิบเดียวการค้นหาและส่งออกแยกต่างหากอาจมีประสิทธิภาพมากกว่า เมื่อคุณเลือกเสร็จแล้วให้คลิกขวาที่ชื่อเลเยอร์แล้วเลือกSave Selection As ...เลือกรูปร่างไฟล์เติมส่วนที่เหลือจากนั้นทำซ้ำตามเดิม

แก้ไข: เนื่องจากคุณมีฟีเจอร์เดียวอยู่แล้วฉันไม่สามารถคิดอะไรที่ง่ายกว่านี้อีกแล้ว แต่ใช้กริดที่หนาแน่นขึ้นตัดมันกับโพลีกอนอีกครั้งและเอาคะแนน extraneus ออกมาทั้งหมด (ในที่สุดผ่านตารางแอตทริบิวต์ นับทั้งหมด).


มีเพียงหนึ่งรูปหลายเหลี่ยมใน shapefile แล้ว
coelacanth

โอ้ช่างน่ารำคาญเหลือเกิน (เช่นเดียวกับที่สร้างขึ้น 20 แทนที่จะเป็น 25 คะแนน) ฉันขอแนะนำให้คุณเปิดคำขอคุณสมบัติในhub.qgis.org/projects/quantum-gis/issues - ฉันคิดว่าควรมีช่องทำเครื่องหมายเพิ่มเติมเพื่อใช้ขอบเขตเลเยอร์จริง
lynxlynxlynx

-2

ใช้แบบสอบถามความหมายกับรูปหลายเหลี่ยมของคุณ (ใน 1.8 คลิกขวาที่ชั้นและเลือกแบบสอบถาม) จากนั้นเรียกใช้เครื่องมือ ลบแบบสอบถาม


สิ่งนี้ช่วยได้อย่างไร มันเหมือนกับการเลือก
Nathan W

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