حساب مسافة استباق الدوران
تحدد حاسبة مسافة استباق الدوران المسافة التي ينبغي أن تبدأ عندها الطائرة دوراناً بنصف قطر ثابت قبل نقطة الطريق، كي تخرج بمحاذاة الجزء التالي من المسار.
شغّل الأداة مجانًا
أدخلوا نصف القطر المخطط والمقدار الأصغر لتغيّر المسار، فتطبق الأداة هندسة المماس القياسية لنقطة طريق fly-by. تظهر النتيجة بوحدة المسافة نفسها المستخدمة لنصف القطر، ولذلك يمكنكم العمل بالأمتار أو الأميال البحرية أو الأقدام أو أي وحدة أخرى متسقة.
فهم هندسة نقطة الطريق fly-by
يبدأ دوران fly-by قبل نقطة الطريق لأن الطائرة لا تستطيع تغيير اتجاهها فوراً عند تقاطع جزأين من المسار. وعندما يصل قوس دائري بين خطين مستقيمين، تقع نقطتا التماس على المسافة نفسها من نقطة الطريق على كلا الجزأين. ينتج من المثلث القائم بين مركز الدوران ونقطة الطريق ونقطة التماس القانون المسافة = نصف قطر الدوران × tan(تغيّر المسار ÷ 2). تحسب هذه الأداة العلاقة مباشرة. تغيّر المسار هو الزاوية الأصغر بين مساري الدخول والخروج، ويكون من صفر إلى أقل من 180 درجة. ينتج عن التغيّر الصفري استباق مقداره صفر، لأن الجزأين يستمران في الاتجاه نفسه. وكلما كبرت الزاوية ابتعدت نقطة التماس عن نقطة الطريق. ترفض الأداة الانعكاس الدقيق بمقدار 180 درجة، لأن ظل نصف الزاوية يصبح غير محدود، ولا توجد في هذا النموذج ذي القوس الواحد نقطة استباق نهائية. تتضمن النتيجة أيضاً نصف الزاوية بوحدة الراديان والقانون المطبق، لتتمكنوا من مراجعة القيمة بسهولة في ورقة تخطيط طيران أو اختبار برمجي.
اختيار نصف القطر وتغيّر المسار بصورة متسقة
استخدموا نصف قطر الدوران الموافق لسرعة الطائرة وزاوية الميل المخططة لمرحلة الطيران المعنية. لا تستنتج هذه القدرة نصف القطر من السرعة أو الميل أو الرياح أو حدود الأداء، بل تتعامل مع القيمة المدخلة بوصفها نصف القطر الهندسي الأفقي لقوس المسار الأرضي المخطط. ترث مسافة الاستباق وحدة نصف القطر. فإذا كان نصف القطر 1.5 ميل بحري، ظهرت النتيجة بالأميال البحرية؛ وإذا كان 2,400 متر، ظهرت بالأمتار. أدخلوا تغيّر المسار بالدرجات بقيمة غير سالبة وأقل من 180. احسبوه باعتباره أصغر فرق زاوي بين مساري الدخول والخروج، مع مراعاة عبور اتجاه الشمال. فمثلاً، الانتقال من 350 درجة إلى 020 درجة يساوي 30 درجة لا 330. يستخدم الحساب مقدار الزاوية، لذلك تتساوى مسافة الدوران يميناً ويساراً عندما يتساوى نصف القطر والزاوية. ويمكن لمنطق الملاحة معالجة اتجاه الدوران على نحو مستقل. تُقبل السلاسل الرقمية، أما القيم المفقودة أو اللانهائية أو الخارجة عن النطاق وأنصاف الأقطار السالبة فتنتج خطأ إدخال واضحاً.
تفسير النتيجة وحدودها التشغيلية
المسافة المعادة هي المسافة المقاسة على طول الجزء الداخل، بدءاً من نقطة الطريق النظرية إلى الخلف حتى الموضع الذي يمس فيه القوس ذو نصف القطر الثابت ذلك الجزء. في الهندسة المستوية المثالية، يؤدي بدء الدوران هناك والمحافظة على نصف القطر المحدد إلى وقوع مماس الخروج على الجزء التالي عند المسافة المقابلة بعد نقطة الطريق. قد تضيف أنظمة الملاحة الفعلية تصحيحات للدخول في الميل والخروج منه والرياح وتغيّر السرعة الأرضية والاحتواء والعوائق وقوانين التوجيه. وقد استُبعدت هذه المؤثرات عمداً من هذا الحساب التحليلي. تعاملوا مع النتيجة بوصفها قيمة هندسية للتخطيط أو عنصراً في نموذج أشمل لإدارة الطيران، لا تصريحاً تشغيلياً مستقلاً. تحققوا من ملاءمة نصف القطر للطائرة والسرعة وحد الميل والارتفاع والظروف البيئية، واتبعوا الإجراءات المعتمدة وإلكترونيات الطيران المصدّقة عند اللزوم. تفيد النتيجة الحتمية في التحقق من جداول التخطيط، وإنشاء حالات اختبار قابلة للتكرار، ومقارنة الهندسة الاسمية للأنظمة. ولأن الحساب لا يستخدم شبكة أو طقساً حالياً أو قاعدة بيانات للطائرات أو عشوائية، تنتج المدخلات المتطابقة قيماً متطابقة دائماً. تبلغ كلفة كل عملية حساب عبر API مقدار $0.002.
حالات الاستخدام
تصميم مسار fly-by
قدّروا موضع بدء دوران بنصف قطر ثابت عند وصل أجزاء المسار.
فحص برمجيات تخطيط الطيران
قارنوا مسافة الاستباق الاسمية للتطبيق بمرجع حتمي قائم على هندسة المماس.
إنشاء بيانات اختبار
أنشئوا قيماً متوقعة قابلة للتكرار لاختبارات الملاحة أو المحاكاة أو إلكترونيات الطيران.
الأسئلة الشائعة
ما القانون الذي تستخدمه الحاسبة؟
تستخدم المسافة = نصف قطر الدوران × tan(تغيّر المسار ÷ 2)، مع تحويل قياس الدرجات لإجراء حساب الظل.
ما وحدة النتيجة؟
هي وحدة turn_radius نفسها. ينتج عن نصف قطر بالأميال البحرية مسافة بالأميال البحرية، وعن نصف قطر بالأمتار مسافة بالأمتار.
كيف يُعالج مسار يعبر اتجاه الشمال؟
أدخلوا أصغر فرق زاوي. عند الانتقال من 350 درجة إلى 020 درجة، استخدموا 30 درجة.
لماذا لا يصح تغيّر مقداره 180 درجة؟
لأن ظل نصف الزاوية غير محدود؛ ولذلك لا يعطي نموذج fly-by ذي القوس الواحد مسافة نهائية لانعكاس دقيق.
هل تشمل النتيجة الرياح أو ديناميكا الميل؟
لا. إنها هندسة مماس مستوية مثالية. طبقوا تصحيحات التشغيل والأداء ضمن الإجراء المصدّق المناسب.
ما كلفة الحساب عبر API؟
تبلغ كلفة كل طلب API مقدار $0.002.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/turn-anticipation-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"turn_radius":1500,"course_change_deg":60}'const res = await fetch("https://api.kit.forhosting.com/geo/turn-anticipation-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"turn_radius": 1500,
"course_change_deg": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/turn-anticipation-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"turn_radius": 1500,
"course_change_deg": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/turn-anticipation-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"turn_radius":1500,"course_change_deg":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"turn_radius":1500,"course_change_deg":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/turn-anticipation-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"turn_radius": 1500,
"course_change_deg": 60
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.turn_anticipation_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |