حساب وقت وصول القارب من السرعة والأميال البحرية والعقد
تحوّل حاسبة وقت وصول القارب هذه ثلاث قيم ملاحية عملية إلى موعد وصول تقديري واضح: المسافة البحرية المتبقية، وسرعة السفينة الحالية فوق الأرض بالعقد، ووقت المغادرة.
شغّل الأداة مجانًا
وهي تطبق العلاقة المباشرة بين العقدة والميل البحري، ثم تعرض وقت الوصول بتوقيت UTC ومدة الرحلة. يمكنكم استخدامها لتخطيط الرحلات البحرية، وتحديث مواعيد الوصول، والتنسيق مع المراسي، أو مقارنة السيناريوهات بسرعة متى كان افتراض ثبات السرعة مناسباً.
أدخلوا المسافة والسرعة فوق الأرض ووقت المغادرة
ابدؤوا بالمسافة المتبقية على طول المسار، معبّراً عنها بالأميال البحرية. استخدموا مسافة المسار الفعلية بدلاً من الخط المستقيم بين إحداثيين عندما تؤدي الأخطار أو القنوات أو نظم فصل حركة المرور أو نقاط الطريق المخطط لها إلى إطالة الطريق الملاحي. بعد ذلك، أدخلوا السرعة فوق الأرض بالعقد. هذه هي القيمة المناسبة لأنها تعكس بالفعل تقدم السفينة بالنسبة إلى الأرض؛ فقد تعطي السرعة عبر الماء وقت وصول مضللاً عند وجود تيار. وأخيراً، قدموا وقت المغادرة بصيغة ISO-8601 مع Z لتوقيت UTC أو بإزاحة صريحة مثل +02:00. يزيل اشتراط الإزاحة الالتباس الناتج عن التوقيت المحلي وتغييرات التوقيت الصيفي. توحّد الحاسبة الختم الزمني إلى UTC قبل إضافة المدة المحسوبة. تُقبل المسافة صفر، وفي هذه الحالة يكون وقت الوصول هو لحظة المغادرة بعد توحيدها. أما السرعة فيجب أن تكون دائماً أكبر من صفر، إذ لا يمكن حساب وقت وصول منتهٍ من دون تقدم إلى الأمام.
افهموا طريقة الحساب ودقتها
يعتمد الحساب على تعريف العقدة بأنها ميل بحري واحد في الساعة. لذلك تساوي مدة الرحلة بالساعات عدد الأميال البحرية المتبقية مقسوماً على السرعة فوق الأرض بالعقد. فعلى سبيل المثال، تحتاج سفينة بقي لها 42.5 ميلاً بحرياً وتسير بسرعة 8.5 عقدة إلى خمس ساعات تماماً. تحوّل الأداة النتيجة إلى ثوانٍ وتقربها إلى أقرب ثانية صحيحة قبل إضافتها إلى وقت المغادرة، لأن وقت الوصول يُعرض بدقة ثانية واحدة. كما تعرض المدة بالساعات العشرية، وإجمالي الثواني، ومكونات منفصلة للساعات والدقائق والثواني، كي تكون النتيجة نفسها ملائمة للسجلات والواجهات والأتمتة. جميع عمليات التقويم حتمية ولا تعتمد على الساعة الحالية. لا تفترض الحاسبة منطقة زمنية ضمنياً، ولا تستعلم عن بيانات السفينة الحية، ولا تغيّر السرعة أثناء الرحلة. تنتج المدخلات المتطابقة دائماً النتيجة نفسها، وهذا يجعل الخدمة مناسبة لحسابات التخطيط القابلة للتكرار ولعمليات التحقق الآلية.
تعاملوا مع النتيجة كتقدير بسرعة ثابتة
لا يكون وقت الوصول المحسوب موثوقاً إلا بقدر موثوقية المدخلات والافتراضات التي يستند إليها. تفترض هذه الحاسبة ثبات السرعة فوق الأرض طوال المسافة المتبقية. ونادراً ما تحقق الرحلات الفعلية هذا الشرط تماماً؛ فالرياح وحالة البحر وتيارات المد والجزر أو الأنهار وحركة المرور والرؤية وتبديل الأشرعة وحدود السرعة والأهوسة والجسور ومحطات الوقود والمناورات قرب الوجهة قد تغيّر موعد الوصول. أعيدوا الحساب كلما تغيرت المسافة المتبقية أو السرعة المرصودة بدرجة ملحوظة، وأضيفوا هامشاً تشغيلياً عند تنسيق الرصيف أو المرشد أو القارب الخدمي أو الاستقبال أو تبديل الطاقم. وللحصول على تقدير متجدد مفيد، خذوا المسافة المتبقية والسرعة فوق الأرض من مصدر الملاحة نفسه وفي اللحظة نفسها. قد تنتج السرعات المنخفضة جداً مدداً نظرية هائلة، لذا تحققوا من أن السفينة تتقدم فعلاً نحو الوجهة ولا تنجرف جانبياً أو تنتظر. تدعم هذه النتيجة التخطيط والتواصل، لكنها لا تحل محل خطة الرحلة أو معلومات الملاحة الرسمية أو المراقبة السليمة أو تقدير الربان للظروف.
حالات الاستخدام
تحديث موعد الوصول إلى المرسى
حوّلوا أحدث مسافة متبقية وسرعة فوق الأرض إلى وقت وصول بتوقيت UTC لتنسيق الرصيف.
مقارنة سرعات الرحلة
جرّبوا عدة سرعات واقعية لمعرفة أثر مسار أبطأ بسبب الطقس أو سرعة اقتصادية في موعد الوصول.
أتمتة حالة الأسطول
أنشئوا وقت وصول حتمياً من قيم نظام الملاحة لاستخدامه في لوحة متابعة أو سجل رحلة أو رسالة تشغيلية.
الأسئلة الشائعة
ما تكلفة الحساب؟
سعر API هو $0.002 لكل طلب. ويمكن تشغيل حاسبة المتصفح محلياً في هذه الصفحة.
ما المعادلة التي تستخدمها الحاسبة؟
تساوي المدة بالساعات المسافة بالأميال البحرية مقسومة على السرعة فوق الأرض بالعقد، ثم تضاف هذه المدة إلى وقت المغادرة.
هل أستخدم السرعة عبر الماء أم فوق الأرض؟
استخدموا السرعة فوق الأرض. يتعلق وقت الوصول بالتقدم نحو الوجهة، ولذلك يحتاج إلى سرعة تعكس التيار وغيره من المؤثرات في المسار الأرضي.
هل تراعي الحاسبة المد والجزر والطقس والتوقفات؟
لا. إنها تقدير بسرعة ثابتة. أعيدوا الحساب عند تغير الظروف، وأضيفوا وقتاً للقيود والمناورات والتوقفات وعدم اليقين.
ما صيغ وقت المغادرة المقبولة؟
استخدموا تاريخاً ووقتاً بصيغة ISO-8601 مع Z أو إزاحة UTC رقمية صريحة، مثل 2026-07-25T14:30:00Z أو 2026-07-25T16:30:00+02:00.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/travel/boat-eta \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"distance_nautical_miles":42.5,"speed_knots":8.5,"departure_time":"2026-07-25T14:30:00Z"}'const res = await fetch("https://api.kit.forhosting.com/travel/boat-eta", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"distance_nautical_miles": 42.5,
"speed_knots": 8.5,
"departure_time": "2026-07-25T14:30:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/boat-eta",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"distance_nautical_miles": 42.5,
"speed_knots": 8.5,
"departure_time": "2026-07-25T14:30:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/boat-eta", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"distance_nautical_miles":42.5,"speed_knots":8.5,"departure_time":"2026-07-25T14:30:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"distance_nautical_miles":42.5,"speed_knots":8.5,"departure_time":"2026-07-25T14:30:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/boat-eta", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"distance_nautical_miles": 42.5,
"speed_knots": 8.5,
"departure_time": "2026-07-25T14:30:00Z"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.boat_eta",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |