20 বছর আগে ডেস্কটপ জিআইএস ডিজাইনের সময় আমি এই প্রশ্নটি ঠিক তদন্ত করেছি। আমাদের ইন্টারেক্টিভভাবে পয়েন্ট-টু-পয়েন্ট দূরত্ব খুঁজে পাওয়া দরকার; আমাদের লক্ষ্য ছিল হাজার হাজার পয়েন্টের জন্য 1/2 সেকেন্ডেরও কমের মধ্যে কম্পিউটিং করা। পরীক্ষা (একটি 25 মেগাহার্জ 486 পিসিতে!) দেখিয়েছিল যে আমরা সমস্ত দূরত্ব গণনা করতে পারলাম, ঠিক যেমনটি আপনি বর্ণনা করেছেন (সরল সুস্পষ্ট আলগোরিদম দিয়ে), এত তাড়াতাড়ি যে আরও চতুষ্পদ সমাধান যেমন চতুষ্কোণ কাঠামো তৈরি করার কোনও অর্থ হয় নি ।
একটি একক "প্রোব" থেকে দূরত্বের কম্পিউটিং পয়েন্ট আপনার বিকল্পগুলি অন্তর্ভুক্ত (ক) ব্যবহার করে একটি সমদূরবর্তী অভিক্ষেপ প্রোবের পয়েন্ট বা (খ) একটি গোলাকৃতি পৃথিবীর মডেল গ্রহণ কেন্দ্রীভূত এবং ব্যবহার সব পয়েন্ট জরিপ Haversine সূত্র । আপনার যদি উপবৃত্তাকার মডেলের যথার্থতা প্রয়োজন তবে প্রথমটি উপযুক্ত। উভয় ক্ষেত্রেই গণনাগুলি যুক্তিসঙ্গতভাবে দ্রুত, সম্ভবত 1000 টিরও কম টিক নিয়েছে: আপনি একক প্রসেসরের সাহায্যে এক মিলিয়ন পয়েন্ট সেকেন্ডে জিজ্ঞাসা করতে পারেন।
আপনার জন্য যথেষ্ট দ্রুত? যদি তা না হয় তবে ব্রুট-ফোর্স পদ্ধতিটি সহজেই প্রসেসরের সংখ্যার সাথে সমান্তরাল হয়ে যায় এবং স্কেল করে: প্রসেসরের মধ্যে কেবলমাত্র পয়েন্টগুলি ভাগ করে নিন এবং তারপরে প্রতিটি প্রসেসরের দ্বারা পাওয়া নিকটতমটির একটি চূড়ান্ত তুলনা করুন।
আপনার যদি আরও দ্রুত যেতে হয়, আপনি স্ক্রিন পয়েন্টগুলিতে বিভিন্ন আনুমানিক ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি -৮৮ এবং +৮৮ ডিগ্রি অক্ষাংশের মধ্যে থাকেন এবং এখন পর্যন্ত পাওয়া নিকটতম বিন্দুটি 200 কিলোমিটার দূরে রয়েছে, তবে যে বিন্দুটি অক্ষাংশ 2 ডিগ্রির বেশি প্রোব পয়েন্টের অক্ষাংশের চেয়ে পৃথক হবে সম্ভবত সম্ভবত এটি কাছাকাছি হতে পারে না (কারণ যে কোনও জায়গায় পৃথিবী, অক্ষাংশের এক ডিগ্রি প্রায় 110 কিলোমিটার অতিক্রম করে)। অনেক ক্ষেত্রে এই ধরণের প্রাক-স্ক্রিনিং আপনাকে কয়েক সেকেন্ডে কয়েক মিলিয়ন পয়েন্ট প্রক্রিয়া করতে সক্ষম করতে পারে।