ST_3DMaxDistance — Returnerar det maximala kartesiska 3D-avståndet (baserat på spatial ref) mellan två geometrier i projicerade enheter.
float ST_3DMaxDistance(geometry g1, geometry g2);
Returnerar det 3-dimensionella maximala cartesiska avståndet mellan två geometrier i projicerade enheter (spatiala ref-enheter).
Denna funktion stöder 3d och kommer inte att tappa z-index.
Denna funktion stöder polyedriska ytor.
Tillgänglighet: 2.0.0
Ändrad: 2.2.0 - När det gäller 2D och 3D antas Z inte längre vara 0 om Z saknas.
Geometriexempel – enheter i meter (SRID: 2163 US National Atlas Equal Area; 3D-punkt och -linje jämförs med 2D-punkt och -linje). Observera att vertikala referenssystem för närvarande inte stöds, så Z transformeras inte och antas ha samma enhet som slutresultatet.
SELECT ST_3DMaxDistance(
ST_Transform('SRID=4326;POINT(-72.1235 42.3521 10000)'::geometry, 2163),
ST_Transform('SRID=4326;LINESTRING(-72.1260 42.45 15,-72.123 42.1546 20)'::geometry, 2163)
) As dist_3d,
ST_MaxDistance(
ST_Transform('SRID=4326;POINT(-72.1235 42.3521 10000)'::geometry, 2163),
ST_Transform('SRID=4326;LINESTRING(-72.1260 42.45 15,-72.123 42.1546 20)'::geometry, 2163)
) As dist_2d;
dist_3d | dist_2d ------------------+------------------ 24383.7467488441 | 22247.8472107251