ฉันตรวจสอบคำถามนี้เมื่อ 20 ปีก่อนเมื่อออกแบบ GIS เดสก์ท็อป เราจำเป็นต้องค้นหาระยะทางแบบจุดต่อจุดแบบโต้ตอบ; เป้าหมายของเราคือทำการคำนวณในเวลาน้อยกว่า 1/2 วินาทีสำหรับคะแนนนับพัน การทดสอบ (บน 25 MHz 486 PC!) แสดงให้เห็นว่าเราสามารถคำนวณระยะทางทั้งหมดตามที่คุณอธิบาย (ด้วยอัลกอริธึมที่ชัดเจนง่าย ๆ ) ดังนั้นอย่างรวดเร็วจนไม่เหมาะสมที่จะสร้างโซลูชันที่ซับซ้อนยิ่งขึ้นเช่นโครงสร้างควอดทรี .
สำหรับระยะทางที่คำนวณให้ "สอบสวน" เดี่ยวชี้ตัวเลือกของคุณ ได้แก่ (ก) การฉายทุกจุดใช้การฉายเท่ากันศูนย์กลางอยู่ที่จุดการสอบสวนหรือ (ข) การใช้รูปแบบการแผ่นดินทรงกลมและใช้สูตร Haversine สิ่งแรกมีความเหมาะสมหากคุณต้องการความแม่นยำของแบบจำลองวงรี ไม่ว่าในกรณีใดการคำนวณนั้นเร็วพอสมควรอาจจะน้อยกว่า 1,000 ติ๊ก: คุณสามารถค้นหาประมาณหนึ่งล้านคะแนนต่อวินาทีด้วยโปรเซสเซอร์เดียว
เร็วพอสำหรับคุณหรือไม่ ถ้าไม่วิธีการบังคับแบบเดรัจฉานจะทำการขนานได้อย่างง่ายดายและปรับขนาดโดยตรงกับจำนวนตัวประมวลผล: เพียงแค่แบ่งจุดระหว่างตัวประมวลผลแล้วทำการเปรียบเทียบขั้นสุดท้ายของตัวประมวลผลที่ใกล้เคียงที่สุดที่พบในโปรเซสเซอร์แต่ละตัว
หากคุณต้องการที่จะไปเร็วขึ้นคุณสามารถใช้การประมาณต่าง ๆ เพื่อจุดหน้าจอ ตัวอย่างเช่นหากคุณอยู่ระหว่างละติจูด -88 ถึง +88 องศาและจุดที่ใกล้ที่สุดที่พบนั้นอยู่ห่างออกไป 200 กม. ดังนั้นจุดใดก็ตามที่ละติจูดแตกต่างจากละติจูดของจุดโพรบมากกว่า 2 องศาอาจไม่สามารถเข้าใกล้ได้มากขึ้น โลกละติจูดหนึ่งองศาเกินประมาณ 110 กม.) ในหลายกรณีการคัดกรองล่วงหน้าประเภทนี้อาจช่วยให้คุณสามารถประมวลผลคะแนนหลายร้อยล้านต่อวินาที