پرش به مطلب اصلی
نسخه: 1.1.0

فاصله بین شهرها اشتباه محاسبه می‌شود؟

مشکل

فاصله بین شهرها برای برخی کشورها و شهرها اشتباه است. چگونه می‌توانم آن را اصلاح کنم؟

توضیحات

جهت اطلاع، این اسکریپت از پایگاه‌های داده Geonames (که ساختاریافته‌ترین پایگاه داده آن‌هاست) و فرمول ارتودرومی ( Orthodromy) (۱) (یکی از دو فرمول موجود برای محاسبه فاصله) استفاده می‌کند. فرمول دوم، فرمول هاورسین (Haversine) (۲) است.

  • (۱) ارتودرومی: یک مسیر ارتودرومیک یا دایره بزرگ (great-circle) روی سطح زمین، کوتاه‌ترین مسیر واقعی ممکن بین هر دو نقطه است.
  • (۲) فرمول هاورسین: یک معادله مهم در ناوبری است که فواصل روی دایره بزرگ بین دو نقطه روی یک کره را از طریق طول و عرض جغرافیایی آن‌ها محاسبه می‌کند.

برای برخی شهرها و کشورها، مقادیر فیلدهای طول و عرض جغرافیایی (longitude and latitude) در Geonames دقیق نیستند (یا اشتباه هستند)، بنابراین فواصل محاسبه‌شده نیز می‌توانند اشتباه باشند.

چرا از فرمول ارتودرومی به جای هاورسین استفاده می‌شود؟

پس از آزمایش‌های فراوان، ما استفاده از فرمول هاورسین را به دلایل زیادی توصیه نمی‌کنیم. به خصوص اینکه، درصد فواصل معتبر با فرمول «ارتودرومی» به مراتب بالاتر از فرمول «هاورسین» است و این یک واقعیت قطعی است.

راه‌حل

برای حل مشکل دقت فاصله، شما باید مقادیر فیلدهای طول و عرض جغرافیایی شهرها را از طریق پنل مدیریت به‌روزرسانی کنید.

سخن پایانی

امیدواریم که به زودی درصد بالایی از مختصات جغرافیایی معتبر را از Geonames در اختیار داشته باشیم.