ST_ShortestLine — 傳回兩個幾何物件之間的最短 2D 線
geometry ST_ShortestLine(
geometry geom1, geometry geom2)
;
geography ST_ShortestLine(
geography geom1, geography geom2, boolean use_spheroid = true)
;
傳回兩個幾何物件之間的最短 2 維線。傳回的線從 geom1
開始,到 geom2
結束。如果 geom1
和 geom2
相交,則結果是一條起點和終點都位於交點上的線。線的長度與 ST_Distance 為 g1 和 g2 傳回的長度相同。
增強功能:3.4.0 - 支援地理。
可用性:1.5.0
點和線字串之間的最短線
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)