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

ST_AsSVG

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

الاسم

ST_AsSVG — تُعيد بيانات مسار SVG لشكل هندسي.

المختصر

text ST_AsSVG(geometry geom, integer rel=0, integer maxdecimaldigits=15);

text ST_AsSVG(geography geog, integer rel=0, integer maxdecimaldigits=15);

الوصف

تُعيد الشكل الهندسي كبيانات مسار رسوميات متجهية قابلة للتحجيم (SVG). مرّر 1 كوسيط ثانٍ لتُنفَّذ بيانات المسار بحركات نسبية، أما الافتراضي (أو 0) فيستخدم حركات مطلقة. ويمكن استخدام الوسيط الثالث لتقليل الحد الأقصى لعدد الخانات العشرية المستخدمة في الإخراج (القيمة الافتراضية 15). تُرسم أشكال النقاط كـ cx/cy عندما يكون الوسيط 'rel' يساوي 0، وكـ x/y عندما يكون 'rel' يساوي 1. وتُفصل أشكال Multipoint بفواصل (",")، وتُفصل أشكال GeometryCollection بفواصل منقوطة (";").

للعمل مع رسوميات SVG في PostGIS، اطّلع على مكتبة pg_svg التي توفّر دوال plpgsql للتعامل مع مخرجات ST_AsSVG.

حُسّنت في: 3.4.0 لدعم كل أنواع المنحنيات

تغيّرت في: 2.0.0 لاستخدام الوسائط الافتراضية ودعم الوسائط المسمّاة

[ملاحظة]

متاحة منذ: 1.2.2. متاحة منذ: 1.4.0 تغيّرت في PostGIS 1.4.0 لتتضمن الأمر L في المسار المطلق للتوافق مع http://www.w3.org/TR/SVG/paths.html#PathDataBNF

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

أمثلة

SELECT ST_AsSVG('POLYGON((0 0,0 1,1 1,1 0,0 0))'::geometry);

st_assvg
--------
M 0 0 L 0 -1 1 -1 1 0 Z

قوس دائري (CircularString)

SELECT ST_AsSVG( ST_GeomFromText('CIRCULARSTRING(-2 0,0 2,2 0,0 2,2 4)') );

st_assvg
--------
M -2 0 A 2 2 0 0 1 2 0 A 2 2 0 0 1 2 -4

منحنى متعدد (Multi-curve)

SELECT ST_AsSVG('MULTICURVE((5 5,3 5,3 3,0 3),
 CIRCULARSTRING(0 0,2 1,2 2))'::geometry, 0, 0);
 st_assvg
------------------------------------------------
 M 5 -5 L 3 -5 3 -3 0 -3 M 0 0 A 2 2 0 0 0 2 -2
 

سطح متعدد (Multi-surface)

SELECT ST_AsSVG('MULTISURFACE(
CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),
    (-1 0,0 0.5,1 0,0 1,-1 0)),
((7 8,10 10,6 14,4 11,7 8)))'::geometry, 0, 2);

st_assvg
---------------------------------------------------------
M -2 0 A 1 1 0 0 0 0 0 A 1 1 0 0 0 2 0 A 2 2 0 0 0 -2 0 Z
M -1 0 L 0 -0.5 1 0 0 -1 -1 0 Z
M 7 -8 L 10 -10 6 -14 4 -11 Z