وقت الوصول إلى نقطة المسار التالية
بسرعة 25 كم/س على مقطع اتجاهه 76°، يبعد موقع عند 37.7749 و-122.4194 مسافة 13.43 كم عن النقطة 37.8044 و-122.2712 ويصلها في نحو 32 دقيقة و14 ثانية. لا يُحسب إلا جزء سرعتك المتجه نحو النقطة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- خط العرض الحالي
- 37.7749
- خط الطول الحالي
- -122.4194
- خط عرض نقطة المرور
- 37.8044
- خط طول نقطة المرور
- -122.2712
- الاتجاه (درجات)
- 76
- السرعة
- 25
- المسافة المتبقية
- 13.43
- المسافة (m)
- 13,429.644
- اتجاه نقطة المسار (°)
- 75.817
- اتجاه المسار (°)
- 76
تحوّل حاسبة وقت الوصول إلى نقطة المسار التالية قراءة ملاحة واحدة إلى تقدير عملي للتقدم. أدخل خط العرض وخط الطول الحاليين، وإحداثيات النقطة التالية، والاتجاه المتبع على مقطع المسار النشط، والسرعة الحالية. تقيس الأداة مسافة الدائرة العظمى، وتحدد الاتجاه الابتدائي نحو الوجهة، ثم تستخدم فقط مركبة السرعة التي تقلل الفاصل فعليًا. تتضمن النتيجة المسافة المتبقية، وخطأ الاتجاه، وسرعة الاقتراب، ووقت الوصول بالثواني والدقائق، ومدة سهلة القراءة. لا تعتمد العملية على خرائط حية أو حركة المرور أو الطقس أو الشبكة أو ساعة النظام.
ما الذي يقيسه تقدير الوصول إلى نقطة المسار
يكون وقت الوصول إلى نقطة المسار مفيدًا عندما يصف التقدم على المقطع الذي تتبعه، بدلًا من قسمة المسافة المباشرة على السرعة الكاملة مع تجاهل اتجاه الحركة. تستقبل هذه الحاسبة الموقع الحالي والنقطة التالية في صورة إحداثيات بالدرجات العشرية. وتحسب أقصر فاصل سطحي على كرة باستخدام صيغة هافرسين ومتوسط نصف قطر الأرض المعتمد لدى IUGG.
ثم تحسب الاتجاه الحقيقي الابتدائي من الموقع إلى النقطة. تسقط الأداة السرعة على اتجاه الوجهة باستعمال جيب تمام هذا الخطأ. لذلك تستخدم المركبة المتجهة مباشرة إلى النقطة السرعة كاملة، بينما تخفض الحركة المائلة سرعة الاقتراب وتزيد وقت الوصول.
إذا كان الموقع عند النقطة بالفعل، تكون المسافة ووقت الوصول صفرًا. وإذا كان الاتجاه عموديًا على الوجهة أو مبتعدًا عنها، تُرفض الطلبية بدل إظهار وقت وصول سالب أو لا نهائي ومضلل.
كيفية إدخال قراءة المسار وفهم النتيجة
تكون دوائر العرض سالبة جنوب خط الاستواء وموجبة شماله، وتكون خطوط الطول سالبة غرب غرينتش وموجبة شرقه. تتحقق الأداة من النطاقات، كما تطبّع فرق خط الطول عند عبور خط التاريخ الدولي كي لا يتحول مقطع قصير قرب 180 درجة إلى رحلة تكاد تدور حول الأرض. يجب أن تكون speed موجبة تمامًا.
يفيد ذلك حين يرسل جهاز بحري السرعة بالعقد بينما يتطلب التقرير الأميال البحرية، أو حين تصل البيانات بالمتر في الثانية وتحتاج الشاشة إلى الكيلومترات. تتحكم precision في عدد المنازل العشرية من صفر إلى 9 من دون تغيير الحساب الداخلي. يُحسب وقت الوصول بقسمة المسافة على سرعة الاقتراب لا على السرعة الكلية.
فإذا بلغ خطأ الاتجاه 60 درجة، لا يغلق سوى نصف السرعة المسافة، ويصبح وقت الوصول اللحظي ضعف تقدير الاتجاه المباشر تقريبًا.
حدود وقت الوصول اللحظي والاستخدام التشغيلي السليم
تعامل مع المخرجات بوصفها لقطة واضحة قابلة للتفسير، لا ملاحة خطوة بخطوة ولا وعدًا بالوصول. يفترض التقدير استمرار الاتجاه والسرعة الحاليين بينما تتناقص مسافة الدائرة العظمى. ولا يعرف هندسة المقاطع اللاحقة أو المناطق المحظورة أو التيارات أو الرياح أو المرور أو مسارات الصعود أو التضاريس أو التوقفات أو التسارع.
كما يستخدم نموذجًا كرويًا للأرض بدل المسار الجيوديسي على شكل إهليلجي؛ وهو حل مناسب لمراقبة المقاطع بسرعة وللأتمتة القابلة للتكرار، لكنه لا يحل محل أجهزة الملاحة المعتمدة. على مسار منحني أو مزاح عمدًا، أعد الحساب بعد كل موقع جديد كي يعكس خطأ الاتجاه وسرعة الاقتراب أحدث حركة. إذا كان المسار يفرض اتباع خط متعدد المقاطع، فاحسب طوله المتبقي في أداة أخرى؛ تقيس هذه القدرة المسافة السطحية من الموقع إلى النقطة وتعدّل الزمن وفق الاتجاه المدخل.
وقد يكشف رفض اتجاه لا يحقق اقترابًا عن مسار معكوس أو نقطة قديمة أو إحداثيات متبادلة أو مركبة في دائرة انتظار قبل أن يعرض نظام لاحق وصولًا يبدو معقولًا. عند تشوش بيانات GPS، نعّم الموقع والاتجاه والسرعة أو اشترط عدة قراءات متسقة. تصلح الاستجابة الحتمية للوحات المتابعة والتنبيهات والمحاكاة والاختبارات من دون منح وصول إلى مزود خرائط.
لا تُخزّن المدخلات، ولا يُجلب موقع، ولا تُقرأ الساعة.
حالات الاستخدام
مراقبة مقطع ملاحي بحري
حوّل موقع القارب والنقطة النشطة والاتجاه والسرعة بالعقد إلى أميال بحرية متبقية ووقت وصول لحظي.
لوحات بيانات أساطيل المركبات
حوّل رسائل الموقع والاتجاه الدورية إلى بيانات تقدم قابلة للتكرار من دون استعلام خرائط مع كل تحديث.
اختبارات محاكاة الملاحة
أنشئ قيمًا ثابتة للمسافة وخطأ الاتجاه وسرعة الاقتراب ووقت الوصول للشاشات وتمارين تتبع المسار.
الأسئلة الشائعة
كيف يُحسب وقت الوصول إلى نقطة المسار التالية؟
تقيس الأداة مسافة الدائرة العظمى، وتحدد الاتجاه الابتدائي، وتسقط السرعة في ذلك الاتجاه، ثم تقسم المسافة على سرعة الاقتراب الموجبة.
لماذا يؤثر الاتجاه في وقت الوصول؟
الحركة نحو النقطة وحدها تقلل المسافة. ويوفر المسار المائل سرعة اقتراب أقل من السرعة نفسها عند التوجه مباشرة إلى الهدف.
هل تحسب الأداة ساعة وصول محددة؟
لا. فهي تعيد المدة المتبقية من دون قراءة الساعة.
هل تستخدم خرائط أو مرورًا أو رياحًا أو تيارات؟
لا. إنها هندسة كروية حتمية تعتمد فقط على الإحداثيات والاتجاه والسرعة والوحدات والدقة التي تدخلها.
ماذا يحدث إذا كان اتجاهي يبتعد عن نقطة المسار؟
إذا كان اتجاهك عموديًا على النقطة أو معاكسًا لها، فلا يقلل أي جزء من سرعتك المسافة. عندها ترفض الحاسبة التقدير بدل أن تعرض وقت وصول سالبًا أو لانهائيًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/next-waypoint-eta \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}'const res = await fetch("https://api.kit.forhosting.com/geo/next-waypoint-eta", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_lat": 37.7749,
"current_lon": -122.4194,
"waypoint_lat": 37.8044,
"waypoint_lon": -122.2712,
"bearing_deg": 76,
"speed": 25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/next-waypoint-eta",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_lat": 37.7749,
"current_lon": -122.4194,
"waypoint_lat": 37.8044,
"waypoint_lon": -122.2712,
"bearing_deg": 76,
"speed": 25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/next-waypoint-eta", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/next-waypoint-eta", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"current_lat": 37.7749,
"current_lon": -122.4194,
"waypoint_lat": 37.8044,
"waypoint_lon": -122.2712,
"bearing_deg": 76,
"speed": 25
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.next_waypoint_eta",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
latitude_min | -90 |
latitude_max | 90 |
longitude_min | -180 |
longitude_max | 180 |
speed_max_mps | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
ما الذي يقيسه تقدير الوصول إلى نقطة المسار
تُعامل قيمة bearing_deg التي تدخلها بوصفها الاتجاه الحالي على مقطع المسار النشط، مقاسًا مع عقارب الساعة ابتداءً من الشمال الحقيقي. ويظهر الفرق الموقّع بين الاتجاهين في course_error_deg؛ فالقيمة الموجبة تضع النقطة إلى يمين المسار، والسالبة تضعها إلى اليسار. تعرض الاستجابة distance_remaining بالوحدة المختارة، وdistance_m، والاتجاهين، وclosing_speed_mps، وeta_seconds، وeta_minutes، وeta_formatted. هذا تقدير لحظي من قراءة واحدة، وليس توقعًا للمنعطفات أو تغيرات السرعة اللاحقة.
كيفية إدخال قراءة المسار وفهم النتيجة
استخدم current_lat وcurrent_lon لموقع GPS الحالي، وwaypoint_lat وwaypoint_lon لنقطة المسار التالية. أدخل bearing_deg من صفر إلى 360؛ فالصفر و360 يعنيان الشمال الحقيقي، و90 الشرق، و180 الجنوب، و270 الغرب. اختر speed_unit من km/h أو mph أو kn أو m/s، واختر distance_unit بصورة مستقلة من m أو km أو mi أو nmi. تقرّب eta_formatted إلى أقرب ثانية كاملة، بينما تحتفظ eta_seconds وeta_minutes بالدقة المطلوبة للبرامج. كل نتيجة مقبولة قابلة لإعادة الإنتاج مجانًا في المتصفح وعبر API بسعر $0.002 لكل طلب ناجح.
حدود وقت الوصول اللحظي والاستخدام التشغيلي السليم
إذا احتجت إلى وقت وصول على الساعة، فأضف eta_seconds إلى طابع زمني موثوق في تطبيقك؛ فصل المدة يمنع المناطق الزمنية وساعة الجهاز من تغيير الحساب.
أسئلة تقنية
ماذا يحدث إذا كان الاتجاه يبتعد عن النقطة؟
يعيد الطلب invalid_input لأن الحركة العمودية أو المبتعدة لا توفر سرعة اقتراب موجبة ولا وقت وصول لحظيًا محدودًا.
ما تكلفة الحساب عبر API؟
يكلف كل طلب ناجح $0.002. ويتاح الحساب الحتمي نفسه مجانًا داخل المتصفح.