Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断参考文章:postgresql 空间函数集合 关系判断SQL 这里用两个完全一样的Geometry做测试。 /**1.获取两个几何对象间的距离 ST_Distance(geometry, geome…

Postgresql 两个Geometry的关系判断

关系判断SQL

这里用两个完全一样的Geometry做测试。

/**1.获取两个几何对象间的距离 ST_Distance(geometry, geometry)**/
SELECT  ST_Distance(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**2.如果两个几何对象间距离在给定值范围内,则返回TRUE ST_DWithin(geometry, geometry, float)**/
SELECT  ST_DWithin(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"),10);
/**3.判断两个几何对象是否相等(比如LINESTRING(0 0, 2 2)和LINESTRING(0 0, 1 1, 2 2)是相同的几何对象)ST_Equals(geometry, geometry)**/
SELECT  ST_Equals(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**4.判断两个几何对象是否分离 ST_Disjoint(geometry, geometry)   **/
SELECT  ST_Disjoint(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**5.判断两个几何对象是否相交 ST_Intersects(geometry, geometry)**/
SELECT  ST_Intersects(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**6.判断两个几何对象的边缘是否接触 ST_Touches(geometry, geometry)**/
SELECT  ST_Touches(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**7.判断两个几何对象是否互相穿过 ST_Crosses(geometry, geometry)**/
SELECT  ST_Crosses(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**8.判断A是否被B包含 ST_Within(geometry A, geometry B)**/
SELECT  ST_Within(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**9.判断两个几何对象是否是重叠 ST_Overlaps(geometry, geometry)**/
SELECT  ST_Overlaps(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**10.判断A是否包含B ST_Contains(geometry A, geometry B)**/
SELECT  ST_Contains(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**11.判断A是否覆盖 B ST_Covers(geometry A, geometry B)**/
SELECT  ST_Covers(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**12.判断A是否被B所覆盖 ST_CoveredBy(geometry A, geometry B)**/
SELECT  ST_CoveredBy(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));
/**13.通过DE-9IM 矩阵判断两个几何对象的关系是否成立 ST_Relate(geometry, geometry, intersectionPatternMatrix)**/
SELECT  ST_Relate(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"),"FF*FF****");
/**14.获得两个几何对象的关系(DE-9IM矩阵) ST_Relate(geometry, geometry)**/
SELECT  ST_Relate(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"));

代码100分

查询结果展示

1-10:

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

11-14

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

Postgresql 两个Geometry的关系判断

参考文章

ST_Relate(geometry,geometry, intersection_pattern_matrix )

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10008.html

(0)
上一篇 2023-01-27
下一篇 2023-01-27

相关推荐

  • sql语句proc_最简单的手工视频

    sql语句proc_最简单的手工视频CREATE PRoc [名字] { @参数 数据类型, @参数 数据类型 OUTPUT[输入] } AS begin select INSERT UPDATE (SQL) end –基本语句快 –

    2023-01-30
    104
  • 浅谈华为云主机「建议收藏」

    浅谈华为云主机「建议收藏」云主机是什么? 云主机是云计算在基础设施应用上的重要组成部分,位于云计算产业链金字塔底层,产品源自云计算平台。该平台整合了互联网应用三大核心要素:计算、存储、网络,面向用户提供公用化的互联网基础设施服

    2023-05-12
    100
  • Python中嵌套if语句的应用

    Python中嵌套if语句的应用if语句是Python中最基本的分支语句,是实现条件判断的重要手段。嵌套if语句是在if语句的条件成立的基础上,再进行一层条件判断,从而实现更为复杂的分支控制。通过嵌套if语句,可以提高程序的条件判断能力,实现更为精细的业务逻辑。

    2024-01-03
    72
  • 强扩展、强一致、高可用…GaussDB成为游戏行业的心头爱[通俗易懂]

    强扩展、强一致、高可用…GaussDB成为游戏行业的心头爱[通俗易懂]摘要:看GaussDB for Redis强扩展、高可用、强一致、高安全,如何玩转各大游戏场景 本文分享自华为云社区《GaussDB为什么成为游戏行业的心头爱?》,作者: GaussDB 数据库 。

    2023-06-04
    90
  • Python和MATLAB:数据分析和科学计算利器

    Python和MATLAB:数据分析和科学计算利器Python和MATLAB是两种常用的科学计算和数据处理工具。它们都有着强大的数学计算和数据分析能力,可以帮助人们在各种领域中解决复杂的问题和挑战。本文将从几个方面对Python和MATLAB进行比较分析,为读者提供一些决策参考。

    2024-03-05
    36
  • clickhouse 搭建_clickhouse集群

    clickhouse 搭建_clickhouse集群ClickHouse集群的搭建和部署和单机的部署是类似的,主要在于配置的不一致,如果需要了解ClickHouse单机的安装设部署,可以看看这篇文章,ClickHouse(03)ClickHouse怎么

    2023-05-26
    95
  • 在centos7.x环境中SQL Server附加数据库[亲测有效]

    在centos7.x环境中SQL Server附加数据库[亲测有效]第一步,准备好windows与Linux之间文件传递的工具,下载并安装 https://winscp.net/eng/download.php 第二步,把本地的数据库文件拷贝一份,放到别的文件夹中,因

    2023-01-31
    212
  • oracle数据库spool输出_oracle sqlplus命令

    oracle数据库spool输出_oracle sqlplus命令问题描述:spool让我想起来了spooling假脱机,但是这个spool是oracle下的命令,将select查询出来的数据打印出来 1.linuxi下 spool +路径+文件名,这里的文件如果不

    2022-12-26
    96

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注