GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.9.3. صيغ أخرى
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_AsTWKB

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

الاسم

ST_AsTWKB — تُعيد الشكل الهندسي بصيغة TWKB، أي "Tiny Well-Known Binary"

المختصر

bytea ST_AsTWKB(geometry geom, integer prec=0, integer prec_z=0, integer prec_m=0, boolean with_sizes=false, boolean with_boxes=false);

bytea ST_AsTWKB(geometry[] geom, bigint[] ids, integer prec=0, integer prec_z=0, integer prec_m=0, boolean with_sizes=false, boolean with_boxes=false);

الوصف

تُعيد الشكل الهندسي بصيغة TWKB (Tiny Well-Known Binary). وTWKB صيغة ثنائية مضغوطة تركّز على تقليل حجم الإخراج إلى أدنى حد.

تتحكم معاملات الخانات العشرية في مقدار الدقة المخزَّنة في الإخراج. افتراضيًا، تُقرَّب القيم إلى أقرب وحدة قبل الترميز. إذا أردت نقل دقة أكبر، فزِد العدد. فمثلًا، القيمة 1 تعني الحفاظ على أول خانة على يمين الفاصلة العشرية.

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

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

[ملاحظة]

مواصفة الصيغة متاحة عبر الإنترنت على https://github.com/TWKB/Specification، ويمكن العثور على شيفرة لبناء عميل JavaScript على https://github.com/TWKB/twkb.js.

حُسّنت في: 2.4.0 تحسينات في الذاكرة والسرعة.

متاحة منذ: 2.2.0

أمثلة

SELECT ST_AsTWKB('LINESTRING(1 1,5 5)'::geometry);
                 st_astwkb
--------------------------------------------
\x02000202020808

لإنشاء كائن TWKB تجميعي يتضمن المعرّفات، اجمع الأشكال الهندسية والكائنات المطلوبة أولًا باستخدام "array_agg()"، ثم استدعِ دالة TWKB المناسبة.

SELECT ST_AsTWKB(array_agg(geom), array_agg(gid)) FROM mytable;
                 st_astwkb
--------------------------------------------
\x040402020400000202