Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_3DDWITHIN

📄字数 814
👁️阅读量 加载中...

功能描述

如果两个几何值之间的 3D 距离不大于距离 distance_of_srid,则返回 TRUE。

语法格式

sql
BOOLEAN ST_3DDWITHIN(GEOMETRY geomA, GEOMETRY geomB, DOUBLE distance_of_srid);

参数说明

  • geomA:第一个目标 GEOMETRY 对象。
  • geomB:第二个目标 GEOMETRY 对象。
  • distance_of_srid:3D 距离,以几何空间参考系统定义的单位指定。

函数返回类型

BOOLEAN 类型

使用说明

  1. 源几何图形必须具有相同的坐标投影,并具有相同的 SRID。
  2. 此功能自动包括利用几何上可用的任何空间索引的边界框比较。
  3. 该函数支持 3d 并且不会丢失 z-index。
  4. 该函数支持多面体曲面(POLYHEDRALSURFACE)。

示例

3D 和 2D 的对比

sql
-- 单位:米 (SRID: 2163 US National Atlas Equal area)
-- Note: currently no vertical datum support so Z is not transformed and assumed to be same units as final.
SQL> 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              |
+----------------+----------------+

(1 row)