حقائق رئيسية
- يعرض المشروع 291 مليون رحلة على دراجات Citi Bike.
- يعمل بدون خادم خلفي، مستخدماً DuckDB WASM و Cloudflare CDN.
- يمكن للمستخدمين البحث عن الرحلات باستخدام Cmd + K وتفاصيل الإيصال.
- يتم إنشاء المسارات باستخدام OSRM لأكثر من 2400 زوج من المحطات.
ملخص سريع
تم إطلاق مشروع تصور ضخم، يعرض التاريخ الكامل لرحلات Citi Bike. يتتبع المشروع 291 مليون رحلة فردية، مما يسمح للمستخدمين بتدفق الدراجات عبر الشبكة.
الأداة مفتوحة المصدر بالكامل وتعمل في المتصفح بدون خادم خلفي. وهي تستفيد من DuckDB WASM لاستعلام البيانات المخزنة على CDN الخاص بـ Cloudflare، مما يضمن الأداء العالي والوصول السهل.
يمكن للمستخدمين البحث عن رحلاتهم المحددة باستخدام اختصار Cmd + K وتفاصيل من إيصالهم. يستخدم التصور deck.gl مع Mapbox لعرض آلاف الدراجات المتحركة المتزامنة.
تصور 291 مليون رحلة
يمثل المشروع كل رحلة دراجة كسهم متحرك على الخريطة، مما يخلق رؤية ديناميكية لتاريخ شبكة مشاركة الدراجات. وبإجمالي 291 مليون رحلة مصورة، تقدم الأداة منظوراً فريداً على الحركة الحضرية.
يمكن للمستخدمين التفاعل مع البيانات مباشرة. عن طريق الضغط على Cmd + K، يمكنهم البحث عن رحلاتهم المحددة باستخدام التفاصيل الموجودة على إيصال Citi Bike، وتحديداً وقت الرحلة وأسماء المحطات الابتدائية والنهائية.
كل سهم متحرك يمثل رحلة دراجة حقيقية، مما يعني أن أي شخص استخدم الخدمة مشمول في التصور. ويسلط المشروع الضوء على حجم نظام Citi Bike في الولايات المتحدة.
الهندسة المعمارية التقنية
يحقق التصور أداؤه من خلال مجموعة تقنية محددة مصممة للكفاءة. الميزة الرئيسية هي عدم وجود خادم خلفي مطلوب لعمل التطبيق.
يعتمد معالجة البيانات على ملفات parquet المخزنة على CDN الخاص بـ Cloudflare. يتم استعلام هذه الملفات مباشرة من قبل DuckDB WASM، مما يسمح بتحليل البيانات المعقد على جانب العميل.
للعرض، يستخدم المشروع deck.gl مع Mapbox. هذا المزيج يمكّن العرض المتسارع بوحدة معالجة الرسوميات (GPU)، وهو ضروري للتعامل مع آلاف الدراجات المتحركة المتزامنة دون تأخير.
يتم التعامل مع المعالجة الخلفية بواسطة Web Workers. تقوم هذه العمال بفك تشفير مسارات polyline وإجراء أكبر قدر ممكن من الحسابات المسبقة خارج الخيط الرئيسي للحفاظ على تجربة مستخدم سلسة.
إنشاء المسارات والبيانات
يواجه التصور تحدي بيانات محدد: توفر البيانات المصدرية فقط أزواج المحطات الابتدائية والنهائية، وليس المسارات الفعلية المقطوعة. لحل هذه المشكلة، يقوم المشروع بإنشاء مسارات واقعية.
يتم إنشاء المسارات عن طريق الاستعلام من OSRM (آلة توجيه مفتوحة المصدر). يحسب النظام المسار الأقصر بين جميع 2400+ زوج من المحطات لتشغيل الدراجات بدقة.
مشروع مفتوح المصدر بالكامل ومتوفر على GitHub. هذا يسمح للمطورين بفحص الكود، وفهم تفاصيل التنفيذ، أو المساهمة في المشروع.




