تمثيل نصي معروف للهندسة

نص WKT هو لغة ترميز نصية لتمثيل كائنات الهندسة المتجهة . ويُستخدم مكافئ ثنائي ، يُعرف باسم ثنائي WKB ، لنقل وتخزين المعلومات نفسها بشكل أكثر إحكامًا يُسهّل معالجة الحاسوب، ولكنه غير قابل للقراءة البشرية. وقد عرّف اتحاد البيانات الجغرافية المكانية المفتوحة (OGC) هذه التنسيقات في الأصل، ووُصفت في دليل الوصول البسيط إلى الميزات [ 1 ] . أما التعريف القياسي الحالي فهو موجود في معيار ISO/IEC 13249-3:2016 [ 2 ] .

أشكال هندسية

يمكن لـ WKT أن يمثل الأشكال الهندسية المتميزة التالية:

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

تُستخدم أشكال WKT الهندسية في جميع مواصفات OGC، وهي موجودة في التطبيقات التي تُطبّق هذه المواصفات. على سبيل المثال، يحتوي PostGIS على وظائف تُحوّل الأشكال الهندسية من وإلى تمثيل WKT، مما يجعلها قابلة للقراءة البشرية.

يشترط تعريف معيار OGC أن يكون المضلع مغلقًا طوبولوجيًا. وينص أيضًا على أنه إذا عُرِّفت الحلقة الخطية الخارجية للمضلع عكس اتجاه عقارب الساعة، فستُرى من الأعلى. أما الحلقات الخطية الداخلية، فيجب تعريفها بطريقة معاكسة للحلقة الخارجية، أي باتجاه عقارب الساعة. [ 3 ]

الأشكال الهندسية الأساسية (ثنائية الأبعاد)
يكتبأمثلة
نقطةPOINT (30 10)
خطLINESTRING (30 10, 10 30, 40 40)
مضلعPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30))
الأشكال الهندسية متعددة الأجزاء (ثنائية الأبعاد)
يكتبأمثلة
نقاط متعددةMULTIPOINT ((10 40), (40 30), (20 20), (30 10))
MULTIPOINT (10 40, 40 30, 20 20, 30 10)
سلسلة متعددة الأسطرMULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))
متعدد المضلعاتMULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))
MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 10 30, 10 10, 30 5, 45 20, 20 35), (30 20, 20 15, 20 25, 30 20)))
مجموعة الهندسةGEOMETRYCOLLECTION (POINT (40 10), LINESTRING (10 10, 20 20, 10 40), POLYGON ((40 40, 20 45, 45 30, 40 40)))

فيما يلي بعض الأمثلة الأخرى لسلاسل WKT الهندسية: (ملاحظة: كل عنصر أدناه يمثل شكلاً هندسياً فردياً.)

المجموعة الهندسية (النقطة (4 6)، السلسلة الخطية (4 6،7 10)) النقطة ZM (1 1 5 60) النقطة م (1 1 80) نقطة فارغة متعدد الأضلاع فارغ مثلث ((0 0 0,0 1 0,1 1 0,0 0 0)) القصدير (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0))) سطح متعدد السطوح Z (رقع) ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 1, 1 0 1, 0 0 1, 0 1 1, 1 1 1)), ((1 1 1, 1 0 1, 1 0 0, 1 1 0, 1 1 1)), ((1 1 1, 1 1 0, 0 1 0, 0 1 1, 1 1 1)) ) 

ثنائي معروف

تُعرض التمثيلات الثنائية المعروفة (WKB) عادةً في سلاسل سداسية عشرية .

يشير البايت الأول إلى ترتيب البايتات للبيانات:

  • 0x00 بيج إنديان
  • 0x01 الترتيب الصغير

أما البايتات الأربعة التالية فهي عبارة عن عدد صحيح غير مُوقّع من 32 بت لنوع الهندسة، كما هو موضح أدناه:

أنواع الهندسة، ورموز WKB الصحيحة (المحددة أدناه بالنظام العشري)
يكتبثنائي الأبعادZمZM
الهندسة0100020003000
نقطة1100120013001
خط2100220023002
مضلع3100320033003
نقاط متعددة4100420043004
سلسلة متعددة الأسطر5100520053005
متعدد المضلعات6100620063006
مجموعة الهندسة7100720073007
سلسلة دائرية8100820083008
منحنى مركب9100920093009
مضلع منحني10101020103010
متعدد المنحنيات11101120113011
متعدد الأسطح12101220123012
منحنى13101320133013
سطح14101420143014
سطح متعدد السطوح15101520153015
قصدير16101620163016
مثلث17101720173017
دائرة18101820183018
سلسلة جيوديسية19101920193019
منحنى بيضاوي20102020203020
منحنى نيرب21102120213021
كلوثويد22102220223022
منحنى حلزوني23102320233023
سطح مركب24102420243024
بريب سوليد1025
التوظيف الخطي1021102

لكل نوع من أنواع البيانات بنية بيانات فريدة، مثل عدد النقاط أو الحلقات الخطية، متبوعة بالإحداثيات في أرقام مزدوجة 64 بت .

POINT(2.0 4.0)على سبيل المثال، يتم تمثيل الشكل الهندسي على النحو التالي: ، حيث:000000000140000000000000004010000000000000

  • عدد صحيح من بايت واحد 00أو 0: ترتيب البايتات الكبير
  • عدد صحيح مكون من 4 بايت 00000001أو 1: نقطة (ثنائية الأبعاد)
  • عدد عشري 8 بايت 4000000000000000أو 2.0: إحداثي س
  • عدد عشري من 8 بايت 4010000000000000أو 4.0: إحداثي y

اختلافات التنسيق

EWKT و EWKBنص/ثنائي معروف موسع
تنسيق خاص ببرنامج PostGIS يتضمن مُعرّف نظام الإسناد المكاني (SRID) وما يصل إلى 4 قيم إحداثيات (XYZM). [ 4 ] [ 5 ] على سبيل المثال: لتحديد إحداثيات خط الطول/خط العرض باستخدام نظام الإحداثيات المرجعي WGS 84. كما يدعم المنحنيات الدائرية، وذلك باتباع العناصر المسماة (ولكن غير المُعرّفة بالكامل) ضمن ملف WKT الأصلي: CircularString وCompoundCurve وCurvePolygon وCompoundSurface. [ 6 ]SRID=4326;POINT(-44.360.1)
نص AGF - تنسيق هندسة أوتوديسك
امتداد لمعيار OGC (في ذلك الوقت)، ليشمل العناصر المنحنية؛ ويستخدم بشكل ملحوظ في MapGuide . [ 7 ]

انظر أيضاً

مراجع

  1. هيرينغ، جون ر.، محرر. (28-05-2011)، معيار تطبيق OpenGIS® للمعلومات الجغرافية - الوصول البسيط إلى المعالم - الجزء 1: البنية المشتركة ، اتحاد Open Geospatial Consortium ، تم الاطلاع عليه بتاريخ 28-01-2019
  2. تكنولوجيا المعلومات – لغات قواعد البيانات – SQL حزم الوسائط المتعددة والتطبيقات – الجزء 3: المكاني ( الطبعة الخامسة)، ISO ، 15-01-2016 ، تاريخ الاطلاع 28-01-2019 
  3. انظر مواصفات تنفيذ OGC للمعلومات الجغرافية - الوصول البسيط إلى المعالم، القسم 6.1.11.1. http://www.opengeospatial.org/standards/sfa
  4. "Postgis/Postgis" . GitHub . 6 أكتوبر 2021.
  5. "ST_GeomFromEWKT" . تم الاسترجاع بتاريخ 25-11-2022 .
  6. "الفصل 4: استخدام PostGIS: إدارة البيانات والاستعلامات" . postgis.net . تم الاطلاع عليه بتاريخ 30-07-2021 .
  7. "مرجع واجهة برمجة تطبيقات MapGuide: نص AGF" . تم الاسترجاع في 14-09-2023 .