ฉันมีชุดของคะแนนเป็นรูปร่างไฟล์และฉันต้องการค้นหา (พิกัด) ของจุดใหม่ซึ่งจะมีระยะทางที่ยาวที่สุดเท่าที่จะเป็นไปได้จากแต่ละจุดที่มีอยู่ เป็นไปได้ไหม ถ้าใช่มีตัวอย่างรหัส VB หรือไม่ ขอบคุณ Demetris
ฉันมีชุดของคะแนนเป็นรูปร่างไฟล์และฉันต้องการค้นหา (พิกัด) ของจุดใหม่ซึ่งจะมีระยะทางที่ยาวที่สุดเท่าที่จะเป็นไปได้จากแต่ละจุดที่มีอยู่ เป็นไปได้ไหม ถ้าใช่มีตัวอย่างรหัส VB หรือไม่ ขอบคุณ Demetris
คำตอบ:
คำแนะนำของ Kirk Kuykendall ในการสร้างแผนภาพ Voronoi (Thiessen polygons) ทรงกลมเป็นสิ่งที่ดี แต่อาจมีเทคนิคบางอย่างที่จะทำให้สำเร็จ ในขณะเดียวกันเป็นทางเลือกหนึ่งที่สามารถใช้วิธีการแก้ปัญหาแรสเตอร์มาตรฐานตามที่อธิบายไว้ในหัวข้ออื่น ใช้ระยะทางทรงกลมแทนระยะทางแบบยุคลิด
นี่คือตัวอย่างที่ใช้ห้าคะแนนนี่คือ (lat, lon):
82.7051 -145.256
60.3321 81.2881
-17.076 105.125
-38.792 -122.686
0.000 180.000
แผนที่ระยะทางทรงกลมนี้ครอบคลุมโลกจาก -180 ถึง 180 องศาลองจิจูดตามแนวนอนและละติจูด -90 ถึง 90 องศาในแนวตั้ง คะแนนจะแสดงด้วยจุดสีแดงขนาดใหญ่ ระยะทางเพิ่มขึ้นด้วยความสว่าง สันเขาที่ชัดเจนจะต้องเป็นส่วนหนึ่งของวงกลมใหญ่ จุดสีดำเล็ก ๆ ใกล้ (-15.3268, -2.04352) ทำเครื่องหมายจุดที่ระยะทางสูงสุด 11,227 กม. (คำนวณระยะทางใน ITRF00 ellipsoidal datum)
ความละเอียดของกริดนี้คือหนึ่งองศา เพื่อให้ได้โซลูชันที่แม่นยำยิ่งขึ้นเราสามารถซูมเข้าไปในจุดดังกล่าว (และไปยังจุดสูงสุดอื่น ๆ ในท้องถิ่นที่มีค่าใกล้เคียงกับค่าสูงสุดทั่วโลก) และทำการคำนวณซ้ำบนตารางที่เล็กลง แต่มีความละเอียดสูงกว่า
ฉันไม่เคยลองมาก่อน แต่ดูเหมือนว่ามันจะใช้ได้:
สร้างไดอะแกรม voronoi 3Dของทรงกลม รูปหลายเหลี่ยมที่ได้นี้จะอยู่กึ่งกลางของจุดเดิม (เมล็ด) ที่มีอยู่
วนรอบแต่ละจุดสุดยอดที่เกิดขึ้นเพื่อหาจุดที่ไกลที่สุดจากจุดที่อยู่ใกล้ที่สุด จุดนี้ควรเป็นจุดที่ห่างไกลที่สุดในโลก
คุณสามารถใช้ฟังก์ชันระยะทางแบบถ่วงน้ำหนักเพื่อระบุว่าแต่ละเซลล์ในแรสเตอร์ของคุณอยู่ห่างจากจุดอื่น ๆ แค่ไหน
เท่าที่ฉันรู้การวิเคราะห์ "การเข้าไม่ถึง " นี้ต้องทำซ้ำ
วิธีแรสเตอร์แบบวนซ้ำจะเหมาะสมตราบใดที่คุณกำลังมองหาพื้นที่ขนาดเล็กที่มีการบิดเบือนน้อยที่สุดจากการฉายภาพ สำหรับแต่ละเซลล์คำนวณระยะทางไปยังทุกจุดจากนั้นใช้ระยะทางขั้นต่ำ เซลล์ที่มีค่าสูงสุดคือเสา คุณสามารถใช้Euclidean Distanceใน Spatial Analyst เพื่อทำสิ่งนี้ให้สำเร็จ
วิธีการทำซ้ำแบบเวกเตอร์นั้นซับซ้อนกว่ามาก Garcia-Castellanos et al 2007อธิบายวิธีการวนซ้ำตามโลกทรงกลม ปรากฏว่าพวกเขาได้ทำรหัส C ของพวกเขาพร้อมใช้งานออนไลน์ ฉันสามารถจินตนาการวิธีการทำสิ่งนี้ในอาร์คด้วยบัฟเฟอร์ แต่มันจะทำซ้ำและช้า
คุณสามารถใช้ Point Distance (การวิเคราะห์) เครื่องมือสร้างตารางที่มีระยะทางระหว่างจุดสองชุด หากใช้รัศมีการค้นหาเริ่มต้นระบบจะคำนวณระยะทางจากจุดอินพุตทั้งหมดไปยังจุดที่อยู่ใกล้ทั้งหมด ตารางผลลัพธ์อาจมีขนาดค่อนข้างใหญ่ ตัวอย่างเช่นถ้าทั้งคุณสมบัติอินพุตและคุณสมบัติใกล้เคียงมี 1,000 คะแนนในแต่ละตารางผลลัพธ์จะมีหนึ่งล้านเรคคอร์ด
จุดที่ไกลที่สุดไปยังชุดคะแนนของคุณจะเป็นจุดกลับไปด้านในสุดในเซตของคุณ ตัวอย่างเช่นหากจุดภายในของคุณมากที่สุดในชุดของคุณมีพิกัด 49 องศาเหนือและ -144 องศาตะวันออกจากนั้นจุดกลับกันและจุดที่ไกลที่สุดจะมีพิกัด 49 องศาใต้และ 36 องศาตะวันตก สิ่งนี้ไม่เป็นความจริงอย่างแน่นอนเพราะโลกไม่ได้เป็นทรงกลมอย่างสมบูรณ์ แต่ค่อนข้างเป็นโลก ดังนั้นความถูกต้องของจุดผลลัพธ์ของคุณจึงขึ้นอยู่กับระบบการฉายภาพและระบบภูมิศาสตร์ (Orthographic, Orthorectified ... ) ที่คุณใช้ มันอาจเป็นประโยชน์ในการค้นหาส่วนกลับสำหรับทั้งชุด (ถ่ายโอนแอนติบอดีสำหรับชุด) จากนั้นเรียกใช้การวิเคราะห์พื้นผิวภายในภูมิประเทศที่ครอบคลุมโดยชุดของจุดตรงกันข้ามเนื่องจากภูมิประเทศอาจมีความสำคัญมาก ฉันคิดว่าคำถามของคุณไม่เกี่ยวกับจุดใด ๆ ในวัตถุนอกโลกเช่นดาวเคราะห์ดวงอื่นหรือดวงจันทร์ ขออภัย ฉันไม่มีรหัส VB สำหรับคุณ 🙄