GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.12. دوال القياس
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_ShortestLine

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

الاسم

ST_ShortestLine — تُعيد أقصر خط ثنائي الأبعاد بين شكلين هندسيين

المختصر

geometry ST_ShortestLine(geometry geom1, geometry geom2);

geography ST_ShortestLine(geography geom1, geography geom2, boolean use_spheroid = true);

الوصف

تُعيد أقصر خط ثنائي الأبعاد بين شكلين هندسيين. يبدأ الخط المُعاد في geom1 وينتهي في geom2. إذا تقاطع geom1 وgeom2 فالنتيجة خط يبدأ وينتهي عند نقطة تقاطع. وطول الخط يساوي ما تُعيده ST_Distance لـ g1 وg2.

حُسّنت في: 3.4.0 - دعم geography.

متاحة منذ: 1.5.0

أمثلة

أقصر خط بين Point وLineString

SELECT ST_AsText(  ST_ShortestLine(
        'POINT (160 40)',
        'LINESTRING (10 30, 50 50, 30 110, 70 90, 180 140, 130 190)')
        ) As sline;
---------------------------------------------------------
 LINESTRING(160 40,125.75342465753425 115.34246575342466)

أقصر خط بين مضلعين

SELECT ST_AsText( ST_ShortestLine(
         'POLYGON ((190 150, 20 10, 160 70, 190 150))',
         ST_Buffer('POINT(80 160)', 30)
              ) ) AS llinewkt;
-----------------
LINESTRING(131.59149149528952 101.89887534906197,101.21320343559644 138.78679656440357)