GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.19. الإسناد الخطي
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_LocateBetween

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

الاسم

ST_LocateBetween — تُعيد أجزاء الشكل الهندسي التي تطابق نطاق قياس معيّنًا.

المختصر

geometry ST_LocateBetween(geometry geom, float8 measure_start, float8 measure_end, float8 offset = 0);

الوصف

تُعيد geometry (مجموعة أشكال) تضم أجزاء الشكل الهندسي المُدخل ذي القياس التي تطابق نطاق القياس المحدد (شاملًا الحدّين).

إذا قُدِّم offset، يُزاح الناتج إلى يسار الخط المُدخل أو يمينه بالمسافة المحددة. تكون الإزاحة الموجبة إلى اليسار، والسالبة إلى اليمين.

قد يؤدي قصّ POLYGON غير محدب إلى شكل هندسي غير صالح.

الدلالة محددة في معيار ISO/IEC 13249-3 SQL/MM Spatial.

متاحة منذ: 1.1.0 بالاسم القديم ST_Locate_Between_Measures.

تغيّرت في: 2.0.0 - في الإصدارات السابقة كانت تُسمّى ST_Locate_Between_Measures.

حُسّنت في: 3.0.0 - أُضيف دعم POLYGON وTIN وTRIANGLE.

تدعم هذه الدالة إحداثيات M.

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

أمثلة

SELECT ST_AsText(
  ST_LocateBetween(
       'MULTILINESTRING M ((1 2 3, 3 4 2, 9 4 3),(1 2 3, 5 4 5))':: geometry,
       1.5, 3 ));
------------------------------------------------------------------------
 GEOMETRYCOLLECTION M (LINESTRING M (1 2 3,3 4 2,9 4 3),POINT M (1 2 3))

خط (LineString) مع المقطع الواقع بين القياسين 2 و8، مُزاحًا إلى اليسار

SELECT ST_AsText( ST_LocateBetween(
  ST_AddMeasure('LINESTRING (20 180, 50 20, 100 120, 180 20)', 0, 10),
  2, 8,
  20
));
------------------------------------------------------------------------
MULTILINESTRING((54.49835019899045 104.53426957938231,58.70056060327303 82.12248075654186,69.16695286779743 103.05526528559065,82.11145618000168 128.94427190999915,84.24893681714357 132.32493442618113,87.01636951231555 135.21267035596549,90.30307285299679 137.49198684843182,93.97759758337769 139.07172433557758,97.89298381958797 139.8887023914453,101.89263860095893 139.9102465862721,105.81659870902816 139.13549527600819,109.50792827749828 137.5954340631298,112.81899532549731 135.351656550512,115.6173761888606 132.49390095108848,145.31017306064817 95.37790486135405))