الرسوم التخطيطية
الرسوم التخطيطية هي مخططات علاقات تفاعلية تلتقط كيف ترتبط الأصول ببعضها — وليس فقط أين تقع على الخريطة. استخدمها لنمذجة الدوائر الكهربائية، أو مسارات لحام الألياف، أو ملء القنوات، أو مراحل تدفق مياه الصرف، أو أي علاقة منطقية أخرى يصعب رؤيتها في عرض جغرافي وحده. تخضع الرسوم التخطيطية للتحكم بالإصدارات ويمكن ربطها مباشرة بميزات الخريطة.
ما هي الرسوم التخطيطية؟
الرسوم التخطيطية مقابل ميزات الخريطة:
- ميزات الخريطة تُظهر أين تقع الأشياء (العلاقات المكانية، الجغرافيا)
- الرسوم التخطيطية تُظهر كيف ترتبط الأشياء (العلاقات المنطقية، التبعيات)
حالات الاستخدام:
شبكات المرافق
- نمذجة الدوائر الكهربائية (أعمدة ← محولات ← نقاط خدمة)
- إظهار مسارات الكابلات عبر القنوات
- تصور تدفقات السعة عبر شرائح الشبكة
تدفقات العمليات
- مراحل محطة معالجة مياه الصرف
- تبعيات عمليات التصنيع
- توجيه سلسلة التوريد
التسلسلات الهرمية التنظيمية
- تبعيات صيانة المعدات
- سلاسل ملكية الأصول
- مسارات تقديم الخدمة
الوصلات المادية
- مخططات لحام الألياف الضوئية
- طوبولوجيا شبكات السباكة
- وصلات مجاري HVAC
واجهة محرر الرسوم التخطيطية
يظهر محرر الرسوم التخطيطية في نافذة منبثقة من شريط أدوات صفحة الخريطة. يوفر محرر مخططات كامل الميزات مع خوارزميات تخطيط تلقائية وتحديد موضع يدوي.
المكونات الرئيسية
لوحة المخطط (الوسط)
- تصور تفاعلي للعقد والحواف
- اسحب العقد لإعادة تحديد موضعها يدوياً
- انقر على العناصر لتحديدها وتحريرها
- منطقة الإفلات لإضافة ميزات من الخريطة
شريط الأدوات (أسفل)
- إضافة عقدة - إنشاء عقد المخطط (مخصصة أو مرتبطة بميزات الخريطة)
- إضافة حافة - إنشاء اتصالات بين العقد
- محدد التخطيط - اختيار خوارزمية التخطيط التلقائي
- التخطيط التلقائي - تطبيق التخطيط المحدد لمسح جميع المواضع اليدوية
- تحديث - إعادة تهيئة المخطط من البيانات
محرر العناصر (اللوحة السفلية)
- تحرير خصائص العقدة أو الحافة المحددة
- محرر كود لمعالجة JSON المتقدمة
- نموذج مرئي للخصائص الشائعة
- حذف مع تأكيد (قابل للتراجع عبر الإصدارات)
لوحة البيانات الوصفية (أعلى)
- اسم الرسم التخطيطي (قابل للتحرير مضمَّناً)
- خصائص مخصصة (أزواج مفتاح-قيمة)
- تكامل إدارة الإصدارات
إنشاء الرسوم التخطيطية
الخطوة ١: إنشاء رسم تخطيطي
١. افتح صفحة الخريطة (https://demo.aptli.io/map) ٢. انقر شريط أدوات الخريطة ← زر الرسوم التخطيطية ٣. يفتح محرر الرسوم التخطيطية في نافذة منبثقة ٤. تظهر لوحة مخطط فارغة
الخطوة ٢: إضافة العقد
الخيار أ: عقد مخصصة (غير مرتبطة بالخريطة) ١. انقر زر إضافة عقدة ٢. حدد وضع مخصص (الافتراضي) ٣. أدخل اسم العقدة (مثلاً "المحول أ") ٤. اختر نوع الشكل الهندسي: Point أو LineString أو Polygon ٥. انقر تأكيد
الخيار ب: من ميزات الخريطة الموجودة ١. انقر زر إضافة عقدة ٢. بدّل إلى وضع من ميزة ٣. حدد الميزة من القائمة المنسدلة (تعرض جميع ميزات الخريطة) ٤. انقر تأكيد (ترتبط العقدة بالميزة عبر featureId)
الخيار ج: السحب من الخريطة ١. ابحث عن بطاقة الميزة في واجهة الخريطة ٢. اسحب بطاقة الميزة إلى محرر الرسوم التخطيطية ٣. أسقطها على اللوحة (داخل منطقة الحدود المتقطعة) ٤. تُنشأ العقدة تلقائياً مع كشف نوع الشكل الهندسي
الخطوة ٣: إضافة الاتصالات (الحواف)
١. انقر زر إضافة حافة ٢. حدد عقدة المصدر من القائمة المنسدلة ٣. حدد عقدة الهدف من القائمة المنسدلة ٤. اختيارياً أدخل تسمية الحافة (مثلاً "يُغذّي"، "السعة: ١٠٠A") ٥. انقر تأكيد
حواف متعددة:
- يمكن أن يكون للعقدتين نفسهما حواف متعددة (دون حد)
- مفيدة للتدفقات ثنائية الاتجاه أو أنواع العلاقات المختلفة
- مثال: العقدة A ← العقدة B (إمداد)، العقدة B ← العقدة A (عودة)
الخطوة ٤: ترتيب التخطيط
التخطيطات التلقائية (من القائمة المنسدلة):
- شبكة ٢×٢، ٣×٣، ٤×٤، ٥×٥ - ترتيبات شبكة ثابتة
- دائرة - العقد مرتبة في دائرة
- العرض أولاً - تخطيط شجرة هرمي (رسوم موجَّهة)
- متحدة المركز - حلقات مبنية على الاتصالية
- عشوائي - تفريق العقد عشوائياً
التحديد اليدوي للموضع: ١. حدد إعداد التخطيط المُسبَق أو تخطّه ٢. اسحب العقد الفردية إلى المواضع المطلوبة ٣. تُحفظ المواضع اليدوية في بيانات الإصدار ٤. تأخذ المواضع اليدوية الأولوية على خوارزميات التخطيط
إعادة ضبط التخطيط:
- انقر زر التخطيط التلقائي ← يمسح جميع المواضع اليدوية
- يعيد تطبيق خوارزمية التخطيط المحددة من القائمة المنسدلة
الخطوة ٥: تحرير العناصر
تحديد عنصر:
- انقر أي عقدة أو حافة على اللوحة
- تظهر لوحة محرر العناصر في الأسفل
تحرير خصائص العقدة:
- الاسم - تسمية العرض (تحرير مضمَّن أو محرر الكود)
- نوع الشكل الهندسي - Point أو LineString أو Polygon
- رابط الميزة - featureId يربط بميزة الخريطة
- خصائص مخصصة - أضف أي بيانات مفتاح-قيمة
تحرير خصائص الحافة:
- التسمية - وصف الاتصال
- المصدر - العقدة البادئة (تغيير عبر محرر الكود)
- الهدف - العقدة النهائية (تغيير عبر محرر الكود)
محرر الكود (متقدم): ١. انقر إظهار الكود في محرر العناصر ٢. يظهر تمثيل JSON في منطقة النص ٣. حرّر مباشرة (بنية العنصر الكاملة) ٤. انقر تنسيق JSON للطباعة المرتبة ٥. انقر تطبيق التغييرات (التحقق بمخطط Zod) ٦. تُعرض أخطاء التحقق في حال وجود بنية غير صالحة
حذف عنصر: ١. حدد العنصر ٢. انقر زر حذف في محرر العناصر ٣. يظهر مربع حوار تأكيد الحذف ٤. تُزال العنصر (يُتتبع التغيير في سجل الإصدارات)
تكوين التخطيط
يحفظ كل رسم تخطيطي خوارزمية التخطيط المفضلة لديه في قاعدة البيانات. عند إعادة فتح الرسم التخطيطي، يُطبَّق التخطيط المحفوظ تلقائياً.
تخطيط دائم:
- يُخزَّن اختيار القائمة المنسدلة لكل رسم تخطيطي
- الافتراضي: شبكة ٣×٣
- يستمر التغيير عبر الجلسات
يدوي مقابل تلقائي:
- إذا كانت لأي عقد مواضع يدوية ← يستخدم تخطيط "preset" (يحترم المواضع)
- إذا لم توجد مواضع يدوية ← يطبّق الخوارزمية من القائمة المنسدلة
- انقر التخطيط التلقائي لمسح المواضع وإعادة تطبيق الخوارزمية
تبديل التخطيطات: ١. غيّر اختيار القائمة المنسدلة ٢. يُطبَّق التخطيط فوراً ٣. تُمسح جميع المواضع اليدوية ٤. يُثبَّت التخطيط الجديد في سجل الإصدارات
إدارة الإصدارات
تستخدم الرسوم التخطيطية نظام الإصدار/التثبيت نفسه الذي تستخدمه ميزات الخريطة.
تثبيت تلقائي:
- كل تغيير يُنشئ إدخال إصدار
- إضافة/حذف عقدة ← مُثبَّت
- إضافة/حذف حافة ← مُثبَّت
- تحرير خصائص العنصر ← مُثبَّت
- تغيير التخطيط ← مُثبَّت
سجل الإصدارات:
- وصول عبر مدير الإصدارات (شريط أدوات الخريطة)
- مراجعة جميع تغييرات المخطط عبر الزمن
- التراجع إلى حالات سابقة
- دمج تعديلات المتعاونين دون اتصال
- إرسال ← طلب تثبيت من شريط الأدوات؛ يُرسل غير المسؤولين المسودات إلى قائمة انتظار المسؤول للموافقة (انظر الإدارة ← الإصدارات)
التحرير دون اتصال:
- إنشاء/تحرير الرسوم التخطيطية دون اتصال
- تُخزَّن التغييرات محلياً في تخزين المتصفح
- تُزامَن عند عودة الاتصال
- كشف التعارضات للتعديلات المتزامنة
الميزات المتقدمة
تكامل السحب والإفلات
تتكامل الرسوم التخطيطية مع نظام السحب والإفلات في Aptli:
من الخريطة إلى الرسم التخطيطي:
- اسحب بطاقات الميزات من لوحات الطبقات
- اسحب عناصر قائمة الميزات المحددة
- أسقط في لوحة محرر الرسم التخطيطي
- تُنشأ عقدة تلقائياً مع رابط featureId
كشف نوع الشكل الهندسي:
- ميزات النقطة ← أيقونة نقطة
- ميزات LineString ← أيقونة خط
- ميزات المضلع ← أيقونة مضلع
- تساعد الأيقونات في تحديد أنواع العقد بنظرة سريعة
تحرير الكود الحي
يوفر محرر الكود معالجة JSON مباشرة للمستخدمين المتقدمين.
التحقق:
- تُتحقَّق جميع التعديلات قبل التطبيق
idمطلوب (يجب أن يكون نصاً غير فارغ)- يجب أن يكون
geometryTypeإماPointأوLineStringأوPolygon(إن وُجد) - يجب أن تكون إحداثيات الموضع أرقاماً
- الحواف تتطلب
sourceوtarget - لا يمكن أن تحمل العقد
sourceأوtarget
حالات الاستخدام:
- تغييرات خصائص مُجمَّعة (نسخ ولصق JSON)
- إضافة علاقات بدون واجهة (مصدر/هدف يدوي)
- تصحيح مشكلات بنية البيانات
- نسخ عنصر إلى رسم تخطيطي آخر
علاقات متعددة
على عكس العديد من أدوات الرسم التخطيطي، يدعم Aptli عدداً غير محدود من الحواف بين العقد نفسها:
مثال - تدفقات ثنائية الاتجاه:
Transformer A → Service Point B (power supply, 240V)
Service Point B → Transformer A (telemetry data)
Transformer A → Service Point B (fault notifications)
لا توجد حماية من التكرار:
- خيار تصميم متعمّد
- بعض العلاقات مكرّرة فعلياً
- المستخدم مسؤول عن إدارة عدد الحواف
- يعرض محرر الكود جميع الحواف للمراجعة
الخصائص المخصصة
تدعم كل من العقد والحواف خصائص مخصصة:
خصائص على مستوى الرسم التخطيطي:
- حرّر في لوحة البيانات الوصفية (أعلى المحرر)
- أزواج مفتاح-قيمة مُخزَّنة بـ JSON
- استخدمها للبيانات الوصفية على مستوى المخطط
- أمثلة: "voltage: 240V"، "network_segment: north"
خصائص على مستوى العنصر:
- حرّر عبر محرر الكود (كائن البيانات)
- أضف أي حقول خارج البنية القياسية
- تُحفظ الخصائص الإضافية وتُخزَّن جنباً إلى جنب مع العنصر
- أمثلة: capacity، status، install_date
التكامل مع ميزات الخريطة
ربط الميزة (featureId):
- يمكن للعقد الإشارة إلى ميزة الخريطة بالمعرف
- ثنائي الاتجاه: النقر على عقدة الرسم التخطيطي ← إبراز ميزة الخريطة
- مفيد لمخططات الشبكة المطابقة للبنية التحتية الحقيقية
عقد مستقلة:
- لا تتطلب العقد المخصصة ميزات خريطة
- مفيدة للمفاهيم المجردة (المراحل، العمليات، التجميعات المنطقية)
- مزج العقد المرتبطة والمستقلة في المخطط نفسه
اعتبارات المزامنة:
- لا يتحدّث الرسم التخطيطي تلقائياً عند حذف الميزة المرتبطة
- يظهر featureId اليتيم كمفقود (تعامل معه يدوياً)
- تحسين مستقبلي: تنظيف تلقائي عند حذف الميزة
أفضل الممارسات
متى تستخدم الرسوم التخطيطية
حالات استخدام جيدة:
- طوبولوجيا الشبكة التي يصعب رؤيتها على الخريطة (المناطق الكثيفة)
- التدفقات المنطقية التي لا تطابق الجغرافيا (مسارات تقديم الخدمة)
- تبعيات المعدات عبر مسافات كبيرة
- عمليات متعددة المراحل بتسلسل واضح
- نمذجة العلاقات باستقلالية عن الموقع
متى لا تستخدمها:
- القرب المكاني البسيط (استخدم أدوات المنطقة الفاصلة على الخريطة بدلاً من ذلك)
- التصورات لمرة واحدة (صدّر GeoJSON واستخدم أدوات خارجية)
- الاتصالات المتغيّرة بكثرة (عبء صيانة مرتفع)
- المخططات الموجَّهة للجمهور (الرسوم التخطيطية أدوات داخلية)
قواعد التسمية
أسماء الرسوم التخطيطية:
- كن محدداً: "لحام ألياف المنطقة الشمالية" وليس "ألياف ١"
- أدرج التاريخ/الإصدار إن كان زمنياً: "خطة شبكة الربع الرابع ٢٠٢٥"
- استخدم مراجع الموقع: "دائرة محول وسط المدينة A"
أسماء العقد:
- طابق أسماء ميزات الخريطة عند الارتباط (تُملأ تلقائياً)
- للعقد المخصصة، استخدم معرّفات واضحة: "المرحلة ٣: الترشيح"
- تجنّب الأسماء العامة: "العقدة ١"، "النقطة A"
تسميات الحواف:
- صِف العلاقة: "يُغذّي"، "يُبلِغ"، "يعتمد على"
- أدرج السعة: "100A"، "10 Gbps"، "500 GPM"
- استخدم مصطلحات متسقة عبر نوع الرسم التخطيطي نفسه
نصائح إدارة الإصدارات
تكرار التثبيت:
- كل تغيير يُثبَّت تلقائياً (لا حاجة لتثبيتات يدوية)
- قد يطول سجل الإصدارات للرسوم التخطيطية النشطة
- استخدم ضغط الإصدارات لتقليل التخزين (ميزة مستقبلية)
أوصاف الإصدارات:
- غير مُلتقَطة حالياً في الواجهة (جميع التثبيتات مُولَّدة تلقائياً)
- استخدم خصائص الرسم التخطيطي لتسجيل المعالم الرئيسية
- مثال خاصية: "last_audit: 2025-02-14, auditor: jdoe"
سلامة التراجع:
- اختبر التراجع في بيئة غير إنتاجية أولاً
- تحقق من أن جميع الميزات المرتبطة لا تزال موجودة بعد التراجع
- تواصل مع الفريق قبل عمليات التراجع الكبرى
اعتبارات الأداء
مخططات كبيرة:
- قد تُبطئ ١٠٠ عقدة أو أكثر العرض
- فكّر في التقسيم إلى عدة رسوم تخطيطية
- استخدم خوارزميات التخطيط (أسرع من التموضع اليدوي)
حواف معقدة:
- قد تتداخل الحواف الكثيرة بين العقد نفسها
- يساعد التموضع اليدوي على فصل الحواف المتداخلة
- تحسين مستقبلي: توجيه/تجميع الحواف
الاستخدام على الجوال:
- محرر الرسوم التخطيطية مُحسَّن لسطح المكتب
- يعمل عرض الجوال لكنه محدود بحجم الشاشة
- نوصي بجهاز لوحي كحد أدنى للتحرير
اختصارات لوحة المفاتيح
ملاحظة: لم تُنفَّذ اختصارات لوحة المفاتيح بعد. تحسين مستقبلي.
مُخطَّط لها:
- مفتاح
Deleteلإزالة العنصر المحدد Ctrl+Z/Cmd+Zللتراجع (عبر التراجع في الإصدارات)- مفاتيح الأسهم لتحريك العقدة المحددة
Ctrl+C/Ctrl+Vلنسخ ولصق العقد
التصدير والمشاركة
الحالي:
- تُخزَّن الرسوم التخطيطية في قاعدة البيانات (غير قابلة للتصدير كملفات)
- المشاركة عبر أذونات المستخدم (جميع المستخدمين الذين لديهم وصول للخريطة يرون الرسوم التخطيطية)
- سجل الإصدارات يوفر سجل تدقيق
تحسينات مستقبلية:
- تصدير كصورة PNG/SVG
- تصدير كـ GraphML/Cypher للأدوات الخارجية
- تصدير كـ JSON للنسخ الاحتياطي/الترحيل
- إنشاء عنوان URL لمشاركة عرض رسم تخطيطي محدد
استكشاف الأخطاء وإصلاحها
العقدة لن تتصل بالميزة
المشكلة: أضفت عقدة من ميزة خريطة لكن الرابط لا يعمل
الحل: تحقق من أن العقدة لديها خاصية featureId (تحقق من محرر الكود)
المشكلة: حُذفت الميزة من الخريطة لكن العقدة لا تزال تشير إليها
الحل: أزل العقدة يدوياً أو امسح خاصية featureId
التخطيط يستمر في إعادة الضبط
المشكلة: المواضع اليدوية لا تُحفظ
الحل: تأكد من أنك لا تنقر التخطيط التلقائي بعد التموضع
المشكلة: يتغيّر التخطيط عند إعادة فتح الرسم التخطيطي
الحل: تحقق من القائمة المنسدلة للتخطيط - المواضع اليدوية مُحفوظة لكن تفضيل الخوارزمية يُعاد تطبيقه إن مُسحت المواضع
لا أستطيع رؤية التغييرات بعد التحرير
المشكلة: حرّرت الكود لكن لم يتغيّر شيء على المخطط
الحل: تحقق من أخطاء التحقق في محرر الكود، انقر زر تحديث لإعادة التهيئة
أداء المخطط بطيء
المشكلة: تأخر عند سحب العقد أو إضافة عناصر
الحل: قلّل عدد العقد (قسّم إلى عدة رسوم تخطيطية)، بسّط عدد الحواف، تجنّب التخطيط التلقائي للرسوم الكبيرة
وثائق ذات صلة
- مفاهيم الخريطة - كيفية عمل عناصر الخريطة والتفاعل معها
- إدارة الإصدارات - سير عمل الإصدار والتثبيت الذي تستخدمه الرسوم التخطيطية
- التفاعل مع عناصر الخريطة - تحديد العناصر وتعديلها والعمل معها