حاسبة الاتجاه الابتدائي
عند الانطلاق من لندن إلى باريس على الدائرة العظمى يكون الاتجاه الابتدائي 148.115617°، أي SSE في وردة الاتجاهات ذات 16 نقطة. أدخل نقطة الانطلاق والوجهة بالدرجات العشرية لتحصل على اتجاه ترسمه سهمًا أو خطًا. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- Lat1
- 51.5074
- Lng1
- -0.1278
- Lat2
- 48.8566
- Lng2
- 2.3522
- الاتجاه
- 148.115617 deg
- الجهة الأصلية
- SSE
عندما تحتاج اتجاه البوصلة من نقطة على الأرض إلى أخرى، فالاتجاه الابتدائي هو الجواب: السمت الأمامي لمسار الدائرة العظمى وهو يغادر المنشأ. تأخذ هذه الحاسبة زوجَي خطّ عرض وخطّ طول بالدرجات العشرية وتعيد اتجاهًا واحدًا في المدى من 0 إلى 360 درجة، مقيسًا في اتجاه عقارب الساعة من الشمال الحقيقي. تستعمل الصيغة الكروية القياسية التي تعتمدها مكتبات الملاحة، فالنتيجة حتمية، خالية من عمليات بحث شبكية، وصالحة لتخطيط المسارات وتعليقات الخرائط وملاحظات المسح وخطوط الأنابيب الآلية التي يجب أن تتّفق على الرقم نفسه كل مرّة.
ما معنى الاتجاه الابتدائي (وما ليس هو)
الاتجاه الابتدائي، ويُسمّى أيضًا السمت الأمامي، هو الزاوية التي تضبط عليها البوصلة إن بدأت المشي أو الطيران على أقصر مسار على كرة من النقطة أ نحو النقطة ب. الصفر درجة يعني شمالًا تامًّا، والتسعون شرقًا تامًّا، والمئة والثمانون جنوبًا تامًّا، والمئتان والسبعون غربًا تامًّا. ولأن الأرض منحنية، فذلك الاتجاه صحيح فقط عند بداية الرحلة: فبينما تسير على الدائرة العظمى، يتغيّر عادةً اتجاه البوصلة المحلّي اللازم للبقاء على المسار الأرضي.
والاتجاه النهائي (السمت العكسي عند الوجهة) رقم مختلف؛ والمسافة حساب آخر تمامًا. تجيب هذه الأداة عمدًا عن السؤال الأمامي وحده كي يبقى العقد بسيطًا: أربعة إحداثيات داخلًا، اتجاه واحد خارجًا. وتُطبَّع القيم دائمًا في الفترة نصف المفتوحة من صفر شاملًا إلى ثلاثمئة وستّين غير شامل، وهو ما يوافق طريقة تعبير معظم نظم المعلومات الجغرافية والواجهات عن السمت.
وإن كانت النقطتان الموقع نفسه، تُحلّ فرادة atan2 الرياضية إلى صفر، وهو عرف مستقرّ للنقاط المتطابقة بدل اتجاه غير مُعرَّف.
كيف تزوّد الإحداثيات وتقرأ النتيجة
يجب أن تقع خطوط العرض بين ناقص تسعين وتسعين؛ وخطوط الطول بين ناقص مئة وثمانين ومئة وثمانين. خطّ العرض الموجب شمال خطّ الاستواء؛ وخطّ الطول الموجب شرق خطّ الطول الأوّل. تتضمّن الاستجابة bearing مقرّبًا إلى ستّ منازل عشرية لأتمتة مستقرّة، وحقل unit مضبوطًا على deg، وصدى نقطتَي from وto كي تدقّق الطلب، ووسمًا اتجاهيًّا من ستّ عشرة نقطة مثل N أو NE أو WSW لملخّصات يقرؤها الإنسان.
استعمل الاتجاه الرقمي حين تحتاج الدقّة للخرائط أو خطوط الاتجاه أو توجيه الجهاز؛ واستعمل الوسم الاتجاهي للعرض فقط.
أين تُستعمل الصيغة في النظم الحقيقية
ترسم برمجيات اللوجستيات أسهمًا بين المستودعات والمحطّات؛ وتُظهر محطّات التحكّم الأرضية للطائرات المسيّرة الاتجاه نحو نقطة الطريق التالية؛ وتُعلِّق تطبيقات المسح على الاتجاه من نقطة ضبط إلى هدف؛ وتُوجِّه خرائط الألعاب العلامات نحو وجهات المهامّ. وكل تلك التدفّقات تحتاج سمتًا قابلًا للتكرار دون استدعاء مُرمِّز جغرافي خارجي. والخوارزمية هنا هي متطابقة حساب المثلّثات الكروي الكلاسيكية: حوّل الدرجات إلى راديان، وكوّن المركّبتين الشرقية والشمالية بجيب وجيب تمام فروق خطّي العرض والطول، ثم خذ atan2 لتلك المركّبتين ولُفّ الناتج إلى صفر حتى ثلاثمئة وستّين.
تفترض الخوارزمية أرضًا كروية، وهو التقريب نفسه الذي تستعمله مساعِدات الدائرة العظمى المفتوحة المصدر التي لا تُحصى، وهو دقيق كفاية لمعظم مهامّ التخطيط دون بضعة آلاف من الكيلومترات. أما للعمل المساحي القانوني أو المسح بدقّة السنتيمتر فتستعمل مكتبة مسار أرضي إهليلجية بدلًا منه؛ ولأمور التوجيه اليومي وواجهات الخرائط والأدوات التعليمية تكون هذه الصيغة المغلقة المفاضلة الصحيحة.
حالات الاستخدام
توجيه المسار ونقاط الطريق
احسب اتجاه المغادرة بين تحديدات GPS المتتالية كي ترسم واجهة خريطة أو شريط ملاحة سهم اتجاه يطابق المسار الأرضي المخطَّط.
اللوجستيات والإرسال الميداني
امنح السائقين أو الفرق الميدانية اتجاهًا من الشمال الحقيقي من المستودع إلى موقع تسليم أو عمل دون طلب محرّك توجيه منعطفًا بمنعطف كامل.
ملاحظات المسح وتعليقات الخرائط
سجّل السمت الأمامي من نقطة ضبط إلى معلَم بارز في نموذج أو خطّ أنابيب جداول يجب أن يبقى حتميًّا عبر الأجهزة.
الأسئلة الشائعة
ما الاتجاه الابتدائي؟
هو اتجاه البوصلة الأمامي، بالدرجات في اتجاه عقارب الساعة من الشمال الحقيقي، لمسار الدائرة العظمى وهو يغادر الإحداثي الأوّل نحو الثاني.
هل النتيجة بالشمال المغناطيسي أم الشمال الحقيقي؟
الشمال الحقيقي. لا تطبّق الحاسبة الانحراف المغناطيسي؛ فطبّق جدول انحراف محلّي بنفسك إن احتجت قراءة بوصلة مغناطيسية.
هل يبقى الاتجاه ثابتًا على طول المسار كلّه؟
عادةً لا. الاتجاه الابتدائي هو سمت البداية فقط. وعلى كرة يتغيّر الاتجاه المحلّي على الدائرة العظمى غالبًا؛ استعمل الاتجاه النهائي عند الوجهة إن احتجت اتجاه الوصول.
أيّ صيغة إحداثيات مقبولة؟
أما الدرجات-الدقائق-الثواني والأكواد الإضافية فلا تُحلَّل؛ حوّلها أوّلًا.
ما الاتجاه الناتج إذا كانت النقطتان متطابقتين؟
صفر. لا يوجد اتجاه سفر بين نقطتين متطابقتين، لذا يعتمد الحساب 0° اصطلاحًا ثابتًا بدل اتجاه غير محدد. وإذا ظهر لك دون توقع فراجع الإحداثيات التي أدخلتها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/bearing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":51.5074,"lng1":-0.1278,"lat2":48.8566,"lng2":2.3522}'const res = await fetch("https://api.kit.forhosting.com/geo/bearing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 51.5074,
"lng1": -0.1278,
"lat2": 48.8566,
"lng2": 2.3522
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/bearing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 51.5074,
"lng1": -0.1278,
"lat2": 48.8566,
"lng2": 2.3522
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/bearing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":51.5074,"lng1":-0.1278,"lat2":48.8566,"lng2":2.3522}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":51.5074,"lng1":-0.1278,"lat2":48.8566,"lng2":2.3522}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/bearing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"lat1": 51.5074,
"lng1": -0.1278,
"lat2": 48.8566,
"lng2": 2.3522
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.bearing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
كيف تزوّد الإحداثيات وتقرأ النتيجة
مرّر lat1 وlng1 للمنشأ وlat2 وlng2 للوجهة، كلٌّ عددًا منتهيًا بالدرجات العشرية. ولأن الحساب صرف وبلا آثار جانبية، يُنتج مسار المتصفّح المجاني ومسار الـ API المدفوع الـ JSON نفسه للإدخال نفسه. أما المعاملات غير الصحيحة أو الغائبة فتفشل بخطأ invalid_input ولا تُحاسَب، فتتحقّق من النماذج بثمن زهيد قبل الالتزام بدفعة نقاط طريق.
أين تُستعمل الصيغة في النظم الحقيقية
تُسعَّر استدعاءات الـ API بـ $0.002 لكل عنصر من رصيد مدفوع مسبقًا، مع توفّر العقد نفسه للتنفيذ دون اتصال أو في المتصفّح حيث لا حساب مطلوب.
أسئلة تقنية
كم تكلفة الـ API؟
يُحاسَب كل طلب ناجح بالسعر الأساس المنشور $0.002 من رصيد KIT المدفوع مسبقًا. ولا يُحاسَب الإدخال غير الصحيح. وتستطيع أداة المتصفّح تشغيل الحساب الصرف نفسه محليًّا دون حساب.