`

Mysql 空间数据库学习

 
阅读更多

建表:

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))')

);

 

 

这个函数很有用:Envelope

Envelope(g)            

返回几何值g的最小边界矩形(MBR)。结果以Polygon值的形式返回。

多边形(polygon)是由边界框的顶点定义的:

POLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))

mysql> SELECT AsText(Envelope(GeomFromText('LineString(1 1,2 2)')));

+-------------------------------------------------------+

| AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))) |

+-------------------------------------------------------+

| POLYGON((1 1,2 1,2 2,1 2,1 1))                        |

+-------------------------------------------------------+

或者多个点面集合:

SELECT AsText( Envelope( GeomFromText('GeometryCollection(Point(10 2),Point(9 9),LineString(2 2, 3 30),LineString(200 200, 3 30),Polygon((400 300,10 0,10 10,0 10,400 300)),Point(100 100))' ) ) ) ;

 

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

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

 

 

现在我需要的功能是查找一辆车在某一段时间内是否在一段区域内经过,用点来说明的话,就是一个空间坐标点在一个特定时间段内是否包含在一个特定的矩形区域内。下面这个函数应该能达到这个功能:

MBRWithin(g1,g2) 

 

SELECT AsText(pnt) FROM `gis` WHERE MBRWithin(pnt,GeomFromText('Polygon(1 1,0 30,30 30,30 0,1 )'))

 

分享到:
评论

相关推荐

    MySQL数据库资源学习基础

    在IT领域,特别是软件开发和数据管理方面,MySQL数据库是一个...通过系统地学习MySQL的相关知识和技术,不仅可以提升个人技术水平,还能为职业生涯带来更多的机遇和发展空间。希望本文介绍的基础知识点能对你有所帮助。

    MySQL数据库学习笔记.pdf

    MySQL数据库是世界上最受欢迎的开源关系型数据库管理系统之一,它的学习对于任何希望从事IT行业的人员来说都是必不可少的。本文将深入探讨MySQL的一些核心概念和技术。 首先,我们要了解SQL(Structured Query ...

    MySQL数据库习题和实践答案.rar

    这份"MySQL数据库习题和实践答案"的压缩包文件,很可能是为了帮助学习者加深对MySQL理论知识的理解并提高实际操作技能而设计的。下面我们将深入探讨MySQL数据库的一些关键知识点。 1. **SQL基础**: SQL...

    mysql数据库学习与练习

    总的来说,“MySQL数据库学习与练习”涵盖了数据库设计、SQL语法、事务处理、性能优化、安全性和数据库管理等多个方面。通过实践这些知识,你可以成为一名熟练的MySQL数据库管理员,有效地处理和管理数据。无论你是...

    Mysql数据库(学习数据库)

    MySQL数据库是一种广泛应用于Web应用程序的关系型数据库管理系统(RDBMS),以其高效、稳定和易用性而备受青睐。本文将深入探讨MySQL的基本概念、特点、SQL数据类型以及约束机制。 一、基本概念 1. 数据库服务器:...

    实验训练1 在MySQL中创建数据库和表.docx

    "MySQL数据库创建和表创建" 本教程将指导您在MySQL中创建数据库和表,首先需要安装和配置MySQL数据库。...本教程指导您在MySQL中创建数据库和表,了解MySQL的安装和配置过程,并学习了基本的SQL语句和数据表的设计。

    MySql数据库学习记录.zip

    在“MySQL数据库学习记录.zip”这个压缩包中,可能包含了一个人在学习MySQL时积累的各种资料,如笔记、教程、实战项目等。下面我们将深入探讨MySQL数据库的一些关键知识点。 1. **基础概念**: - 数据库:存储和...

    mysql数据库学习之路.zip

    本文将深入探讨MySQL数据库的学习路径,帮助初学者逐步掌握这一强大的数据管理工具。 首先,了解基础概念至关重要。MySQL是一种SQL(结构化查询语言)数据库,它允许用户通过SQL语句进行数据的增、删、改、查操作。...

    mysql 数据库学习文档.zip

    这份“MySQL数据库学习文档”将带你深入理解MySQL的核心概念和技术,助你在数据库领域提升技能。 1. **MySQL简介** MySQL是一种开放源代码的SQL数据库,由瑞典的MySQL AB公司开发,后被甲骨文公司收购。它支持多种...

    国开作业《MySQL数据库应用》实验训练1在MySQL中创建数据库和表参考107.docx

    在《MySQL数据库应用》的实验训练中,学习如何在MySQL中创建数据库和表是基础且至关重要的一步。这个实验训练主要分为四个部分:安装MySQL系统,通过命令行创建数据库和表,使用图形界面工具创建数据库和表,以及...

    MySQL数据库应用教程

    MySQL数据库应用教程是一份全面而实用的学习资源,旨在帮助初学者和有一定经验的用户深入了解和掌握MySQL数据库系统。这份教程涵盖了MySQL的安装过程、基本概念、语法结构以及实际操作技巧,使得学习者能够快速上手...

    MySQL数据库设计、优化

    通过对MySQL数据库的设计和优化规范的学习,我们可以了解到如何合理地规划数据库的各个方面,包括基础规范、命名规范、库表规范和字段规范等。这些规范的制定旨在提高数据库的整体性能,降低运维成本,并增强系统的...

    MySQL数据库学习.zip

    MySQL数据库学习资源包含了一个名为"kwan1117"的文件,这可能是一个笔记、教程文档或者数据库练习案例。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),在全球范围内被许多企业和个人开发者用于存储和...

    C#连接MySQL数据库代码示例

    连接数据库的关键在于创建一个` MySqlConnection `对象,该对象是`MySql.Data.MySqlClient`命名空间下的类。连接字符串通常包含以下元素:服务器地址(如localhost)、数据库名、用户名和密码。例如: ```csharp ...

    6天MySQL数据库学习笔记

    ### MySQL数据库学习笔记知识点概述 #### 一、数据库分类及关系型数据库介绍 - **数据库类型**:数据库根据规模和用途可分为大型、中型和小型数据库。此外还有非关系型数据库。 - **大型数据库**:如Oracle和DB2...

    绿色版的mysql数据库

    2. **数据存储**:绿色版MySQL的数据文件通常存放在解压目录下的data文件夹,用户需要确保该目录有足够的空间,并且在数据库运行时不能被修改或删除。 3. **备份与恢复**:定期备份数据库非常重要,因为绿色版MySQL...

    mysql数据库和图形化工具

    MySQL数据库是一种广泛使用的开源关系型数据库管理系统,以其高效、稳定和易于管理的特性深受开发者喜爱。MySQL 5.5版本是其发展中的一个重要...通过深入学习和熟练掌握这些工具,可以有效提升数据库管理的专业水平。

    57710-数据库原理及应用教程(MySQL版)-习题答案及解析.docx(1).rar

    《数据库原理及应用教程(MySQL版)-习题答案及解析》是一份针对数据库学习者的珍贵资源,尤其适合正在学习MySQL数据库原理与应用的学生或初学者。这份文档详细解答了教材中的各种习题,帮助读者深入理解数据库的概念...

    MYSQL网络数据库指南

    MySQL网络数据库指南主要涵盖的是如何在分布式环境中设计、配置、管理...通过深入学习以上知识点,并结合实际的MySQL网络数据库指南,可以更好地理解和运用MySQL在分布式环境中的各种功能,提升数据库的稳定性和性能。

Global site tag (gtag.js) - Google Analytics