ค้นหาอัลกอริทึมเพื่อวางจำนวนสูงสุดของจุดภายในพื้นที่ จำกัด ที่ระยะห่างต่ำสุด?


17

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

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


1. ใช่ 2. คุณต้องการสุ่มหรือสั่งซื้อ (ตาราง)?
แบรด Nesom

ดูเหมือนว่าจะเป็นสองคำถาม คุณต้องการให้อัลกอริทึมทำสิ่งนี้นอกซอฟต์แวร์หรือไม่? หรือคุณต้องการที่จะรู้ว่าสิ่งที่ระบบ GIS สามารถทำได้?
Brad Nesom

1
มีการ จำกัด คะแนนเพื่อให้พวกเขาต้อง> = ระยะทางต่ำสุดจากขอบเขตของรูปหลายเหลี่ยมหรือไม่? หากดังนั้นคำถามอาจระบุไว้อย่างชัดเจนยิ่งขึ้นว่า: ฉันจะบรรจุแวดวงสูงสุดไว้ในรูปหลายเหลี่ยมได้อย่างไร
Kirk Kuykendall

ยังไงก็เถอะ: gis.stackexchange.com/q/4927/162
julien

1
@ qva ไม่มีไม่ได้เพราะวิธีแก้ปัญหาที่แน่นอนที่สามารถพบได้คือความไม่สมดุลและยากที่จะได้รับแม้แต่สำหรับรูปร่างที่เรียบง่ายเช่นรูปสี่เหลี่ยมผืนผ้า วิธีการคำนวณที่ดีที่สุดที่ฉันพบนั้นขึ้นอยู่กับการอบแบบจำลองเชิงพื้นที่ (และพวกเขาทำงานได้ดีแม้ว่าพวกเขาต้องการการคำนวณจำนวนมาก) ใช้พวกเขาฉันได้ดูวิธีแก้ปัญหาสำหรับรูปหลายเหลี่ยมหลายรูปแบบที่แตกต่างกัน เป็นที่ชัดเจนว่าขอบเขตรูปหลายเหลี่ยมควบคุมการแก้ปัญหาใกล้กับขอบเขต ลึกลงไปภายในภายในพวกเขามีแนวโน้มที่จะประมาณดิสก์แพ็คหกเหลี่ยม
whuber

คำตอบ:


5

ฉันคิดว่านี่อาจเป็นปัญหาของ "การบรรจุ"

ถ้าเป็นเช่นนั้นคุณอาจต้องการที่จะลองอัลกอริทึม, อาจจะเป็นหนึ่งคล้ายกับว่าในทางพันธุกรรมอัลกอริทึมสำหรับการบรรจุของรูปหลายเหลี่ยม


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

9

ฉันไม่รู้เครื่องมือ GIS ใด ๆ ที่จะทำเช่นนั้น แต่ฉันมีความคิดเกี่ยวกับอัลกอริทึม

ก่อนอื่นให้ทำการประมาณค่าจำนวนจุดสูงสุดด้วยสูตรนี้:

Nb = 4.A / Pi.d^2

(โดยที่Aพื้นที่รูปหลายเหลี่ยมและdระยะห่างต่ำสุด)

จากนั้นเมื่อต้องการค้นหาจุดเหล่านี้ลงในรูปหลายเหลี่ยมรูปแบบที่ดีที่สุดไม่ใช่ตารางสี่เหลี่ยม แต่เป็นเส้นหกเหลี่ยม ดู:

สแควร์เทียบกับตารางหกเหลี่ยม

ในที่สุดเทคนิคการเพิ่มประสิทธิภาพบางอย่างโดยใช้แบบจำลองแรงสามารถใช้เพื่อปรับแต่งการวางตำแหน่งสัมพัทธ์ของคะแนน

หมายเหตุ: มันเป็นปัญหาที่รู้จักกันดีในผลึก


เครื่องมือ gis ในการทำเช่นนั้น ... ian-ko.comจุดสุ่มตัวช่วยสร้างภูมิศาสตร์ในรูปหลายเหลี่ยม
แบรด Nesom

1
ขอบคุณ! แต่คำถามนั้นไม่เกี่ยวกับจุดสุ่มในรูปหลายเหลี่ยมใช่มั้ย
Julien

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

6

ดูกระทู้ที่/math/15624/distribute-a-fixed-number-of-points-uniformly-inside-a-polygon โดยเฉพาะบันทึกการอ้างอิง (ในความคิดเห็น) ถึง "กระบวนการดิสก์ Poisson" และทำการค้นหาเว็บ การเชื่อมต่อด้วยคำถามในปัจจุบันก็คือว่าเมื่อคุณสามารถแจกจ่ายจำนวนที่กำหนดของจุดสม่ำเสมอแล้วคุณสามารถเป็นระบบเพิ่มจำนวนจนไม่มีจุดอื่น ๆ สามารถใส่ลงไปในรูปหลายเหลี่ยมและที่แก้ปัญหาของการเพิ่มจำนวนของจุดเรื่องที่จะเป็น ความต้องการระยะทางขั้นต่ำ (ในทางเทคนิคแล้วปัญหาทั้งสองนี้เป็นปัญหาการปรับให้เหมาะสมแบบคู่ซึ่งวัตถุประสงค์และข้อ จำกัด ถูกสับเปลี่ยนกัน)


0

การแก้ปัญหาจะต้องเป็นรูปสามเหลี่ยมด้านเท่า, http://en.wikipedia.org/wiki/Equilateral_triangle คำถามเดียวคือความยาวด้านข้างและ "xy-offset" ที่เกี่ยวข้องกับรูปหลายเหลี่ยมของคุณ

(เช่นเดียวกับตารางหกเหลี่ยมที่กล่าวถึงด้านล่าง)


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