Name

ST_3DDistance — Für den geometrischen Datentyp. Es wird der geringste 3-dimensionale kartesische Abstand (basierend auf dem Koordinatenreferenzsystem) zwischen zwei geometrischen Objekten in projizierten Einheiten zurückgegeben.

Übersicht

float ST_3DDistance(geometry g1, geometry g2);

Beschreibung

Für den geometrischen Datentyp. Es wird der geringste 3-dimensionale kartesische Abstand zwischen zwei geometrischen Objekten in projizierten Einheiten (Einheiten des Koordinatenreferenzsystem) zurückgegeben.

Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.

Diese Funktion unterstützt polyedrische Flächen.

Diese Methode setzt die SQL/MM-Spezifikation um. SQL-MM ISO/IEC 13249-3

Verfügbarkeit: 2.0.0

Änderung: 2.2.0 - Im Falle von 2D und 3D wird für ein fehlendes Z nicht mehr 0 angenommen.

Geändert: 3.0.0 - SFCGAL-Version entfernt

Beispiele

Geometry example - units in meters (SRID: 2163 US National Atlas Equal area) (3D point and line compared 2D point and line) Note that currently no vertical datum support so Z is not transformed and assumed to be same units as final.

Code
SELECT ST_3DDistance(
            ST_Transform('SRID=4326;POINT(-72.1235 42.3521 4)'::geometry, 2163),
                ST_Transform('SRID=4326;LINESTRING(-72.1260 42.45 15,-72.123 42.1546 20)'::geometry, 2163)
            ) As dist_3d,
            ST_Distance(
                ST_Transform('SRID=4326;POINT(-72.1235 42.3521)'::geometry, 2163),
                ST_Transform('SRID=4326;LINESTRING(-72.1260 42.45,-72.123 42.1546)'::geometry, 2163)
            ) As dist_2d;
Ausgabe von Rastern
dist_3d      |     dist_2d
------------------+-----------------
 127.295059324629 | 126.66425605671

Multilinestring and polygon both 3D and 2D distance. Same example as 3D closest point example.

Code
SELECT ST_3DDistance(poly, mline) As dist3d,
    ST_Distance(poly, mline) As dist2d
        FROM (SELECT  'POLYGON((175 150 5,20 40 5,35 45 5,50 60 5,100 100 5,175 150 5))'::geometry as poly,
               'MULTILINESTRING((175 155 2,20 40 20,50 60 -2,125 100 1,175 155 1),(1 10 2,5 20 1))'::geometry as mline) as foo;
Ausgabe von Rastern
dist3d       | dist2d
-------------------+--------
                 0 |      0
Figure
Geometry figure for visual-st-3ddistance-02