GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.5. دوال تحرير الأشكال الهندسية
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_SetPoint

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

الاسم

ST_SetPoint — استبدال نقطة من خط بنقطة مُعطاة.

المختصر

geometry ST_SetPoint(geometry linestring, integer zerobasedposition, geometry point);

الوصف

تستبدل النقطة N من الخط بالنقطة المُعطاة. يبدأ الفهرس من 0. وتُعدّ الفهارس السالبة من النهاية، بحيث يكون -1 هو النقطة الأخيرة. وهذا مفيد خصوصًا في القوادح (triggers) عند محاولة الحفاظ على علاقة نقاط الاتصال حين يتحرك أحد الرؤوس.

متاحة منذ: 1.1.0

حُدّثت في 2.3.0: الفهرسة السالبة

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

أمثلة

--Change first point in line string from -1 3 to -1 1
SELECT ST_AsText(ST_SetPoint('LINESTRING(-1 2,-1 3)', 0, 'POINT(-1 1)'));
           st_astext
-----------------------
 LINESTRING(-1 1,-1 3)

---Change last point in a line string (lets play with 3d linestring this time)
SELECT ST_AsEWKT(ST_SetPoint(foo.geom, ST_NumPoints(foo.geom) - 1, ST_GeomFromEWKT('POINT(-1 1 3)')))
FROM (SELECT ST_GeomFromEWKT('LINESTRING(-1 2 3,-1 3 4, 5 6 7)') As geom) As foo;
           st_asewkt
-----------------------
LINESTRING(-1 2 3,-1 3 4,-1 1 3)

SELECT ST_AsText(ST_SetPoint(g, -3, p))
FROM ST_GEomFromText('LINESTRING(0 0, 1 1, 2 2, 3 3, 4 4)') AS g
        , ST_PointN(g,1) as p;
           st_astext
-----------------------
LINESTRING(0 0,1 1,0 0,3 3,4 4)