مسافة هافرساين للدائرة العظمى
قِس مسافة الدائرة العظمى بين إحداثيين مع عرض الصيغة بجانب النتيجة: من نيويورك إلى لندن تبلغ 5570.229874 كم، مع الأمتار والأميال وزاوية مركزية قدرها 50.094212°. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- Lat1
- 40.7128
- Lon1
- -74.006
- Lat2
- 51.5074
- Lon2
- -0.1278
- المسافة (m)
- 5,570,229.874
- المسافة (km)
- 5,570.229874
- المسافة (mi)
- 3,461.180378
- الزاوية المركزية (°)
- 50.094212
مسافة الدائرة العظمى هي أقصر مسار على سطح كرة بين إحداثيين جغرافيين. يحتاج الطيارون ومخططو اللوجستيات ومطورو GIS وعلماء البيانات إلى رقم قابل لإعادة الإنتاج عن «كم تبعد أ عن ب» دون سحب حزمة خرائط كاملة. تستقبل حاسبة مسافة هافرساين للدائرة العظمى زوجين من خط العرض والطول، وتطبّق صيغة هافرساين المستقرة عدديًا على نصف قطر أرض كروي متوسط قدره 6 371 008.8 مترًا، وتُرجع المسافة بالأمتار والكيلومترات والأميال النظامية مع الزاوية المركزية بالدرجات. استخدمها عندما يكفي النموذج الكروي وتريد سلسلة صيغة شفافة بجانب النتيجة.
ما الذي تحسبه صيغة هافرساين للدائرة العظمى
على كرة مثالية نصف قطرها R، أقصر مسار سطحي بين نقطتين هو قوس دائرة عظمى زاويتها المركزية Δσ تحقق هوية مثلثية بسيطة في العرض والطول. يعمل قانون جيوب التمام الكروي الكلاسيكي في الحساب الدقيق لكنه يفقد الدقة للمسافات القصيرة عندما تُطرح جيوب تمام لزوايا شبه متساوية في الفاصلة العائمة.
تعيد صيغة هافرساين كتابة الهندسة نفسها بجيوب نصف الزاوية: عرّف a على أنه sin²(Δφ/2) زائد cos φ1 cos φ2 sin²(Δλ/2)، واحصر a في الفترة الوحدة حتى لا تدفع ضوضاء التقريب إلى خارج [0, 1] قليلًا، ثم اجعل الزاوية المركزية c تساوي ضعف atan2 لجذر a على جذر واحد ناقص a. المسافة هي R مضروبًا في c. يبقى زوج atan2 ذلك حسن التكييف لقفزات المدن بمقياس الكيلومتر وللأزواج شبه المتقابلة.
تثبّت هذه القدرة R عند نصف قطر الأرض المتوسط IUGG 6 371 008.8 مترًا حتى يشارك كل مستدعٍ كرة موثّقة بدل خلط 6371 km و6378 km والمتغيرات المتساوية المساحة في جدول واحد. يتجاهل النموذج التضاريس والتسطح الإهليلجي والارتفاع؛ إن احتجت دقة جيوديسية WGS-84 بمستوى السنتيمتر فاستخدم معكوسًا إهليلجيًا مثل Vincenty. للتوجيه وETA اللوجستي والعروض التعليمية وصفحات SEO التي تبحث عن مسافة هافرساين للدائرة العظمى، تكون الإجابة الكروية غالبًا سطح المنتج المناسب.
متى تفيدك هذه المسافة في عملك
تحتاج لوحات الأساطيل ومقدّرات السفر ونماذج محددات المتاجر إلى مسافة دائرة عظمى رخيصة وموثّقة دون تضمين مكتبة جيوديسيا في كل بيئة تشغيل. تفضّل تطبيقات الجوال والحافة نقطة نهاية حتمية صغيرة على Mapbox Matrix أو Google Distance Matrix عندما تهم فقط مسافة خط النظر لا طوبولوجيا شبكة الطرق. أبقِ الطلبات صغيرة وثبّت المسافات المقربة في اختبارات التكامل ووثّق أن النتائج كروية—لا مسافة قيادة ولا مصحّحة لمستوى الطيران ولا إهليلجية.
إن احتاج منتجك لاحقًا إلى دقة أعلى فاحتفظ بهذه النقطة للمسار السريع وارفع مسارات الدقة طويلة المدى إلى قدرة جيوديسية إهليلجية دون تغيير شكل الإدخال ذي الحقول الأربعة.
حالات الاستخدام
اللوجستيات وتقديرات ETA التقريبية
احسب الكيلومترات خطّ النظر بين إحداثيات المستودع والتسليم قبل تطبيق عوامل الطريق أو مصفوفات الناقلين.
محدد المتاجر ومرشحات القرب
رتّب الفروع المرشحة بمسافة الدائرة العظمى من lat/lon المستخدم دون تضمين مكدس GIS كامل في العميل.
الأسئلة الشائعة
ما نصف قطر الأرض الذي تستخدمه هذه الحاسبة؟
نصف قطر كروي متوسط 6 371 008.8 مترًا (أرض IUGG المتوسطة).
هل هي نفس مسافة القيادة أو الطيران؟
لا. إنها أقصر قوس سطحي على كرة (دائرة عظمى). الطرق والممرات الجوية والتضاريس تطيل السفر الحقيقي؛ استخدم واجهات توجيه لتلك الحالات.
ماذا لو كان خطي العرض أو الطول خارج النطاق؟
يجب أن تكون العروض في [−90, 90] والأطوال في [−180, 180]. الإدخال غير الصالح لا يُفوتر.
ما الزاوية المركزية التي تظهر مع المسافة؟
هي الزاوية بين النقطتين كما تُرى من مركز الأرض، وتبلغ 50.094212° بين نيويورك ولندن. وضرب هذه الزاوية بالراديان في نصف القطر الثابت 6371008.8 متر يعطي المسافة على السطح.
هل يعمل الحساب جيدًا مع النقاط المتقاربة جدًا أو عبر خط الطول 180؟
نعم. تحافظ صيغة هافرساين على دقتها في المسافات القصيرة التي لا تتجاوز بضعة كيلومترات، حيث يفقد قانون جيب التمام الكروي بعض الأرقام، وكذلك في النقاط شبه المتقابلة. ولا يلزم تعديل خطوط الطول عند عبور خط الطول 180.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/haversine-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lon1":-74.006,"lat2":51.5074,"lon2":-0.1278}'const res = await fetch("https://api.kit.forhosting.com/geo/haversine-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 51.5074,
"lon2": -0.1278
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/haversine-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 51.5074,
"lon2": -0.1278
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/haversine-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lon1":-74.006,"lat2":51.5074,"lon2":-0.1278}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lon1":-74.006,"lat2":51.5074,"lon2":-0.1278}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/haversine-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 51.5074,
"lon2": -0.1278
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.haversine_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يشغّل نفس الوحدة النقية ودجة المتصفح المجانية ومسار API، فلا تختلف العروض التوضيحية والدفاتر وعمال الحافة الإنتاجية في التقريب أو نصف القطر. تفشل خطوط العرض أو الطول غير الصالحة بـ invalid_input ولا تُفوتر.
ما الذي تحسبه صيغة هافرساين للدائرة العظمى
تُبلّغ المخرجات distance_m وdistance_km وdistance_mi (الميل النظامي الدولي 1609.344 m) وcentral_angle_deg لرياضيات الخرائط وearth_radius_m لمسارات التدقيق وسلسلة formula مختصرة.
عقد الإدخال وحقول الاستجابة وقواعد التحقق
مثال: نيويورك حوالي 40.7128، −74.0060 ولندن حوالي 51.5074، −0.1278 تنتج نحو خمسة آلاف وخمسمائة وسبعين كيلومترًا من قوس الدائرة العظمى—الرقم الذي تقارنه بخرائط مسارات الطيران التي تقتبس الدائرة العظمى لا مسافة الطريق. النقاط المتطابقة تعطي مسافة صفر وزاوية مركزية صفر. عبور خط التاريخ تعالجه المثلثات الكروية نفسها؛ ولا تحتاج إلى تطبيع الأطوال بعد فحص النطاق ±180. أرسل جسم JSON بأربعة أعداد منتهية إلزامية: lat1 وlat2 بدرجات عشرية بين −90 و90، وlon1 وlon2 بين −180 و180. يقبل خط الطول أيضًا الاسمين البديلين lng1 وlng2 حتى لا تحتاج العملاء المكتوبة بأسماء حقول GIS الشائعة إلى إعادة تسمية. تفشل الحقول الناقصة والسلاسل الفارغة والقيم غير المنتهية والإحداثيات خارج النطاق بـ invalid_input مع تسمية الحقل؛ ولا تستهلك تلك الإخفاقات الرصيد المدفوع مسبقًا. عند النجاح يعيد الجسم الإحداثيات الأربعة كأعداد، ثم distance_m مقربًا إلى ثلاث خانات عشرية، وdistance_km وdistance_mi إلى ست خانات لاختبارات ذهبية مستقرة عبر المحركات، وcentral_angle_deg إلى ست خانات، وearth_radius_m مساويًا 6371008.8، وformula معادة صياغة هوية هافرساين بنصف القطر الثابت. اقرن الاستجابة بتسميات وحداتك في الواجهة؛ لا تحوّل API إلى أميال بحرية أو أقدام في هذا العقد.
متى تستدعي هذه API في المنتجات والمسارات
تستخدم مواد القاعات وتدريب GIS سلسلة formula المعادة ونصف القطر الثابت ليُعيد الطلاب الرقم يدويًا بحاسبة علمية ويتحققوا من API. يبقى فشل التحقق مجانيًا؛ وتظل الاستدعاءات الناجحة عند $0.002 حتى لا يفاجئ التسعير مهمة إثراء جماعية لم تكن تحتاج سوى أمتار كروية.
حالات التكامل
التعليم ودفاتر GIS
اعرض على الطلاب صيغة هافرساين المستقرة بنصف قطر أرض متوسط ثابت وتحقق من الواجبات مقابل تقريب API الذهبي.
أسئلة تقنية
كيف أحسب مسافة هافرساين للدائرة العظمى بين نقطتين؟
أرسل lat1 وlon1 وlat2 وlon2 بدرجات عشرية. تُرجع API القيم distance_m وdistance_km وdistance_mi وcentral_angle_deg وearth_radius_m الثابت المستخدم في الصيغة.
كم تكلفة حاسبة مسافة هافرساين للدائرة العظمى؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل استدعاء ناجح؛ ولا تستهلك إخفاقات التحقق الرصيد.