PostGIS

ST_3DDWithin

Prev

7.11.2. Distance Relationships

Next

Name

ST_3DDWithin — Tests if two 3D geometries are within a given 3D distance

Synopsis

boolean +`*`+ST_3DDWithin*(`geometry `g1, geometry g2, double precision distance_of_srid`)`;

Description

Returns true if the 3D distance between two geometry values is no larger than distance distance_of_srid. The distance is specified in units defined by the spatial reference system of the geometries. For this function to make sense the source geometries must be in the same coordinate system (have the same SRID).

Note

This function automatically includes a bounding box comparison that makes use of any spatial indexes that are available on the geometries.

check This function supports 3d and will not drop the z-index.

check This function supports Polyhedral surfaces.

check This method implements the SQL/MM specification.

SQL-MM ?

Availability: 2.0.0

Examples

-- 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_3DDWithin(
      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),
      126.8
    ) As within_dist_3d,
ST_DWithin(
      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),
      126.8
    ) As within_dist_2d;

 within_dist_3d | within_dist_2d
----------------+----------------
 f              | t