ST_3DMaxDistance — 二つのジオメトリ間の3次元最大デカルト距離 (空間参照系に基づく)を空間参照系の単位で返します。
float ST_3DMaxDistance(geometry g1, geometry g2);
二つのジオメトリ間の3次元の最大デカルト距離を空間参照系の単位で返します。
This function supports 3d and will not drop the z-index.
This function supports Polyhedral surfaces.
Availability: 2.0.0
Changed: 2.2.0 - 2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
-- ジオメトリの例 - メートル単位(SRID: 2163 米国ナショナルアトラス正積図法)
-- (3次元ポイントとラインの距離と、2次元ポイントとラインの距離とを比較)
-- ご注意: 現在は垂直データムに対応していないので、Zは変換されずに、最終的に同じであると仮定されます。
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