postgresql 空间函数集合「建议收藏」

postgresql 空间函数集合「建议收藏」1、空间对象字段不建议手动创建,建议使用语句生成空间对象字段,table_name:表名,column_name:生成的列名,3857:坐标系   SELECT AddGeometryColumn …

postgresql 空间函数集合

  SELECT AddGeometryColumn (“public”,”table_name“, “column_name“, 3857, “POINT”, 2);

2、把两个点x,y生成point对象函数

  st_point(x, y)

3、设置point的坐标系函数,point为空间点对象,4326表示坐标系

  st_setsrid(point,4326)

  例:update table_name SET column_name=st_setsrid(st_point(117.4364, 25.9747), 4326)  where id=”xxx”;

4、转换坐标系函数,g1:空间几何对象,srid:是坐标系4326,3857…等等

  st_transform(geometry g1, integer srid)

5、点在不在面里面函数g1是空间几何对象,g2是空间几何对象

  st_contains(geometry g1,geometry g2)

其他常用方法:

1、几何对象处理函数:

  1.1、获取几何对象的中心 ST_Centroid(geometry)

  1.2、面积量测 ST_Area(geometry)

  1.3、长度量测 ST_Length(geometry)

  1.4、返回曲面上的一个点 ST_PointOnSurface(geometry)

  1.5、获取边界 ST_Boundary(geometry)

  1.6、获取缓冲后的几何对象 ST_Buffer(geometry, double,[integer])

  1.7、获取多几何对象的外接对象 ST_ConvexHull(geometry)

  1.8、获取两个几何对象相交的部分 ST_Intersection(geometry, geometry)

  1.9、将经度小于0的值加360使所有经度值在0-360间 ST_Shift_Longitude(geometry)

  1.10、获取两个几何对象不相交的部分(A、B可互换) ST_SymDifference(geometry A,geometry B)

  1.11、从A去除和B相交的部分后返回 ST_Difference(geometry A, geometryB)

  1.12、返回两个几何对象的合并结果 ST_Union(geometry, geometry)

  1.13、返回一系列几何对象的合并结果 ST_Union(geometry set)

  1.14、用较少的内存和较长的时间完成合并操作,结果和ST_Union相同 ST_MemUnion(geometry set)

2、几何对象关系函数:

  2.1、获取两个几何对象间的距离 ST_Distance(geometry, geometry)

  2.2、如果两个几何对象间距离在给定值范围内,则返回TRUEST_DWithin(geometry, geometry, float)

  2.3、判断两个几何对象是否相等(比如LINESTRING(0 0, 2 2)和LINESTRING(0 0, 1 1, 2 2)是相同的几何对象)ST_Equals(geometry, geometry)

  2.4、判断两个几何对象是否分离 ST_Disjoint(geometry, geometry)              

  2.5、判断两个几何对象是否相交 ST_Intersects(geometry, geometry)

  2.6、判断两个几何对象的边缘是否接触 ST_Touches(geometry, geometry)

  2.7、判断两个几何对象是否互相穿过 ST_Crosses(geometry, geometry)

  2.8、判断A是否被B包含 ST_Within(geometry A, geometry B)

  2.9、判断两个几何对象是否是重叠 ST_Overlaps(geometry, geometry)

  2.10、判断A是否包含B ST_Contains(geometry A, geometry B)

  2.11、判断A是否覆盖 B ST_Covers(geometry A, geometry B)

  2.12、判断A是否被B所覆盖 ST_CoveredBy(geometry A, geometry B)

  2.13、通过DE-9IM 矩阵判断两个几何对象的关系是否成立 ST_Relate(geometry, geometry, intersectionPatternMatrix)

  2.14、获得两个几何对象的关系(DE-9IM矩阵) ST_Relate(geometry, geometry)

3、几何对象存取函数:

  3.1、获取几何对象的WKT描述 ST_AsText(geometry)

  3.2、获取几何对象的WKB描述 ST_AsBinary(geometry)

  3.3、获取几何对象的空间参考ID ST_SRID(geometry)

  3.4、获取几何对象的维数 ST_Dimension(geometry)

  3.5、获取几何对象的边界范围 ST_Envelope(geometry)

  3.6、判断几何对象是否为空 ST_IsEmpty(geometry)

  3.7、判断几何对象是否不包含特殊点(比如自相交)ST_IsSimple(geometry)

  3.8、判断几何对象是否闭合 ST_IsClosed(geometry)

  3.9、判断曲线是否闭合并且不包含特殊点 ST_IsRing(geometry)

  3.10、获取多几何对象中的对象个数 ST_NumGeometries(geometry)

  3.11、获取多几何对象中第N个对象 ST_GeometryN(geometry,int)

  3.12、获取几何对象中的点个数 ST_NumPoints(geometry)

  3.13、获取几何对象的第N个点 ST_PointN(geometry,integer)

  3.14、获取多边形的外边缘 ST_ExteriorRing(geometry)

  3.15、获取多边形内边界个数 ST_NumInteriorRings(geometry)

  3.16、同上 ST_NumInteriorRing(geometry)

  3.17、获取多边形的第N个内边界 ST_InteriorRingN(geometry,integer)

  3.18、获取线的终点 ST_EndPoint(geometry)

  3.19、获取线的起始点 ST_StartPoint(geometry)

  3.20、获取几何对象的类型 GeometryType(geometry)

  3.21、类似上,但是不检查M值,即POINTM对象会被判断为point ST_GeometryType(geometry)

  3.22、获取点的X坐标 ST_X(geometry)

  3.23、获取点的Y坐标 ST_Y(geometry)

  3.24、获取点的Z坐标 ST_Z(geometry)

  3.25、获取点的M值 ST_M(geometry)

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

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

相关推荐

  • 走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?「建议收藏」

    走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?「建议收藏」一、课程介绍 数据服务API作为数据统一服务平台建设的最上层,能够将数据仓库数据以服务化、接口化的方式提供给数据使用方,屏蔽底层数据存储、计算的诸多细节,简化和加强数据的使用。 随着企业“互联网化、数

    2023-05-22
    140
  • 别再误解mysql的幻读了_innodb如何解决幻读

    别再误解mysql的幻读了_innodb如何解决幻读MySQL InnoDB引擎在Repeatable Read(可重复读)隔离级别下,到底有没有解决幻读的问题?
    网上众说纷纭,有的说解决了,有的说没解决,甚至有些大v的意见都无法达成统一。
    今天就深入

    2023-06-05
    133
  • Python List Sorting: 提高数据检索效能的方法

    Python List Sorting: 提高数据检索效能的方法Python是一门强大的编程语言,广泛应用于各行各业。其中,List是Python中最常用的数据结构之一,并且Python的List拥有强大的排序功能。List排序在数据处理中非常重要,其主要应用场景包括:

    2023-12-21
    94
  • 使用apt-get安装vim

    使用apt-get安装vim在Linux环境下,我们经常需要使用命令行界面进行操作。而vim是一款非常经典的命令行文本编辑器,在Linux系统上得到广泛使用。在本篇文章中,我们将会介绍如何使用apt-get命令来安装vim。

    2024-07-26
    32
  • redis基本操作 —— hash[亲测有效]

    redis基本操作 —— hash[亲测有效]一、将哈希表 key 中的字段 field 的值设为 value 命令:hset 格式:hset key field value 127.0.0.1:6379> hset hash_key ke

    2023-03-06
    161
  • Python环境变量设置:轻松实现Linux Path添加

    Python环境变量设置:轻松实现Linux Path添加对于习惯于使用Linux操作系统的python工程师来说,设置环境变量以便方便地使用命令行和脚本是必不可少的。本文将详细介绍如何在Linux中设置Python环境变量,并轻松实现Linux Path添加,以方便我们更好地使用Python在Linux环境下工作。

    2024-03-30
    75
  • Python any函数的用法

    Python any函数的用法Python是一种高级编程语言,具有简单易学、简单易用、速度快等特点。它的内置函数很多,其中很有用的一个是any()函数。本文将从多个方面对Python any函数的用法进行详细的阐述。

    2024-07-25
    27
  • 赞!7000 字学习笔记,一天搞定 MySQL

    赞!7000 字学习笔记,一天搞定 MySQLMySQL数据库简介 MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。 MySQL是一种关系数

    2023-03-18
    154

发表回复

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