حساب المسافة بقانون جيب التمام الكروي
تحسب هذه الأداة أقصر مسار على سطح أرض كروية بين نقطتين محددتين بخط العرض وخط الطول، وذلك باستخدام قانون جيب التمام الكروي.
شغّل الأداة مجانًا
أدخل زوجي الإحداثيات بالدرجات العشرية لتحصل على الزاوية المركزية والمسافة بالكيلومترات والأميال والأمتار. تمثل الطريقة بديلاً موجزاً لصيغة هافرسين، وتناسب الحسابات وجداول البيانات والدروس والتطبيقات البرمجية. تستخدم النتائج نصف قطر أرضياً متوسطاً وثابتاً، ولذلك تكون كل عملية حتمية ويسهل إعادة إنتاجها.
أدخل زوجي الإحداثيات وافهم النتيجة
أدخل خط عرض نقطة البداية وخط طولها في lat1 وlng1، ثم أدخل إحداثيات الوجهة في lat2 وlng2. يجب استخدام الدرجات العشرية؛ إذ يمتد خط العرض من -90 إلى 90، ويمتد خط الطول من -180 إلى 180. تدل قيمة خط العرض السالبة على نصف الكرة الجنوبي، وتدل قيمة خط الطول السالبة عادةً على موقع غرب غرينتش. تعرض النتيجة الزاوية المركزية والمسافة بالكيلومترات والأميال والأمتار. وهي تقيس القوس الأقصر فوق الكرة، لا خطاً مستقيماً يمر داخل الأرض. لا تتغير المسافة عند عكس النقطتين. تحقق من ترتيب الإحداثيات بعناية، لأن تبديل خط العرض بخط الطول قد يحدد مكاناً مختلفاً تماماً رغم قبول الأرقام. احتفظ بمنازل عشرية تكفي للدقة المكانية المطلوبة.
تعرّف إلى آلية قانون جيب التمام الكروي
تحول الطريقة خطي العرض وفرق خط الطول من الدرجات إلى الراديان. ثم تحسب جيب تمام الزاوية المركزية بجمع حاصل ضرب جيبي خطي العرض مع حاصل ضرب جيبي تمامهما وجيب تمام فرق خط الطول. ويعطي معكوس جيب التمام مقدار الفصل الزاوي عند مركز الأرض. ينتج من ضرب هذه الزاوية في نصف القطر المتوسط الثابت البالغ 6,371 كيلومتراً طول المسار السطحي، ثم يحول إلى أمتار وأميال برية. قد تدفع أخطاء الفاصلة العائمة القيمة قليلاً خارج المجال من -1 إلى 1 قرب النقط المتطابقة أو المتقابلة؛ لذلك تُحصر القيمة قبل حساب المعكوس لتفادي NaN. يضمن التقريب الثابت سهولة المقارنة وإعادة الإنتاج. يفترض هذا النموذج أن الأرض كرة وليست جسماً إهليلجياً.
اختر الطريقة وفق مستوى الدقة المطلوب
استخدم هذا الحساب في التعليم والمقارنات الجغرافية السريعة وملخصات الخرائط والتقديرات اللوجستية وفحص البيانات عندما يكون التقريب الكروي كافياً. يسهل تدقيق المتطابقة المثلثية الموجزة. عند المسافات القصيرة جداً قد يفقد معكوس جيب التمام بعض الدقة لأن جيب التمام يقترب كثيراً من واحد؛ وعندئذ تكون صيغة هافرسين أفضل عادةً. أما أعمال المساحة والحدود القانونية والملاحة عالية الدقة فتحتاج إلى طريقة إهليلجية مثل Vincenty أو مكتبة جيوديسية حديثة. لا تراعي النتيجة التضاريس أو الطرق أو المباني أو المناطق المحظورة أو إجراءات الطيران، فهي تقيس فصلاً سطحياً مثالياً لا مسار رحلة فعلياً. وعند المقارنة بأداة أخرى، تحقق من نصف القطر المستخدم لأن اختلافه ينتج فروقاً طفيفة ومشروعة.
حالات الاستخدام
فحص البيانات الجغرافية
احسب فصلاً كروياً قابلاً لإعادة الإنتاج عند التحقق من سجلات المواقع أو اكتشاف التطابقات البعيدة على نحو غير متوقع.
شرح هندسة الدائرة العظمى
وضّح العلاقة بين خط العرض وفرق خط الطول والزاوية المركزية وطول القوس بواسطة متطابقة مثلثية موجزة.
تقدير المدى بين نقطتين
احصل سريعاً على مسافة تقريبية للخرائط ولوحات المعلومات والفرز اللوجستي والمقارنات التي لا تحتاج إلى هندسة المسار.
الأسئلة الشائعة
ما تكلفة الحساب؟
سعر API هو $0.002 لكل طلب. ويمكن استخدام حاسبة المتصفح مجاناً في هذه الصفحة.
ما نصف قطر الأرض المستخدم؟
تستخدم الأداة نصف قطر أرضياً متوسطاً وثابتاً قدره 6,371 كيلومتراً للحصول على نتائج كروية حتمية.
هل هذه الطريقة هي صيغة هافرسين نفسها؟
لا. تقدّر الطريقتان مسافة الدائرة العظمى على كرة، لكنهما تستخدمان صيغتين مثلثيتين مختلفتين. تكون هافرسين أكثر ثباتاً عادةً للمسافات الصغيرة جداً.
هل تتبع النتيجة الطرق أو مسارات الطيران؟
لا. إنها أقصر قوس مثالي على الكرة، ولا تشمل قيود المسار أو التضاريس أو التحويلات التشغيلية.
لماذا قد تختلف حاسبة أخرى؟
قد تستخدم نصف قطر مختلفاً أو نموذجاً إهليلجياً أو تقريباً مختلفاً أو مسار سفر فعلياً بدلاً من قوس دائرة عظمى.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/law-of-cosines-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}'const res = await fetch("https://api.kit.forhosting.com/geo/law-of-cosines-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/law-of-cosines-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/law-of-cosines-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/law-of-cosines-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,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.law_of_cosines_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |