ST_3DMaxDistance — 以投影单位返回两个几何图形之间的3D笛卡尔最大距离(基于空间参考)。
float
ST_3DMaxDistance
(
geometry
g1
, geometry
g2
)
;
以投影单位(空间参考单位)返回两个几何图形之间的三维最大笛卡尔距离。
This function supports 3d and will not drop the z-index.
This function supports Polyhedral surfaces.
可用性:2.0.0
已更改:2.2.0-在2D和3D的情况下,对于缺失的Z,不再假定Z为0。
-- Geometry example - units in meters (SRID: 2163 US National Atlas Equal area) (3D point and line compared 2D point and line)
-- Note: currently no vertical datum support so Z is not transformed and assumed to be same units as final.
SELECT ST_3DMaxDistance(
ST_Transform(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 10000)'),2163),
ST_Transform(ST_GeomFromEWKT('SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)'),2163)
) As dist_3d,
ST_MaxDistance(
ST_Transform(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 10000)'),2163),
ST_Transform(ST_GeomFromEWKT('SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)'),2163)
) As dist_2d;
dist_3d | dist_2d
------------------+------------------
24383.7467488441 | 22247.8472107251