返回分別在兩個Geometry對象上的點在三維空間中能構成的最短線段。
語法
geometry ST_3DShortestLine(geometry g1 , geometry g2);
參數
參數名稱 | 描述 |
g1 | 第一個Geometry對象。 |
g2 | 第二個Geometry對象。 |
描述
如果存在多條可選項,該函數將僅返回第一條最短的Line對象。
如果g1和g2僅在一個點處相交,則該函數將返回在該相交點處具有起點和終點的Line對象。
如果g1和g2與一個以上的點相交,則該函數將返回一條以相同的點為起點和終點的Line對象,這個點可以是任何相交的點。
返回的Line對象將始終從g1指向g2。
該函數返回的Line對象的3D長度將始終與g1和g2在函數ST_3DMaxDistance中返回的值相同。
該函數支持3D對象,并且不會刪除Z坐標。
該函數支持Polyhedral Surface類型對象。
示例
對比ST_3DLongestLine與ST_3DShortestLine:
SELECT ST_AsText(ST_3DLongestLine(g1,g2)) as longest,
ST_AsText(ST_3DShortestLine(g1,g2)) as shortest
from (SELECT 'POINT(0 0 0)'::geometry as g1,
'LINESTRING(0 0 1,1 1 0)'::geometry as g2) as test;
longest | shortest
--------------------------+------------------------------------
LINESTRING Z (0 0 0,1 1 .| LINESTRING Z (0 0 0,0.333333333333.
.0) |.333 0.333333333333333 0.6666666666.
|.66667)
(1 row)
文檔內容是否對您有幫助?