暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
6.空间数据类型.docx
59
4页
0次
2024-06-22
50墨值下载
Geometry 数据类型
MySQL 中支持的空间数据类型包括 Geometry(几何)、Point(点)、LineString(线)、
Polygon(面)以及集合类型的 MultiPoint(多点)、MultiLineString(多线)、
MultiPolygon(多面)、GeometryCollection(混合数据类型)
其中,Geometry 可以表示其他任意类型的值,剩下的只能表示单个类型的值。它基于
OpenGIS 规范(Open Geospatial Consortium Geometric and Topological Objects),并
支持几何对象的创建、存储、索引和查询等操作。
Geometry 数据类型包括以下几种基本类型:
1. Point:表示一个二维点,由经度和纬度两个坐标值组成。例如:POINT(1 1)
2. LineString:表示一个线段,由多个点组成的连续线段。例如:LINESTRING(1 1,2
2)
3. Polygon:表示一个多边形,由多个线段组成的封闭形状。例如:POLYGON((0
0,10,0 10 10, 0 10,0 0))
4. MultiPoint:表示多个二维点的集合。例如:MULTIPOINT(1 1, 2 2,3 3)
5. MultiLineString:表示多个线段的集合。例如:MULTILINESTRING((0 0,0 1), (1
1, 2 1))
6. MultiPolygon:表示多个多边形的集合。例如:MULTIPOLYGON(((0 0,10,0 10
10, 0 10,0 0)),((0 0,20,0 20 20, 0 20,0 0)))
7. GeometryCollection:表示包含多个几何对象的集合。例如:
GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(1 1,2 2))
Geometry 的应用场景
Geometry 数据类型在地理信息系统(GIS)和位置服务(LBS)等领域有着广泛的应用。它
可以用于存储和分析地理位置信息,如地图数据、GPS 轨迹等。下面是几个常见的应用场景:
1. 地图数据存储与查询:使用 Geometry 数据类型可以方便地存储地图数据,如城市、
道路、水域等地理要素。通过在 Geometry 字段上创建空间索引,可以快速查询指定
范围内的地理要素,实现地图数据的可视化展示和分析。
2. GPS 轨迹分析:通过记录移动设备的 GPS 轨迹数据,可以使用 Geometry 数据类型
来存储和分析轨迹信息。例如,可以计算轨迹的长度、速度、方向等指标,以及轨迹
之间的空间关系,如是否相交、是否在某个区域内等。
3. 空间分析与可视化:Geometry 数据类型支持各种空间运算,如距离计算、相交判断、
缓冲区分析等。通过结合地理信息系统(GIS)软件,可以对 Geometry 数据进行可
视化分析,生成地理信息图表、热力图等可视化效果。
Geometry 数据格式
1. WKT(文本格式:在代码中的格式)
2. WKB(二进制格式:存储在 Geometry 类型的表字段中)
Geometry 数据操作
创建测试表,location 字段类型为 geometry,可以支持 point,linestring,polygon 等任意几何
对象。
CREATE TABLE t25 (
id int auto_increment primary key,
name varchar(255),
location geometry not null
);
--ST_GEOMFROMTEXT:将几何数据从可读的文本类型转换成内部存储的二进制类型。
INSERT INTO t25 VALUES (1, 'aa', ST_GeomFromText('POINT(1 1)'));
INSERT INTO t25 VALUES (2, 'bb', ST_GeomFromText('POINT(1 4)'));
INSERT INTO t25 VALUES (3, 'cc', ST_GeomFromText('POINT(5 8)'));
INSERT INTO t25 VALUES (4, 'dd', ST_GeomFromText('POINT(2 6)'));
INSERT INTO t25 VALUES (5, 'ee', ST_GeomFromText('POINT(3 7)'));
INSERT INTO t25 VALUES (6, 'ff', ST_GeomFromText('POINT(8 4)'));
INSERT INTO t25 VALUES (7, 'gg', ST_GeomFromText('POINT(5 9)'));
查看数据
mysql> select * from t25;
+----+------+------------------------------------------------------+
| id | name | location |
+----+------+------------------------------------------------------+
| 1 | aa | 0x000000000101000000000000000000F03F000000000000F03F |
| 2 | bb | 0x000000000101000000000000000000F03F0000000000001040 |
| 3 | cc | 0x00000000010100000000000000000014400000000000002040 |
| 4 | dd | 0x00000000010100000000000000000000400000000000001840 |
| 5 | ee | 0x00000000010100000000000000000008400000000000001C40 |
| 6 | ff | 0x00000000010100000000000000000020400000000000001040 |
| 7 | gg | 0x00000000010100000000000000000014400000000000002240 |
+----+------+------------------------------------------------------+
7 rows in set (0.00 sec)
--ST_ASTEXT:将几何数据转换成可读的文本类型。
mysql> SELECT ST_ASTEXT(location) from t25;
of 4
50墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜