GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.9.1. النص المعروف (WKT)
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_AsText

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

الاسم

ST_AsText — تُعيد تمثيل النص المعروف (WKT) لقيمة geometry/geography دون بيانات SRID الوصفية.

المختصر

text ST_AsText(geometry g1);

text ST_AsText(geometry g1, integer maxdecimaldigits = 15);

text ST_AsText(geography g1);

text ST_AsText(geography g1, integer maxdecimaldigits = 15);

الوصف

تُعيد تمثيل OGC للنص المعروف (WKT) لقيمة geometry/geography. يمكن استخدام الوسيط الاختياري maxdecimaldigits لتحديد عدد الخانات بعد الفاصلة العشرية في الإحداثيات الناتجة (القيمة الافتراضية 15).

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

[ملاحظة]

لا يتضمن تمثيل OGC WKT القياسي قيمة SRID. لتضمين SRID في التمثيل الناتج، استخدم دالة PostGIS غير القياسية ST_AsEWKT

[تنبيه]

قد لا يحافظ التمثيل النصي للأعداد في WKT على دقة الفاصلة العائمة الكاملة. لضمان الدقة الكاملة لتخزين البيانات أو نقلها، يُفضَّل استخدام صيغة الثنائي المعروف (WKB) (انظر ST_AsBinary وmaxdecimaldigits).

[تنبيه]

قد يؤدي استخدام المعامل maxdecimaldigits إلى أن يصبح الشكل الهندسي الناتج غير صالح. لتجنّب ذلك استخدم أولًا ST_ReducePrecision بحجم شبكة مناسب.

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

حُسّنت في: 2.5 - أُضيف معامل الدقة الاختياري.

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

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

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

أمثلة

SELECT ST_AsText('01030000000100000005000000000000000000
000000000000000000000000000000000000000000000000
F03F000000000000F03F000000000000F03F000000000000F03
F000000000000000000000000000000000000000000000000');

    st_astext
--------------------------------
 POLYGON((0 0,0 1,1 1,1 0,0 0))

الإخراج بالدقة الكاملة هو السلوك الافتراضي.

SELECT ST_AsText('POINT(111.1111111 1.1111111)'));
    st_astext
------------------------------
 POINT(111.1111111 1.1111111)

يمكن استخدام الوسيط maxdecimaldigits لتحديد دقة الإخراج.

SELECT ST_AsText('POINT(111.1111111 1.1111111)'), 2);
    st_astext
--------------------
 POINT(111.11 1.11)