ST_3DDistance — ジオメトリ型について、二つのジオメトリの、3次元の最小デカルト距離 (空間参照系に基づきます)を、投影法の単位で返します。
float ST_3DDistance(
geometry g1, geometry g2)
;
ジオメトリ型について、二つのジオメトリの、3次元の最小デカルト距離 (空間参照系に基づきます)を、投影法の単位で返します。
This function supports 3d and will not drop the z-index.
This function supports Polyhedral surfaces.
This method implements the SQL/MM specification. SQL-MM ?
This method is also provided by SFCGAL backend.
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.
-- ジオメトリの例 - メートル単位(SRID: 2163 米国ナショナルアトラス正積図法) -- (3次元ポイントとラインの距離と、2次元ポイントとラインの距離とを比較) -- ご注意: 現在は垂直データムに対応していないので、 -- Zは変換されずに、最終的に同じであると仮定されます。 SELECT ST_3DDistance( ST_Transform(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 4)'),2163), ST_Transform(ST_GeomFromEWKT('SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)'),2163) ) As dist_3d, ST_Distance( ST_Transform(ST_GeomFromText('POINT(-72.1235 42.3521)',4326),2163), ST_Transform(ST_GeomFromText('LINESTRING(-72.1260 42.45, -72.123 42.1546)', 4326),2163) ) As dist_2d; dist_3d | dist_2d ------------------+----------------- 127.295059324629 | 126.66425605671
-- Multilinestring and polygon both 3d and 2d distance -- Same example as 3D closest point example SELECT ST_3DDistance(poly, mline) As dist3d, ST_Distance(poly, mline) As dist2d FROM (SELECT ST_GeomFromEWKT('POLYGON((175 150 5, 20 40 5, 35 45 5, 50 60 5, 100 100 5, 175 150 5))') As poly, ST_GeomFromEWKT('MULTILINESTRING((175 155 2, 20 40 20, 50 60 -2, 125 100 1, 175 155 1), (1 10 2, 5 20 1))') As mline ) As foo; dist3d | dist2d -------------------+-------- 0.716635696066337 | 0