Ar:العناصر

From OpenStreetMap Wiki
Jump to navigation Jump to search

العناصر هي المكونات الأساسية لنموذج البيانات التصورية لخرائط الشارع المفتوحة التي تمثيل وتعكس العالم المادي الحقيقي في خرائط رقمية، والعناصر مقسمة إلى ثلاثة أنواع:

  • العقد وهي النقاط التي تحدد مكان ما على الخريطة.
  • الطرق (الخطوط) وهي تمثل الخطوط وحدود مساحات الأشياء على الخريطة (وهي مسماة بالطرق لكن هذا لا يعني المعنى المتعارف عليه وإنما كل رسم خطي).
  • العلاقات وهي التي يتم استخدامها أحيانًا لشرح كيفية عمل العناصر الأخرى أعلاه معا (مثل أن يربط خط لطريق ما بنقاط العلامات المرورية فيه)

والعناصر أعلاه يحدد وصفها الوسوم التي تضاف عليها والتي توضح ماهية هذا العنصر مثل الاسم والنوع هل هو شارع أو شجرة أو جبل وهكذا ويمكن إضافة وسوم كثيرة للعنصر الواحد.

العقدة node

المقال الرئيسي: العقدة

تمثل العقدة النقطة المعينة على سطح الأرض المحددة بخطوط الطول والعرض، وفي قواعد البيانات لابد أن يكون لكل عقدة رقم معرف فريد (id) وزوج من الإحداثيات.

يمكن استخدام العقد لتحديد مكان معين مميز، ومثال ذلك أن توضع عقدة (نقطة) لمكان مقعد حديقة أو بئر ماء أو محل تجاري وهكذا.

كما أن العقدة تستخدم لتحديد شكل الطريق وذلك عند استخدامها كنقطة في طريق ما (خَطِ ما)، وعند استخدامها على الطريق لا يضاف لها بالعادة أي وسوم لأنها تبع للوسوم الموجودة على الطريق لكن أحيانا يوسم بعض النقاط على الطريق بشكل مستقل للحاجة مثل أن يكون هناك إشارات مرور highway=traffic_signals أو أبراج كهرباء power=tower.

كما يمكن أن تكون العقدة عضواً في علاقة ما وفي هذه العلاقة يوضح دور هذه العقدة بين العناصر الأعضاء في العلاقة (تستخدم قليل جدا وفي مثل حال تحديد العاصمة للدولة أو المنطقة وهكذا).

الطريق way closed way area

المقال الرئيسي: الطرق

الطريق هو قائمة مرتبة من 2 إلى 2000 عقدة تحدد شكل الخطوط المتسلسلة متعددة الأضلاع (polyline)، وتُستخدم الطرق لتمثيل المعالم الخطية مثل الأنهار والطرق ويرمز له بالرمز way.

كما يمكن أن تمثل الطرق أيضًا حدود المناطق (المضلعات Polygon) مثل حدود المباني أو الغابات ..إلخ، وفي هذه الحالة، ستكون العقدة الأولى والأخيرة هي نفسها. وهذا ما يسمى في (خرائط الشارع المفتوحة) بـ "الطريق المغلق closed way" أي الطريق الذي يلتقي بدايته مع نهايته ويرمز له بالرمز closed way.

كما أن بعض الطرق المغلقة تكون أحيانًا على شكل حلقات مثل الدوارات التي تكون على الطرق السريعة، بدلاً من أن تكون مضلعة الشكل. قم بتفحص وسوم الطريق لاكتشاف ذلك.

لا يمكن تمثيل المناطق التي بها ثقوب (مثل أن ترسم غابة وبوسط الغابة يوجد بحيرة ليست ضمن الغابة) كما أنه لا يمكن رسم حدود مساحة ما تزيد العقد التي فيه عن 2000 عقدة بطريق واحد ولرسم هذه الأماكن يلزمك استخدام العلاقة (النوع الثالث من أنواع العناصر) ووسم العلاقة كشكل متعدد الأضلاع وهي أكثر تعقيدا لرسمها وتمثيلها.

العلاقة relation

المقال الرئيسي: العلاقة

العلاقة هي بيانات هيكلية متعددة الأغراض توثق العلاقة بين عنصرين أو أكثر من عناصر البيانات (العقد والطرق و / أو العلاقات الأخرى). والأمثلة على ذلك تشمل على ما يلي:

  • علاقة مسار، وهي التي تضم الطرق التي تشكل طريقا سريع رئيسي (مرقم)، أو مسار للدراجات، أو مسار للحافلات.
  • قيود على الانعطاف وهي التي تحدد أنه لا يمكنك الانعطاف أو التحول من طريق إلى آخر.
  • الشكل متعدد الأضلاع وهو الشكل الذي يصف مساحة لديها حدود داخلية (inner way) وخارجية (outer way)

وبالتالي، فإن العلاقة يمكن أن يكون لها معاني مختلفة. يتم تحديد معنى العلاقة من خلال الوسوم الموضوعة عليها. عادة ما يكون للعلاقة وسم يحدد نوعه ويكون مفتاحه: "type".

والعلاقة هي في الأساس قائمة مرتبة تتكون من العقد أو الطرق أو العلاقات الأخرى، ويتم تعريف هذه العناصر بأنها أعضاء في العلاقة.

وكل واحد من العناصر (الأعضاء في العلاقة) (دور Role) اختياري داخل العلاقة، فعلى سبيل المثال قد يكون للطرق التي هي أعضاء في علاقة وتحتوي على قيود للانعطاف أدوار "من" و "إلى" تصف منعطف معين محظور.

وقد يظهر عنصر واحد مثل طريق معين عدة مرات في العلاقة نظراً لتعدد أدواره.

الوسم tag

المقال الرئيسي: الوسم

يمكن أن تحتوي جميع أنواع عناصر البيانات (العقد والطرق والعلاقات)، بالإضافة إلى مجموعات التغييرات، على وسوم. وهذه الوسوم تصف معنى العنصر المعين الذي ترتبط به هل هو طريق أو شجرة أو جبل أو منزل وهكذا.

ويتكون الوسم من حقلين نصيين لابد من إدخالها وهما "المفتاح" و "القيمة". والنصوص التي تدخل في هذين الحقلين تكون بالترميز المسمى بيونيكود (Unicode) وبحد أقصى 255 حرف، فعلى سبيل المثال، حينما تضع الوسم highway=residential "طريق سريع = سكني" على طريق ما هذا سيعني أن هذا الطريق سكني وداخل منطقة سكنية ووظيفة هذا الطريق إيصال الناس لبيوتهم داخل الأحياء، أيضاً لا يمكن أن يحتوي العنصر على وسمين لهما نفس "المفتاح"، ويجب أن تكون "المفاتيح" فريدة. فمثلاً حين وضعك وسم amenity=restaurant على مكان ما فإنك اخترت أن يكون هذا المكان مطعم لذا لا يمكنك وضع وسم amenity=cafe الذي يعني أن المكان مقهى، فالمفتاح هنا هو amenity ولا يمكن أن يتكرر مرة أخرى.

لا يوجد قاموس ثابت للوسوم، ولكن هناك العديد من الاصطلاحات الموثقة في هذا الويكي (بدءًا من صفحة ميزات الخريطة) وغيرها من الصفحات، كما يمكنك استخدام خدمة تخبرك عدد المرات التي استخدام الوسوم من خلال موقع Taginfo (معلومات الوسوم) وإذا كانت هناك أكثر من طريقة لوضع وسم على صفة معينة للمكان، فمن الأفضل استخدام الطريقة الأكثر شيوعًا.

لا تحتوي كل العناصر في خرائط الشارع المفتوحة على وسوم. فمثلاً العقد التي على الطرق بالغالب لا يتم وضع وسوم عليها وإنما هي موجودة لتحديد شكل الطريق وهنا يكتفى بوسم الطريق فقط من دون العقد التي عليه كما أن الطرق والعقد قد لا يتم تمييزهما ولا يوضع عليها وسوم إذا كانت أعضاء في علاقة ويكتفى بالوسوم التي على العلاقة.

هيلكة البيانات التي تشترك فيها كل العناصر

في قاعدة بيانات خريطة الشارع المفتوحة "OSM"، نقوم بتخزين وإضافة هذه البيانات أدناه للعقد والطرق والعلاقات. وقد لا يحتاج تطبيقك إلى الاستفادة منها جميعًا، وقد لا يستفيد منها الجهات الخارجية المستفيدة والمستخدمة لبيانات OSM بإعادة إنتاجها جميعًا.


الاسم القيمة الوصف
idالرمز التعريفي عدد صحيح

integer (64-bit)

تستخدم لتحديد هوية للعنصر، كل نوع من العناصر لها سلسلة تعريف خاصة بها، لذلك يمكن أن تكون هناك عقدة مع معرف = 100 وطريق مع معرف = 100، وهي غير مرتبطة ببعضها ولا علاقة بينها وليست قريبة جغرافيًا من بعضها البعض.

تكون قيمة المعرف قيم عددية موجبة (> 0) "أكبر من صفر" وذلك لجميع العناصر الموجودة (وتظل هذه القيمة مخصصة لهذه العناصر حتى لو تم تعديلها أو حذفها)، كما تكون قيم العناصر سالبة (<0) "أصغر من صفر" بشكل مؤقت حينما تكون غير مرفوعة على الخادم وتستخدمها برامج تحرير OSM فقط عند إرسال البيانات إلى قاعدة بيانات OSM للعناصر الجديدة التي لم يسبق أن تم رفعها على الخادم (ومن ثم سيحل الخادم محل هذه المعرفات المؤقتة بمعرفات أخرى إيجابية فعلية لكل كائن تم إنشاؤه).

اسم المستخدم

user

نص

character string

اسم العرض للمستخدم الذي قام بتعديل الكائن آخر مرة (إعلامي فقط وقد يكون فارغًا). يمكن للمستخدم تغيير اسم العرض الخاص به في أي وقت (تُعكس العناصر الموجودة باسم المستخدم الجديد دون الحاجة إلى أي تغيير في الإصدار).
هوية المستخدم

uid

عدد صحيح

integer

الهوية الرقمية للمستخدم الذي قام آخر مرة بتعديل الكائن. وهوية المستخدم لا تتغير أبدا.
الوقت

timestamp

W3C standard date and time formats. وقت آخر تعديل (على سبيل المثال، "2016-12-31T23: 59: 59.999Z").
مرئي

visible

مفعل أو معطل

"true" or "false"

سواء تم حذف الكائن أم لا في قاعدة البيانات، إذا كانت قيمة مرئيًا="معطل" visible = false، فيجب إرجاع الكائن فقط من خلال استدعاءات السجل.
الإصدار

version

عدد صحيح

integer

نسخة تحرير الكائن. وتبدأ إصدارات الكائنات التي تم إنشاؤها حديثًا بالإصدار 1 ويزيد الخادم القيمة عندما يقوم العميل بتحميل إصدار جديد من الكائن. سيرفض الخادم إصدارًا جديدًا من كائن إذا كان الإصدار الذي أرسله العميل لا يتطابق مع الإصدار الحالي من الكائن في قاعدة البيانات.
مجموعة التغييرات

changeset

عدد صحيح

integer

رقم مجموعة التغييرات التي تم فيها إنشاء الكائن أو تحديثه (يوصى بدعم 64 بت في التطبيقات للتوافق مع التطور طويل المدى لقاعدة بيانات OSM، لكن التطبيقات التي تستعلم فقط عن البيانات دون تحديثها قد تتجاهل هذه السمة الإعلامية).

كما أننا بالطبع، بالإضافة إلى ذلك، نقوم بتخزين الوسوم، وأيضًا سجل تحرير كامل لكل عنصر.

المقال الرئيسي: Node
المقال الرئيسي: Way
المقال الرئيسي: Relation
المقال الرئيسي: Tag