GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.9.2. الثنائي المعروف (WKB)
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_AsBinary

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_AsBinary — تُعيد تمثيل الثنائي المعروف (WKB) وفق OGC/ISO لقيمة geometry/geography دون بيانات SRID الوصفية.

المختصر

bytea ST_AsBinary(geometry g1);

bytea ST_AsBinary(geometry g1, text NDR_or_XDR);

bytea ST_AsBinary(geography g1);

bytea ST_AsBinary(geography g1, text NDR_or_XDR);

الوصف

تُعيد تمثيل الثنائي المعروف (WKB) وفق OGC/ISO للشكل الهندسي. الصيغة الأولى للدالة تُرمِّز افتراضيًا باستخدام ترتيب البايتات (endian) لجهاز الخادم. أما الصيغة الثانية فتأخذ وسيطًا نصيًا يحدد ترتيب البايتات: إما 'NDR' للترتيب الصغير (little-endian)، أو 'XDR' للترتيب الكبير (big-endian). يؤدي تمرير وسائط غير معروفة إلى إخراج بترتيب little-endian.

صيغة WKB مفيدة لقراءة بيانات الأشكال الهندسية من قاعدة البيانات مع الحفاظ على الدقة العددية الكاملة. وهذا يتجنّب تقريب الدقة الذي قد يحدث مع الصيغ النصية مثل WKT.

لإجراء التحويل العكسي من WKB إلى geometry في PostGIS استخدم ST_GeomFromWKB.

[ملاحظة]

لا تتضمن صيغة OGC/ISO WKB قيمة SRID. للحصول على صيغة EWKB التي تتضمن SRID استخدم ST_AsEWKB

[ملاحظة]

تغيّر السلوك الافتراضي في PostgreSQL 9.0 ليُخرج bytea بترميز سداسي عشري. إذا كانت أدواتك الرسومية تتطلب السلوك القديم، فنفّذ SET bytea_output='escape' في قاعدة بياناتك.

حُسّنت في: 2.0.0 أُضيف دعم الأسطح متعددة الوجوه والمثلثات وTIN.

حُسّنت في: 2.0.0 أُضيف دعم أبعاد الإحداثيات الأعلى.

حُسّنت في: 2.0.0 أُضيف دعم تحديد ترتيب البايتات (endian) مع geography.

متاحة منذ: 1.5.0 أُضيف دعم geography.

تغيّرت في: 2.0.0 لا يمكن أن تكون مدخلات هذه الدالة من نوع غير معروف (unknown) -- يجب أن تكون geometry. لم تعد تراكيب مثل ST_AsBinary('POINT(1 2)') صالحة، وستحصل على الخطأ n st_asbinary(unknown) is not unique error. يجب تغيير شيفرة كهذه إلى ST_AsBinary('POINT(1 2)'::geometry);. وإن لم يكن ذلك ممكنًا، فثبّت legacy.sql.

تطبّق هذه الدالة مواصفة OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.1

تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM 3: 5.1.37

تدعم هذه الدالة الأقواس الدائرية (Circular Strings) والمنحنيات.

تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).

تدعم هذه الدالة المثلثات وأسطح الشبكات المثلثية غير المنتظمة (TIN).

تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.

أمثلة

SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326));

       st_asbinary
--------------------------------
\x01030000000100000005000000000000000000000000000000000000000000000000000000000000
000000f03f000000000000f03f000000000000f03f000000000000f03f0000000000000000000000
00000000000000000000000000
SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326), 'XDR');
       st_asbinary
--------------------------------
\x000000000300000001000000050000000000000000000000000000000000000000000000003ff000
00000000003ff00000000000003ff00000000000003ff00000000000000000000000000000000000
00000000000000000000000000

انظر أيضًا

ST_GeomFromWKB, ST_AsEWKB, ST_AsTWKB, ST_AsText,