`
Classicning
  • 浏览: 253639 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MySQL中的GIS对象

    博客分类:
  • GIS
阅读更多
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领域中完全可以有更广泛的应用。
分享到:
评论

相关推荐

    MySQL 5.1中文手冊

    2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...

    jsp连接MySQL操作GIS地图数据实现添加point的功能代码.docx

    在本示例中,我们探讨了如何使用JSP(JavaServer Pages)连接到MySQL数据库来操作GIS(Geographic Information System)地图数据,并实现添加Point功能。以下是对关键知识点的详细说明: 1. **JSP(JavaServer ...

    基于MySQL空间扩展的GIS开发技术研究.pdf

    在GIS开发中,结合C++和Win32 API,开发者可以利用MySQL C API直接在C程序中操作空间数据,进行复杂的GIS功能实现。 **GIS开发实例** 在基于C语言的GIS程序开发中,通常会经历以下几个步骤: 1. **连接数据库**:...

    探索MySQL地理空间数据的奥秘:GIS功能全解析

    在MySQL中创建GIS支持的表需要定义至少一个使用空间数据类型的列。例如,创建一个包含点类型数据的表: ```sql CREATE TABLE locations ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), location POINT ...

    GIS地图导入数据库

    在本场景中,"GIS地图导入数据库"指的是将GIS地图数据整合到Oracle数据库中的过程。Oracle数据库是一个支持空间数据的强大的关系型数据库管理系统,它提供了空间数据类型和相关的API,使得存储和处理GIS数据成为可能...

    MYSQL中文手册

    2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在...

    c++用于GIS二次开发

    8. **数据库集成**:GIS系统通常需要与数据库交互,如MySQL、PostgreSQL或Oracle Spatial。开发者应熟悉SQL语言,并了解如何通过ODBC或JDBC等接口进行数据库连接。 9. **GIS服务与Web GIS**:如果涉及到Web GIS,...

    mysql5.1中文手册

    在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 ...

    MySQL 5.1官方简体中文参考手册

    2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...

    shp2mysql工具

    【shp2mysql工具】是一种专门用于将地理信息系统(GIS)中的Shapefile(.shp)格式数据转换并导入到MySQL空间数据库的应用程序。Shapefile是Esri公司开发的一种广泛使用的矢量数据格式,通常包含地理坐标和属性信息...

    GIS开源平台在线地址

    GIS(Geographic Information System,地理信息系统)开源平台是IT领域中的一个重要分支,它结合了计算机科学、地理学、遥感技术、数据库管理等多种学科,用于处理、分析和展示地理空间数据。这些开源平台为开发者...

    Python操作MySQL数据进行图片存取操作

    在函数中,我们首先建立数据库的连接,并获取游标对象。然后,我们遍历图片文件名,使用二进制的方式打开图片文件,并将读取的数据存储到数据库中。具体的代码如下: import pymysql as mysql def img_read_store...

    mysql-connector-java-8.0.27.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,尤其在Web应用程序开发中被广泛使用。MySQL的Java连接器,即`mysql-connector-java`,是Java开发者用来与MySQL数据库进行交互的关键组件。这个`mysql-...

    基于GIS的配线系统的设计.rar_GIS系统_基于GIS_配线代码

    提供的“基于GIS的配线系统的设计.caj”文件可能是一个详细的设计报告或教程,涵盖了GIS在配线系统设计中的具体实施步骤和案例。CAJ是知网的一种文档格式,常用于学术论文和研究报告的发布,阅读此类文件可以帮助...

    MySQL 5.1参考手册中文版

    2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在...

    将shp文件导入到mysql完整过程及代码实现

    3. **创建MySQL数据库和表**:在MySQL中创建一个新的数据库,并在其中创建一个表,表结构应与.shp文件中的字段对应。表的几何字段通常为`GEOMETRY`类型,支持MySQL的`Spatial`扩展。 4. **运行shp2mysql**:使用...

    ogr2ogr将shp文件导入到Mysql.zip

    在GIS(地理信息系统)领域,数据的转换与迁移是常见的操作。 ogr2ogr 是GDAL(Geospatial Data Abstraction Library)工具集的一部分,用于在各种地理空间数据格式之间进行转换。本篇文章将详细介绍如何使用ogr2ogr...

    将shp文件导入到mysql的命令.zip

    ogr2ogr -f "MySQL" MySQL://gis_user:your_password@localhost/gis_data -nln geotable -t_srs EPSG:4326 your_shp_file.shp ``` 这个命令做了以下几件事: - `-f "MySQL"` 指定了输出格式为MySQL。 - `MySQL:...

Global site tag (gtag.js) - Google Analytics