排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
MySQL数据类型 - 空间数据类型 (1)
MySQL数据类型 - 空间数据类型 (1)
林员外聊编程
2020-07-01
371
开放地理空间联盟(OGC)是一个由250多家公司、机构和大学组成的国际联盟,参与开发可用于管理空间数据的各种应用程序的公共概念解决方案。
开放地理空间联盟发布了OpenGIS®地理信息实现标准-简单功能访问-第2部分:SQL选项(OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 2: SQL option),该文件提出了扩展SQL RDBMS以支持空间数据的几种概念性方法。此规范可从OGC网站获取,网址为http://www.opengeospatial.org/standards/sfs。
遵循OGC规范,MySQL为SQL几何类型环境实现了一个空间扩展子集。这个术语(
SQL with Geometry Types
)指的是用一组几何类型扩展的SQL环境。几何值的SQL列被实现为具有几何类型的列。该规范描述了一组SQL几何类型,以及这些类型上用于创建和分析几何值的函数。
MySQL空间扩展支持生成、存储和分析地理特征:
●
表示空间值的数据类型
●
用于操作空间值的函数
●
改进空间列访问时间的空间索引
空间数据类型和函数可用于MyISAM、InnoDB、NDB和ARCHIVE表。对于索引空间列,MyISAM和InnoDB同时支持空间索引和非空间索引。其他存储引擎支持非空间索引。
地理特征是世界上任何有地理位置的东西。特征可以是:
●
一个实体。例如,一座山,一个池塘,一座城市。
●
一个空间。例如,市区,热带地区。
●
可定义的位置。例如,十字路口,即两条街道相交的地方。
有些文档使用术语地理空间特征(geospatial feature)来指代地理特征(geographic feature)。
几何是另一个表示地理特征的词。最初几何这个词的意思是测量地球。另一个含义来自地图学,指的是制图员用来绘制世界地图的几何特征。
这里的讨论将这些术语视为同义词:地理特征、地理空间特征、特征或几何。最常用的术语是几何,它定义为一个点或者点的集合,表示世界上任何有位置的事物。
以下材料涵盖这些主题:
●
MySQL模型中实现的空间数据类型
●
OpenGIS几何模型空间扩展的基础
●
表示空间数据的数据格式
●
如何在MySQL中使用空间数据
●
空间数据索引的使用
●
MySQL与OpenGIS规范的区别
额外资源
以下这些标准对于MySQL实现空间操作非常重要:
●
SQL/MM第3部分:空间。
●
OpenGeospatial Consortium发布了OpenGIS®地理信息实现标准(OpenGIS® Implementation Standard for Geographic information),该文件提出了几种扩展SQL RDBMS以支持空间数据的概念性方法。具体请参见简单功能访问-第1部分:通用体系结构(Simple Feature Access - Part 1: Common Architecture),以及简单功能访问-第2部分:SQL选项(Simple Feature Access - Part 2: SQL Option)。开放地理空间联盟(OGC)维护着网站:http://www.opengeospatial.org/。该规范可在http://www.opengeospatial.org/standards/sfs获取。它包含了与此内容相关的更多其他信息。
●
空间参考系统(SRS)定义的语法基于OpenGIS实现规范:坐标转换服务(OpenGIS Implementation Specification: Coordinate Transformation Services)(修订版1.00,OGC 01-009,2001年1月12日)第7.2节中定义的语法。此规范可在http://www.opengeospatial.org/standards/ct获取。有关在MySQL中实现的SRS定义与该规范的区别,请参阅MySQL的CREATE SPATIAL REFERENCE SYSTEM语句。
空间数据类型
MySQL具有与OpenGIS类相对应的空间数据类型。这些类型的基础在"OpenGIS几何模型"部分介绍。
某些空间数据类型包含单一几何图形值:
●
GEOMETRY
●
POINT
●
LINESTRING
●
POLYGON
GEOMETRY可以存储任何类型的几何体。其他单值类型(POINT、LINESTRING和POLYGON)将其值限制为特定的几何类型。
其他空间数据类型保存值的集合:
●
MULTIPOINT
●
MULTILINESTRING
●
MULTIPOLYGON
●
GEOMETRYCOLLECTION
GEOMETRYCOLLECTION可以存储任何类型的对象集合。其他集合类型(MULTIPOINT、MULTILINESTRING和MULTIPOLYGON)
仅限于特定几何类型。
示例:创建一个名为geom的表,该表有一个列名为g,可以存储任何几何类型的值,请使用以下语句:
空间数据类型的列可以有SRID属性,以显式指示存储在列中的值的空间参考系统(SRS)。例如:
如果空间列不为NULL且具有特定的SRID,则可以在这些列上创建
SPATIAL
索引,因此,如果要为该列编制索引,请使用NOT NULL和SRID属性声明它:
InnoDB表允针对
笛卡尔和地理空间参考系统(SRS)的SRID值。MyISAM表允许笛卡尔空间参考系统使用SRID值。
SRID属性使空间列受到限制,这意味着:
●
列只能包含具有给定SRID的值。尝试使用不同的SRID值会产生错误。
●
优化器可以对列使用SPATIAL索引。
没有SRID属性的空间列不受SRID限制,并且接受具有任何SRID的值。但是,在修改列定义包含SRID属性之前,优化器不能对它们使用SPATIAL索引,这可能需要首先修改列内容,以便所有值都具有相同的SRID。
官方文档地址:
https://dev.mysql.com/doc/refman/8.0/en/spatial-types.html
mysql
文章转载自
林员外聊编程
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨