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

相关推荐

  • Python 查询变量类型的方法

    Python 查询变量类型的方法Python是一种动态类型语言,这就意味着在声明变量时不需要显式地指定其类型。Python会在运行时自动确定变量的类型。然而,当我们需要在程序中处理不同类型的数据时,我们需要知道变量的类型。在这篇文章中,我将介绍几种查询Python变量类型的常用方法。

    2024-05-22
    61
  • 记一次MySQL字符串索引优化方案

    记一次MySQL字符串索引优化方案本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等字符串建立索引的优化1.建立前缀索引假设建立一个支持邮箱登录的用户表,对于邮件字段来说,可以有以下几种建立索引的方式:①.直接…

    2023-03-21
    162
  • RedisDesktopManager怎么安装[通俗易懂]

    RedisDesktopManager怎么安装[通俗易懂]首先去RedisDesktopManager官网下载适合的redis-desktop-manager-xxx.exe运行程序,点击下载好的exe程序,除了要选择安装位置,一路next,安装完成桌面会…

    2022-12-20
    135
  • Python工程师:对称差集是什么?

    Python工程师:对称差集是什么?在python中,有很多数据结构和方法可以让我们更方便地处理数据,同时也提升了编写程序的效率。对称差集就是其中之一,它是指两个集合的元素中,不同时存在于两个集合中的元素构成的集合。在实际的开发中,对称差集常常被用来解决一些实际问题,尤其在处理数据时,更是发挥了重要的作用。在本篇文章中,我们将从多个角度对对称差集进行详细的介绍,让读者更好地理解和掌握这个方法。

    2024-07-05
    46
  • 常见数据库介绍和使用场景[亲测有效]

    常见数据库介绍和使用场景[亲测有效]在构建系统时要进行设计考虑和权衡。 1.介绍 要选择正确的存储解决方案,需要以下考虑。 关键因素 数据结构 查询模式 您需要处理的数量或规模 2.缓存解决方案 如果您经常调用数据库或远程调用具有高延迟

    2023-04-15
    151
  • Python命令大全

    Python命令大全Python是一种高级、解释型的编程语言。它有着简单易学、代码量少、执行速度快等优点,在人工智能、数据分析、Web开发等领域都有着广泛的应用。

    2024-07-28
    30
  • mysql8主从配置[通俗易懂]

    mysql8主从配置[通俗易懂]一、一般配置主从(这里主是m3300,从是3301、3302) 1.配置m3301 从mysql8里拿出这两个文件到m3301 2.配置my.ini 初始化mysql8 mysqld –initia

    2023-05-07
    136
  • 批量提取字符,除了用Ctrl+E外,还有这2个方法可选[通俗易懂]

    批量提取字符,除了用Ctrl+E外,还有这2个方法可选[通俗易懂]从示例中可以看出,目的是提取门店的编号,但无论在目标单元格中输入1个值,还是2个值,都得不到正确的结果,但快速填充快捷键Ctrl+E的用法是完全

    2023-03-01
    156

发表回复

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