Ar:العقدة

From OpenStreetMap Wiki
Jump to navigation Jump to search
Mf node.svg

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

يمكن أيضاً وضع بُعد ثالث اختياري وهو (الارتفاع altitude) والذي يمكن إضافته عبر إضافة الوسم بالمفتاح:ele والمفتاح "ele" هو اختصار لكلمة "elevation" والتي تعني الارتفاع كما يمكن أيضاً إضافة بعد آخر للعقدة وهو الطبقة layer=* أو المستوى level=* كجزء من طبقة معينة أو مستوى معين لتعني أنها فوق أو تحت أو كأنك تقول أنها على جسر وهكذا (مثل أن تضع نقطة داخل نفق أو فوق جسر وهكذا) وهذا يساعد في عدم تداخل النقطة مع النقاط التي على مستوى سطح الأرض أو مستويات أخرى.

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

ومنذ شهر سبتمبر 2020م بلغ عدد العقد المدخلة في خرائط الشارع المفتوحة "OpenStreetMap" أكثر من 6 مليارات عقدة.

صفات وخصائص النقطة

يمكن استخدام العقدة إذا كانت منفردة لتحديد ووصف مكان معين ولابد أن تحتوي على وسم واحد على الأقل يحدد هذا الوصف ويضيف مزيد من التفاصيل حول خصائص هذه النقطة، ومثال ذلك حينما ترغب أن تضع نقطها لمكان مكتبة فإننا نضيف الوسم amenity=library الذي يدل على أن هذه النقطة هي مكان لمكتبة، وحينما نرغب أن نضيف مكان مقعد حديقة فإننا نضع الوسم amenity=seat على هذه النقطة للدلالة على أن هذا مكان لمقعد وهكذا كما يمكنك إضافة المزيد من التفاصيل بإضافة المزيد من الوسوم مثل level=* للدلالة على الدور الذي فيه هذا المقعد أو colour=* لتحديد لون المقعد وهكذا.

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

العقد التي على الطرق (الخطوط)

انظر أيضاً: الطرق

تشكل العديد من العقد جزءًا من طريق واحد أو أكثر وهي تحدد شكل أو "مسار" الطريق.

أيضاً عندما تتقاطع الطرق (الخطوط) على نفس الارتفاع لابد أن يكون هناك عقدة مشتركة تمثل التقاطع (قد ينبهك المحرر لذلك) أما إذا كانت الطرق السريعة أو السكك الحديدية تتقاطع على ارتفاعات مختلفة دون الاتصال فلا ينبغي أن تشترك في عقدة فعلى سبيل المثال عند تقاطع طريق سريع مع جسر bridge=* فالجسر يمر من فوق الطريق ولا يتقاطع معه لذا لا يحتاج أن يكون هناك عقدة مشتركة فيما بينها وعلى سبيل المثال أيضاً حينما يعبر طريق مائي (مثل وادي) تحت طريق ما فلا يصح أن يكون هناك عقدة مشتركة بين الطريقين ولكن لابد من وضع وسم يميزها إما بطبقة مختلفة layer=* أو مستوى مختلف level=* وتحديد قيمة لها، كما قد يتم تمييز الخطوط بوسمها حسب الموقع location=* فمثلاً قد تكون القيمة 'overground' لما هو على الأرض أو 'underground' لما هو في باطن الأرض كما أن هناك بعض الاستثناءات لهذه القاعدة، فالطرق التي تمر عبر السدود حسب التعريف الحالي لابد أن تتشارك عقدة مع الممر المائي الذي يعبر السد.

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

  • حينما نرغب بوضع خط عبور مشاة على الطرق السريع نضع الوسم crossing=* على خط المشاة كما نضع highway=crossing على في النقطة المشتركة بين خط المشاة والخط السريع انظر crossing=* للمزيد من التفاصيل.
  • حينما ترغب بوضع نقطة لشجرة تقع ضمن حاجز نباتي فالحاجز النباتي يوسم بـ barrier=hedge ونقطة الشجرة تكون ضمن الخط وتوسم لوحدها بالوسم natural=tree.
  • حينما ترغب بوضع مدخل ضمن مبنى نضع الوسم building=* على خط المبنى ونضع نقطة تمثل المدخل ونضع عليها الوسم entrance=*.

هيلكة بيانات العقدة

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

integer (64-bit)

أكبر أو يساوي 1

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

−90.0000000

و

90.0000000

مكون من 7 منازل عشرية (7 خانات)

إحداثيات خط العرض بالدرجات (شمال خط الاستواء موجب) باستخدام الإسقاط القياسي WGS84. قد لا تقبل بعض التطبيقات خطوط العرض أعلى / أقل من ± 85 درجة لبعض الإسقاطات.


لا تستخدم نوع بيانات الفاصلة العائمة IEEE 32 بت لأنه يقتصر على حوالي 5 منازل عشرية لأعلى خط طول.

طريقة 32 بت التي يستخدمها منفذ ريلز هي استخدام عدد صحيح (بضرب كل إحداثي بالدرجات في 1E7 وتقريبه: هذا يسمح بتغطية جميع الإحداثيات الموقعة المطلقة في ± 214.7483647 درجة، أو أقصى فرق يبلغ 429.4967295 درجة، أكثر قليلاً مما هو مطلوب).

لحساب الإسقاطات، هناك حاجة إلى نقاط عائمة IEEE 64 بت للحصول على نتائج وسيطة.

تحدد الـ7 منازل عشرية مدورة للإحداثيات بالدرجات أسوأ خطأ في خط الطول بحد أقصى ± 5.56595 ملم على خط الاستواء، أي أنه يسمح ببناء خرائط بدقة قياس سنتيمترات. مع وجود 5 منازل عشرية فقط، ستكون دقة بيانات الخريطة مترية فقط، مما يتسبب في تغييرات حادة في أشكال الكائنات المهمة مثل المباني، أو العديد من المتعرجات أو الأماكن التاريخية وتعرجات وزوايا الطرق.

خط الطول

lon

عدد عشري يكون في النطاق ما بين:

−180.0000000

و

180.0000000

مكون من 7 منازل عشرية (7 خانات)

إحداثيات خط الطول بالدرجات (شرق غرينتش موجب) باستخدام إسقاط WGS84 القياسي. لاحظ أن الأقطاب الجغرافية ستكون بالضبط عند خط العرض ± 90 درجة ولكن في هذه الحالة سيتم تعيين خط الطول على قيمة عشوائية ضمن هذا النطاق.
الوسوم

tags

مفاتيح/قيم محددة والمفتاح فيها فريد (لا يتكرر) راجع ميزات الخريطة للحصول على إرشادات وضع العلامات.

مثال لكيفية تمثيل النقطة بيانيا في قواعد البيانات وفي ملفات OSM

<node id="25496583" lat="51.5173639" lon="-0.140043" version="1" changeset="203496" user="80n" uid="1238" visible="true" timestamp="2007-01-28T11:40:26Z">
    <tag k="highway" v="traffic_signals"/>
</node>

مواضيع مرتبطة

لمزيد من التفاصيل حول هذا الموضوع، راجع Rails port/Database schema#Nodes۔