【PostGIS】空间数据库-常用空间函数

news/2024/7/9 20:29:17 标签: 数据库, oracle, postgresql

记录一些常用的空间函数:

1、转换函数
在几何图形和外部数据格式之间进行转换的函数。

-- 将文本表示转换为几何类型
-- 结果:0101000000000000000000F03F000000000000F03F
SELECT st_geomfromtext('point(1 1)',0);

-- 将几何类型转换为文本表示
-- 结果:point(1 1)
SELECT st_astext('0101000000000000000000F03F000000000000F03F')

-- 将几何类型转为 GeoJson类型
-- 结果:{"type":"Point","coordinates":[1,1]}
SELECT st_asgeojson(st_geomfromtext('point(1 1)',4326))

-- 将几何类型从一个坐标系转换为另一个坐标系。
-- 结果:0101000020110F0000DB0B4ADA772DFB402B432E49D22DFB40
SELECT st_transform(st_geomfromtext('point(1 1)',4326), 3857)

2、检索函数
用于检索几何的属性和测量值的函数。

-- 查询几何的空间参考标识符号
-- 结果:4326
SELECT st_srid(st_geomfromtext('point(1 1)',4326))

-- 查询几何的类型
-- 结果:ST_Point
SELECT st_geometrytype(st_geomfromtext('point(1 1)',4326))

-- 返回几何的维数
-- 结果:2
SELECT st_ndims('0101000000000000000000F03F000000000000F03F')

-- 返回 x 和 y 坐标
SELECT st_x('0101000000000000000000F03F000000000000F03F')
SELECT st_y('0101000000000000000000F03F000000000000F03F')

-- 用于检查一个空间对象是否包含另一个空间对象
-- 结果:t (true)
SELECT ST_Intersects('POINT(0 0)'::geometry, 'LINESTRING ( 0 0, 0 2 )'::geometry);
-- 下面几个函数都是类似的用法
-- ST_Contains: 检查一个空间对象是否包含另一个空间对象,如果第二个几何完全包含在第一个几何中,返回true。
-- ST_Within: 与ST_Contains 相反的结果,如果第一个几何完全在第二个几何内,返回true。
-- ST_Intersects: 检查两个空间对象是否相交。
-- ST_Touches: 检查两个空间对象是否相邻。
-- ST_Equals: 检查两个空间对象是否相等。
-- ST_Disjoint: 检查两个空间对象是否不相交。

PostGIS中有很多的函数,我们使用时可以参照官网使用 PostGIS函数。

也可以参考中文翻译的版本(翻译的不是很完整):翻译版本。

常用

-- 坐标系转换
SELECT ST_Transform('0101000020E6100000F8A0E8241E385D4061532BD5C3DD3740'::geometry, 4326)

参考文档:https://www.cnblogs.com/Snowclod/p/17484955.html


http://www.niftyadmin.cn/n/5275154.html

相关文章

深入解析Db2中的MERGE INTO语句

文章目录 🥑MERGE INTO语法🥑MERGE INTO示例🥑JOIN条件🥑WHEN子句🥑子查询🥑MERGE INTO注意事项🥑总结 在DB2中,MERGE INTO语句是一种非常有用的操作,可用于将源表的数据…

情暖寒冬,趣味运动 ——开封市鼓楼区民政局社工开展养老院老年人关爱活动

为大力弘扬中华民族尊老爱老敬老的传统美德和社会风尚,传播社会主义核心价值观,2023年12月19日上午,鼓楼区民政局积极组织社工在中山养老公寓开展“情暖寒冬,趣味运动”老年人关心关爱活动,通过一系列充满趣味的游戏&a…

华为OD机试真题-螺旋数字矩阵-2023年OD统一考试(C卷)

题目描述:疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3...n,最终形成一个m行矩阵。 小明对这个矩阵有些要求: 1.每行数字的…

postMessage解决跨域、消息传递(平台嵌入其他项目,需要相互发送接受消息)

使用背景&#xff1a;其他平台嵌入到自己项目平台上&#xff0c;使用iframe做嵌套&#xff0c;但是涉及到进来免登录以及跨域问题&#xff0c;使用postMessage发送信息。 想要使用 postMessage 实现跨域通信和页面间数据通信&#xff0c;只要记住 window 提供的 postMessage 方…

LeetCode day27

LeetCode day27 —今天做到树&#xff0c;&#xff0c;&#xff0c;对不起我的数据结构老师啊~~~ 7. 整数反转 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] &#xff0c…

redis之五种基本数据类型

redis存储任何类型的数据都是以key-value形式保存&#xff0c;并且所有的key都是字符串&#xff0c;所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是&#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型&#xff0c;v…

Spring MVC 原理(四)

Spring MVC 原理 Spring 的模型-视图-控制器&#xff08;MVC&#xff09;框架是围绕一个 DispatcherServlet 来设计的&#xff0c;这个 Servlet会把请求分发给各个处理器&#xff0c;并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等&#xff0c;甚至还能支持文…

透视数据:数据可视化工具的多重场景应用

数据可视化工具已经成为了许多领域中的重要利器&#xff0c;它们在各种场景下发挥着重要作用。下面我就以可视化从业者的角度简单谈谈数据可视化工具在不同场景下的应用&#xff1a; 企业数据分析与决策支持 在企业层面&#xff0c;数据可视化工具被广泛应用于数据分析和决策…