当前位置: 首页 > news >正文

02 PostGIS常用空间分析函数

常用的PostGIS空间分析函数清单:

序号函数名描述示例
1ST_AsText(geometry)将几何对象转换为文本形式的WKT字符串ST_AsText(ST_GeomFromText(‘POINT(1 2)’)) 返回 ‘POINT(1 2)’
2ST_GeometryType(geometry)返回几何对象的类型,如POINT、LINESTRING、POLYGON等ST_GeometryType(ST_GeomFromText(‘LINESTRING(1 2, 3 4)’)) 返回 ‘LINESTRING’
3ST_SRID(geometry)返回几何对象的空间参考系IDST_SRID(ST_GeomFromText(‘POINT(1 2)’, 4326)) 返回 4326
4ST_SetSRID(geometry, srid)设置几何对象的空间参考系IDST_SetSRID(ST_GeomFromText(‘POINT(1 2)’), 4326) 返回 SRID 为 4326 的 POINT(1 2)
5ST_Dimension(geometry)返回几何对象的维度,如0表示点、1表示线、2表示面ST_Dimension(ST_GeomFromText(‘POINT(1 2)’)) 返回 0
6ST_Envelope(geometry)返回几何对象的最小外接矩形(MBR)ST_Envelope(ST_GeomFromText(‘LINESTRING(1 2, 3 4)’)) 返回 POLYGON((1 2, 1 4, 3 4, 3 2, 1 2))
7ST_Length(geometry)计算线或多线段的长度ST_Length(ST_GeomFromText(‘LINESTRING(1 2, 3 4)’)) 返回 2.828427
8ST_Area(geometry)计算面或多边形的面积ST_Area(ST_GeomFromText(‘POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))’)) 返回 1
9ST_Buffer(geometry, distance)计算几何对象的缓冲区,参数distance表示缓冲区的半径或者宽度ST_Buffer(ST_GeomFromText(‘POINT(1 2)’), 0.5) 返回以 POINT(1 2) 为中心,半径为0.5的圆
10ST_Intersection(geometry A, geometry B)计算两个几何对象的交集ST_Intersection(ST_GeomFromText(‘LINESTRING(0 0, 2 2)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 POINT(0.5 0.5)
11ST_Union(geometry A, geometry B)计算两个几何对象的并集ST_Union(ST_GeomFromText(‘LINESTRING(0 0, 1 1)’), ST_GeomFromText(‘LINESTRING(1 1, 2 2)’)) 返回 MULTILINESTRING((0 0, 1 1, 2 2))
12ST_Difference(geometry A, geometry B)计算两个几何对象的差集ST_Difference(ST_GeomFromText(‘LINESTRING(0 0, 2 2)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 MULTILINESTRING((0 0, 1 1))
13ST_SymDifference(geometry A, geometry B)计算两个几何对象的对称差集ST_SymDifference(ST_GeomFromText(‘LINESTRING(0 0, 2 2)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 MULTILINESTRING((0 0, 1 1), (1 1, 2 2))
14ST_Equals(geometry A, geometry B)判断两个几何对象是否相等ST_Equals(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘POINT(1 2)’)) 返回 true
15ST_Disjoint(geometry A, geometry B)判断两个几何对象是否不相交ST_Disjoint(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘LINESTRING(0 0, 2 2)’)) 返回 true
16ST_Touches(geometry A, geometry B)判断两个几何对象是否相接触ST_Touches(ST_GeomFromText(‘LINESTRING(0 0, 1 1)’), ST_GeomFromText(‘LINESTRING(1 1, 2 2)’)) 返回 true
17ST_Crosses(geometry A, geometry B)判断两个几何对象是否相交但不在同一平面内ST_Crosses(ST_GeomFromText(‘LINESTRING(0 0, 1 1)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 true
18ST_Within(geometry A, geometry B)判断几何对象A是否在几何对象B内部ST_Within(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’)) 返回 true
19ST_Contains(geometry A, geometry B)判断几何对象A是否包含几何对象BST_Contains(ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’), ST_GeomFromText(‘POINT(1 2)’)) 返回 true
20ST_Intersects(geometry A, geometry B)判断两个几何对象是否相交ST_Intersects(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘LINESTRING(0 0, 2 2)’)) 返回 true
21ST_Centroid(geometry)计算几何对象的中心点ST_Centroid(ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’)) 返回 POINT(1.5 1.5)
22ST_PointOnSurface(geometry)计算几 何对象的表面上的点ST_PointOnSurface(ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’)) 返回 POINT(1.5 1.5)
23ST_Transform(geometry, srid)将几何对象从一个空间参考系转换为另一个空间参考系ST_Transform(ST_GeomFromText(‘POINT(1 2)’, 4326), 3857) 返回在Web墨卡托投影下的 POINT(111319.49079327357 222684.20875941086)
24ST_Distance(geometry A, geometry B)计算两个几何对象之间的距离ST_Distance(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘POINT(3 4)’)) 返回 2.828427
25ST_Distance_Sphere(geometry A, geometry B)计算两个几何对象之间的球面距离,单位为米ST_Distance_Sphere(ST_GeomFromText(‘POINT(1 2)’, 4326), ST_GeomFromText(‘POINT(3 4)’, 4326)) 返回 314274.3882001206
26ST_Azimuth(geometry A, geometry B)计算从几何对象A到几何对象B的方位角,单位为弧度ST_Azimuth(ST_GeomFromText(‘POINT(1 2)’, 4326), ST_GeomFromText(‘POINT(3 4)’, 4326)) 返回 0.785398
27ST_MakePoint(x, y)创建一个二维点ST_MakePoint(1, 2) 返回 POINT(1 2)
28ST_MakeLine(geometry A, geometry B, …)创建一个线段ST_MakeLine(ST_MakePoint(1, 2), ST_MakePoint(3, 4)) 返回 LINESTRING(1 2, 3 4)
29ST_MakePolygon(geometry A, geometry B, …)创建一个多边形ST_MakePolygon(ST_MakeLine(ST_MakePoint(1, 2), ST_MakePoint(3, 4), ST_MakePoint(5, 6), ST_MakePoint(1, 2))) 返回 POLYGON((1 2, 3 4, 5 6, 1 2))
30ST_GeomFromText(text)从WKT字符串创建几何对象ST_GeomFromText(‘POINT(1 2)’) 返回 POINT(1 2)
http://www.lryc.cn/news/69039.html

相关文章:

  • [Golang] 管理日志信息就用Zap包
  • 【pytest】执行环境切换的两种解决方案
  • 2023国赛tomcat题
  • 计算机视觉——day 92 基于跨领域协作学习的单图像去雨
  • Java 正则表达式
  • Oracle索引知识看这一篇就足够
  • kafka命令行操作
  • Pinia 上手使用(store、state、getters、actions)
  • C++小项目之文本编辑器mynote(1.0.0版本)
  • 人工智能的界面革命,消费者与企业互动的方式即将发生变化。
  • 深度学习课程:手写体识别示例代码和详细注释
  • 10-03 单元化架构设计
  • JAVA—实验3 继承与多态
  • TCP协议和相关特性
  • 【SpringCloud组件——Eureka】
  • JVM面试题(一)
  • c# 无损压缩照片大小,并且设计了界面,添加了外部Ookii.Dialogs.dll,不一样的选择文件夹界面,并且可以把外部dll打包进exe中
  • 《统计学习方法》——隐马尔可夫模型(上)
  • ElasticSearch删除索引【真实案例】
  • 基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集设计(三)连续多段触发存储及传输逻辑设计
  • 对 Iterator, Generator 的理解?
  • C++基础
  • 软件测试全流程
  • 【软件测试】支付模块测试攻略,这些测试方法和注意事项你掌握了么?
  • 刷完这个笔记,17K不能再少了....
  • 知识变现创业指南-《知识变现秘籍》
  • springboot+java博物馆文物管理系统
  • Ansible 自动化运维工具(二)——Ansible 的脚本(playbook 剧本)
  • 阿里云镜像服务下载并安装Go环境
  • 工作线程快速优雅退出方式探讨