เครื่องมือสร้างจุดสุ่มสามารถสร้างจำนวนจุดที่แน่นอนภายในรูปหลายเหลี่ยม ฉันสงสัยว่ามีกล่องรับขอบเขตอยู่มีวิธีใดบ้างที่ฉันสามารถสร้างจุดสุ่มภายนอกรูปหลายเหลี่ยมเหล่านั้นได้
เครื่องมือสร้างจุดสุ่มสามารถสร้างจำนวนจุดที่แน่นอนภายในรูปหลายเหลี่ยม ฉันสงสัยว่ามีกล่องรับขอบเขตอยู่มีวิธีใดบ้างที่ฉันสามารถสร้างจุดสุ่มภายนอกรูปหลายเหลี่ยมเหล่านั้นได้
คำตอบ:
โดยส่วนตัวแล้วฉันไม่ชอบอัลกอริธึมจุดสุ่มใน ArcGIS หรือใช้ฟังก์ชั่นGeospatial Modeling Environment (GME) genrandompnts
คุณจะสามารถระบุรูปหลายเหลี่ยมเฉพาะที่จุดสุ่มจะถูกแยกออก (ดูพื้นที่ที่เน้นใน. jpg ที่แนบมา) ดีที่สุดของซอฟต์แวร์นี้ฟรี
GME มีชุดเครื่องมือการวิเคราะห์และการสร้างแบบจำลองให้คุณตั้งแต่ 'หน่วยการสร้าง' ขนาดเล็กที่คุณสามารถใช้เพื่อสร้างกระบวนการทำงานที่ซับซ้อนไปจนถึงโปรแกรมการวิเคราะห์ที่สมบูรณ์ในตัวเอง นอกจากนี้ยังใช้ซอฟต์แวร์โอเพนซอร์ส R ที่ทรงพลังเป็นเครื่องมือทางสถิติเพื่อขับเคลื่อนเครื่องมือวิเคราะห์บางอย่าง หนึ่งในจุดแข็งของ R คือมันเป็นโอเพ่นซอร์สโปร่งใสและมีเอกสารครบถ้วน: ลักษณะสำคัญสำหรับซอฟต์แวร์วิเคราะห์ทางวิทยาศาสตร์ใด ๆ
คุณจะต้องสร้างรูปหลายเหลี่ยมโดนัทกับหลุมโดนัทที่เป็นตัวแทนของพื้นที่ที่ไม่ใช่จุดภายในและขอบเขตเชิงพื้นที่บางส่วนที่เป็นตัวแทนของพื้นที่ขอบเขตของพื้นที่รูปหลายเหลี่ยม
ขอโทษฉันไม่สามารถต้านทานได้ เนื่องจากเป็นการดีเสมอที่จะรู้ว่าเกิดอะไรขึ้นภายใต้ประทุนกับบางสิ่งบางอย่างเช่น GME นี่คือวิธีแก้ปัญหาในรหัส R จริง
require(sp)
require(rgeos)
# Create example polygon data
x <- readWKT("POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))")
y <- readWKT("POLYGON ((3 3, 7 3, 7 7, 3 7, 3 3))")
# Calculate difference in polygon geometries to create null polygon
d <- gDifference(x,y)
# Create random sample in non-null polygon
rs <- spsample(d, 20, type="random")
# Plot results
plot(d, col="red")
plot(rs,pch=19,col="black",add=TRUE)
วิธีการนี้น่าจะแตกต่างจากที่ GME ทำ แต่ใช้การเรียนรู้เชิงพื้นที่ R sp แบบดั้งเดิมและมีไลบรารีทอพอโลยีที่ค่อนข้างใหม่ซึ่งทำให้โค้ดมีประสิทธิภาพมาก นอกจากนี้ยังให้ตัวอย่างที่สามารถห่อเป็นห่วงได้ง่าย