MySQL的空间数据对象

MySQL的空间数据对象


发布日期: 2015-06-02 更新日期: 2015-06-02 编辑:xuzhiping 浏览次数: 4521

标签:

摘要: MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Manageme...

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

PostgreSQL具备PostGIS扩展,且在开源GIS中有广泛地应用,作为开源数据库中的另一个巨头,MySQL也不曾放弃GIS这一重要的数据库应用领域。从MySQL4.1开始,MySQL就引入了一系列空间扩展,使其具备了一定的空间处理能力。

MySQL遵守OGC的OpenGIS Geometry Model,支持以下空间数据对象

Geometry (non-instantiable)

  • Point (instantiable)
  • Curve (non-instantiable)
  • LineString (instantiable)

    • Line
    • LinearRing
  • Surface (non-instantiable)

  • Polygon (instantiable)

  • GeometryCollection (instantiable)

  • MultiPoint (instantiable)
  • MultiCurve (non-instantiable)

    • MultiLineString (instantiable)
  • MultiSurface (non-instantiable)

    • MultiPolygon (instantiable)

WTK是将空间数据导入MySQL空间数据表的主要途径。WTB是WTK的二进制形式,也可以为MySQL辨识。

创建MySQL空间数据表

当前只有MyISAM引擎的数据表支持地理空间数据的存储,所以在创建数据表的时候必须进行声明。

CREATE DATABASE geodatabase;

USE geodatabase;

CREATE TABLE test(

id INT PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(128) NOT NULL,

pnt POINT,

line LINESTRING,

pgn POLYGON

)ENGINE=MyISAM;

用以下SQL插入一条空间数据

INSERT INTO test VALUES(

null,

'a test string',

POINTFROMTEXT('POINT(15 20)'),

LINESTRINGFROMTEXT('LINESTRING(0 0, 10 10, 20 25, 50 60)'),

POLYGONFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))')

);

这里也可以用通行的GEOMFROMTEXT函数实现WKT到数据库内部几何格式的转换。而GEOMFROMWKB函数用于转换WKB。

用以下SQL从数据表中获得空间数据

SELECT id,name,ASTEXT(pnt),ASTEXT (line),ASTEXT(pgn) from test;

ASTEXT函数的功能与GEOMFROMTEXT的功能恰好相反,就 是将数据从内部格式转换为WKT;相应的ASBINARY可以转 换为WKB。

MySQL内建的GIS函数,这些函数是MySQL数据库本身就具备了比较强大的空间分析能力。MySQL作为“最快”的开源数据库,在GIS领域中完全可以有更广泛的应用。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org