نظام متكامل لاستخراج ومعالجة البيانات الجغرافية من OpenStreetMap تم تطويره كـ Scalable Data Pipeline يعمل بشكل تلقائي عند تحديث البيانات، ويحول البيانات الخام إلى بيانات منظمة وجاهزة للاستخدام في التطبيقات المختلفة.
فكرة المشروع
يعتمد النظام على Event-Driven Architecture، حيث يتم تشغيل الـ Pipeline تلقائيًا بمجرد صدور تحديث جديد لملف البيانات (مثل Turkey.osm.pbf)، ليبدأ النظام في سحب البيانات، معالجتها، وتحويلها إلى مخرجات نظيفة بدون تدخل يدوي.
كيف يعمل النظام (Workflow)
Trigger تلقائي عند تحديث البيانات
عند توفر نسخة جديدة من بيانات OpenStreetMap، يتم تشغيل النظام تلقائيًا.
سحب البيانات من المصدر
يتم تحميل ملف البيانات الخام من المصدر عبر خدمات Cloud.
بناء Docker Image جديدة
يتم إنشاء Docker Image تحتوي على النسخة المحدثة من البيانات لضمان بيئة تشغيل ثابتة وقابلة للتكرار.
تشغيل Data Processing Function
يبدأ النظام في معالجة البيانات واستخراج المعلومات المهمة مثل المناطق، الشوارع، ونقاط الاهتمام.
التعامل مع البيانات غير المعروفة
أثناء المعالجة، يتم اكتشاف بيانات غير مصنفة (Unknown)، ويتم تمريرها إلى منطق إضافي يعتمد على الإحداثيات (Latitude & Longitude).
تحليل الإحداثيات والمقارنة
يتم استخدام خوارزمية لمقارنة الإحداثيات الجديدة مع بيانات موجودة مسبقًا لتحديد التصنيف الصحيح.
إنتاج بيانات نظيفة (Clean JSON Output)
في النهاية يتم إخراج بيانات منظمة بصيغة JSON، جاهزة للاستخدام في الأنظمة والتطبيقات المختلفة.
المميزات (Features)
نظام Event-Driven يعمل تلقائيًا بدون تدخل
Scalable Architecture قابل للتوسع لمعالجة بيانات على مستوى دول
استخدام Docker لضمان استقرار البيئة
معالجة ذكية للبيانات غير المصنفة باستخدام الإحداثيات
دعم Batch Processing لتحسين الأداء
تصميم Modular يسهل تطويره وإضافة دول جديدة
إخراج بيانات نظيفة ومنظمة جاهزة للاستخدام
التقنيات المستخدمة (Tech Stack)
Python
OpenStreetMap APIs
Docker
Google Cloud Platform (GCP)
Data Processing & ETL Pipelines
JSON Data Structuring
الهدف من المشروع
بناء نظام احترافي لمعالجة البيانات الجغرافية يمكن استخدامه في تطبيقات مثل الخرائط، خدمات التوصيل، أنظمة التحليل المكاني، أو أي نظام يعتمد على البيانات الجغرافية بشكل دقيق وقابل للتوسع.