القياسات
القياسات
ساهِم برحلات GPS مجهولة يطابقها Navvo مع الطرق ويجمِّعها في طبقات حركة المرور الحية/الاعتيادية، واقرأ بيانات حركة المرور المجمَّعة. إذا كان لتطبيقك تدفق مواقع خاص به (سائقو توصيل، نقل ركاب، أساطيل)، فإن إرساله هنا يجعل حركة المرور أفضل للجميع — بما في ذلك أوقات الوصول المقدَّرة الخاصة بك.
النطاق المطلوب: telemetry
{ lat, lng }؛ وspeed بوحدة الأمتار في الثانية؛ وcapturedAt طابع زمني بصيغة ISO-8601. جميع سرعات الخرج لحركة المرور بوحدة كم/س، وهندسة الخرج بصيغة GeoJSON على هيئة [lng, lat].POST /telemetry/trips
إرسال رحلة. تُخزَّن الرحلة وتُدرَج في طابور لمطابقتها مع الطرق بشكل غير متزامن (عبر محرّك التوجيه الخاص بـ Navvo)؛ ويعود الطلب فورًا.
جسم الطلب
metadata.consentCaptured = false لوسم رحلة بأنها مفتقدة للموافقة (تُقبل رغم ذلك لكنها تُحتسب في ملخص الصحة). تُفترض الموافقة true فيما عدا ذلك.كل عنصر في points[]:
| الحقل | النوع | مطلوب | ملاحظات |
|---|---|---|---|
lat | number | نعم | خط العرض. |
lng | number | نعم | خط الطول. |
speed | number | لا | متر/ثانية. |
heading | number | لا | درجات. |
capturedAt | string | لا | بصيغة ISO-8601؛ القيمة الافتراضية هي الوقت الحالي. |
{
"userId": "8b1f5c2e-3d4a-4e2b-9f10-7c2a1b6d9e44",
"metadata": { "consentCaptured": true, "device": "ios-17" },
"points": [
{ "lat": 31.9500, "lng": 35.9100, "speed": 12.1, "heading": 90, "capturedAt": "2026-05-16T12:00:00Z" },
{ "lat": 31.9512, "lng": 35.9123, "speed": 13.4, "heading": 88, "capturedAt": "2026-05-16T12:00:05Z" }
]
}
الاستجابة (201)
{ "accepted": true, "tripId": "f0a1c3d5-…", "jobId": "12" }
تُعالَج الرحلة في الخلفية: تُطابق مع شبكة الطرق، ثم تغذِّي السرعات المرصودة لكل حافة ملفات تعريف سرعة حركة المرور التي تُشغِّل نقاط نهاية حركة المرور. تصبح status بقيمة matched أو failed.
GET /telemetry/trips
سرد أحدث 50 رحلة (دون ترقيم صفحات). كل عنصر هو رحلة تحمل status، وconsentCaptured، وrouteSummary (عدد النقاط/الحواف وأول/آخر نقطة)؛ ولا تُضمَّن النقاط الخام.
GET /telemetry/health
ملخص جودة الاستيعاب على أحدث 500 رحلة.
{
"totalTrips": 500,
"matchedTrips": 472,
"failedTrips": 18,
"consentMissingTrips": 3,
"sampleRate": 0.944,
"generatedAt": "2026-06-09T10:15:00.000Z"
}
GET /telemetry/daily
عدد الرحلات لكل يوم بتوقيت UTC على أحدث 365 رحلة.
[ { "day": "2026-06-09", "trips": 14 }, { "day": "2026-06-08", "trips": 31 } ]
GET /telemetry/traffic-overlay
طبقة حركة المرور المجمَّعة على هيئة FeatureCollection بصيغة GeoJSON من ملفات تعريف سرعة حواف الطرق مع تصنيف الازدحام — مصدر البيانات وراء طبقة حركة المرور على الخريطة.
معاملات الاستعلام
current (افتراضي؛ آخر ~6 ساعات تقريبًا) أو typical (متوسطات كل حافة على مدى الزمن كله).west,south,east,north.{
"type": "FeatureCollection",
"hasData": true,
"mode": "current",
"features": [
{
"type": "Feature",
"geometry": { "type": "LineString", "coordinates": [[35.911, 31.951], [35.914, 31.952]] },
"properties": { "edgeId": "e:128374", "congestion": "moderate", "averageSpeedKph": 28.4, "freeFlowSpeedKph": 55, "sampleCount": 4 }
}
],
"metadata": { "layerType": "traffic", "source": "navvo-telemetry-speed-profiles", "legend": { "light": { "color": "#188038" }, "moderate": { "color": "#D9A441" }, "heavy": { "color": "#D94B4B" }, "blocked": { "color": "#8B1A1A" } } }
}
congestion ∈ light | moderate | heavy | blocked | unknown.
الوصول المُبلَّط
للتحميل المحدود، تتوفر الطبقة أيضًا بعنونة بالبلاطات:
| نقطة النهاية | تُعيد |
|---|---|
GET /telemetry/traffic-overlay/tile-cover | قائمة بروابط البلاطات التي تغطي نطاق bbox (mode، bbox، zoom، maxTiles). |
GET /telemetry/traffic-overlay/tiles/{z}/{x}/{y} | الطبقة لبلاطة واحدة، على هيئة GeoJSON. |
GET /telemetry/traffic-overlay/vector/{z}/{x}/{y} | الطبقة لبلاطة واحدة، على هيئة بلاطة متجهية ثنائية (application/x-protobuf، الطبقة navvo_traffic). |
.../vector/{z}/{x}/{y} لإضافة حركة المرور كمصدر متجهي أصلي في Navvo Maps؛ واستخدم مسار بلاطة GeoJSON إن كنت تفضّل تنسيق العناصر بنفسك.