返回分別在兩個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 lonest,
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;
lonest | shortest
--------------------------+------------------------------------
LINESTRING Z (0 0 0,1 1 .| LINESTRING Z (0 0 0,0.333333333333.
.0) |.333 0.333333333333333 0.6666666666.
|.66667)
(1 row)