ST_3DMaxDistance — Returns the 3D cartesian maximum distance (based on spatial ref) between two geometries in projected units.
float ST_3DMaxDistance(
geometry
g1, geometry
g2)
;
Returns the 3-dimensional maximum cartesian distance between two geometries in projected units (spatial ref units).
This function supports 3d and will not drop the z-index.
This function supports Polyhedral surfaces.
Availability: 2.0.0
Changed: 2.2.0 - In case of 2D and 3D, Z is no longer assumed to be 0 for missing Z.
-- 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