mysql spatial 函数_MySQL中spatial基本操作
mysql的基本空间操作
具体参见 https://dev.mysql.com/doc/refman/5.7/en/spatial-function-reference.html
新版函数中很多添加了ST_前缀 在将来的一个版本中会废除旧的函数,新函数参见上面url
1.1 创建点要素
Create table point(
name varchar(10),
geom point
);
1.2 插入要素 GeomFromText 可换成 PointFromText
insert into point values(‘xiaoming’,GeomFromText(‘POINT(1 1)’));
SET @g = ‘POINT(2 2)’;
insert into point values(‘daming’,GeomFromText(@g));
2.1 创建线要素
Create table line(
name varchar(10),
geom LineString
);
2.2 插入线要素
SET @l = ‘LINESTRING(0 0,1 1,2 2)’;
INSERT INTO line VALUES(‘xiaoming’,LineStringFromText(@l));
INSERT INTO line VALUES(‘daming’,GeomFromText(‘LINESTRING(0 0,1 1,2 2,3 3)’));
3.1 创建面要素
Create table polygon(
name varchar(10),
geom polygon
);
3.2 插入面要素 可用 PolygonFromText 函数
SET @g = ‘POLYGON((0 0,3 0,3 3,0 3,0 0))’;
INSERT INTO polygon VALUES(‘xiaoming’,GeomFromText(@g));
SET @g2 = ‘POLYGON((0 0,3 0,3 3,0 3,0 0),(1 1,2 0,2 2,0 2,1 1))’;
INSERT INTO polygon VALUES(‘xiaoming’,GeomFromText(@g2));
4.1 创建GEOMETRY 要素(点线面的混合)
Create table Geometry(
name varchar(10),
geom GEOMETRY
);
4.2 插入数据
insert into Geometry values(‘xiaoming’,GeomFromText(‘POINT(1 1)’));
INSERT INTO Geometry VALUES(‘daming’,GeomFromText(‘LINESTRING(0 0,1 1,2 2,3 3)’));
SET @g = ‘POLYGON((0 0,3 0,3 3,0 3,0 0))’;
INSERT INTO Geometry VALUES(‘xiaoming’,GeomFromText(@g));
5 获取空间数据
5.1 获取文本空间数据 WKT AsText 函数将其转换为字符串格式
select name,AsText(geom) from point;
select name,AsText(geom) from Geometry;
5.2 获取二进制空间数据 WKB
select name,AsBinary(geom) from point;
6 空间数据属性查看
6.1 Geometry 通用函数
6.1.1 维度函数 -1,0(点) 1(线) 2(面)
select Dimension(geom) from point;
select Dimension(geom) from Geometry;
6.1.2 最小边界函数
select AsText(Envelope(geom)) from line;
select AsText(Envelope(geom)) from point;
6.1.3 几何类型函数
select GeometryType(geom) from Geometry;
6.2 point 函数 X(),Y() 分别返回点的经纬度
select x(geom),Y(geom) from point;
6.3 lingString 函数
6.3.1 EndPoint 返回最后一个点 StarPoint 返回线段的第一个点
select AsText(EndPoint(geom)) from line;
6.3.2 Glength 返回线段的长度
select Glength(geom) from line;
6.3.3 NumPoints 返回线段的节点数
select NumPoints(geom) from line;
6.3.4 PointN 返回线段的第N个点
select AsText(PointN(geom,2)) from line;
6.4 POLYGON 函数
6.4.1 计算面积Area
select Area(geom) from polygon;
6.4.2 外环 ExteriorRing 返回linestring
select Astext(ExteriorRing(geom)) from polygon;
6.4.3 内环 InteriorRingN(geom,N) N从1开始
SELECT ASTEXT(InteriorRingN(geom,1)) from polygon;
6.4.3 环数 NumInteriorRings(geom);
select NumInteriorRings(geom) from polygon;
7 空间数据关系
7.1 基于几何最小边界
7.1.1 MBRContains(g1,g2) 返回1说明g1的最小边界矩形包含g2
select MBRContains(polygon.geom,point.geom) from point,polygon;
选择包含在多边形最小矩形边界中的点
select AsText(point.geom) from point,polygon where MBRContains(polygon.geom,point.geom);
7.1.2 还有各种最小边界相交 查看 http://tool.oschina.net/uploads/apidocs/mysql-5.1-zh/spatial-extensions-in-mysql.html#creating-a-spatially-enabled-mysql-database
7.2 包含在说明范围 已实现
select AsText(point.geom) from point,polygon where ST_Contains(polygon.geom,point.geom);
mysql spatial 函数_MySQL中spatial基本操作相关推荐
- mysql getnum函数_Mysql中实现提取字符串中的数字的自定义函数分享
因需要在MysqL的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的MysqL函数,可以有效的从字符串中提取出数字. 该MysqL提取出字符串中的数字函数如下: CREATE ...
- php mysql ifnull函数_MYSQL中的IFNULL函数
手册上: IFNULL(expr1,expr2) 假如expr1不为NULL,则IFNULL()的返回值为 expr1;否则其返回值为 expr2.IFNULL()的返回值是数字或是字符串,具体情况取 ...
- mysql算法函数_mysql中的函数总结
mysql中常用日期时间函数 MySQL服务器中的三种时区设置: ①系统时区---保存在系统变量system_time_zone ②服务器时区---保存在全局系统变量global.time_zone ...
- mysql olap 函数_Mysql中的窗口函数
窗口函数初识 窗口函数也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据进行实时分析处理.窗口函数和group by有类似之处,其区别在于窗口会对 ...
- mysql diff函数_MYSQL中 的datediff、timestampdiff函数
对mysql中日期范围搜索的大致有三种方式: 1.between and语句: 2.datediff函数: 3.timestampdiff函数: 下面就具体说明下这三种方式: 第一种: between ...
- mysql group函数_mysql中group_concat函数的使用
一.group_concat函数的功能 将group by产生的同一个分组中的值连接起来,返回一个字符串结果. group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出 ...
- mysql 字符串 空格函数_mysql中的去除空格函数
(1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例:update `ne ...
- mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...
- mysql中怎么在列中使用时间函数_mysql中关于时间的函数使用教程
UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 如果没有参数调用,返回一个Unix时间戳记(从1970-01-01 00:00:00GMT开始的秒数).如果UNIX_TIM ...
- mysql中不要 秒的函数_Mysql中日期和时间函数应用不用求人 | 很文博客
对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型. 这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: my ...
最新文章
- Redis服务停止报错解决方案[NOAUTH Authentication required]
- 计算机二级为什么无法登录,解决因登录失败而无法启动SQL服务
- 创建Qt对话框一般步骤
- 如何将瀑布流里的图片加链接_「魔幻瀑布」180度全景接片+曝光合成!
- mysql去除空格的函数_MySQL字符串尾部空格匹配的问题
- 2.2基本算法之递归和自调用函数_一文学会递归解题
- Linux学习笔记13
- hdu1421 搬寝室 DP
- 实操教程|Pytorch - 弹性训练极简实现( 附源码)
- kindeditor在Firefoxt 和 Chrome 下不能取到值的解决方法
- 文本编辑器Notepad++使用技巧
- ureport2 mysql_springboot整合UReport2
- wps画 ui 原型图
- ps盖印图层在哪里_ps盖印图层快捷键怎么用? ps盖印图层教程
- 李笑来《财富自由之路》思维导图
- 服务器重启后samba启动不了,提示stop: Unknown instance: smbd start/running, process 76585
- 【电脑小技巧每日一讲:SQL server 2016日志文件的清理】
- 微信小程序选择图片(相册中选择/相机拍摄)
- android ota机制,Android OTA简介
- 【IO】Reactor模式