必威体育Betway必威体育官网
当前位置:首页 > IT技术

MySQL空间数据库

时间:2019-08-06 01:14:16来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

空间数据库

提到空间数据库,首先想到的一定是Esri公司的ArcSDE(SDE即Spatial Database Engine,空间数据库引擎),ArcSDE主要支持的数据库包括oraclesql Server,IBM DB2。功能好,性能好,但是价格也好。

国内很多大型活互联网公司已经转向mysql阵营。对于有实力的大公司,使用开源的MySql,可以针对自己的业务对MySql源码进行修改及优化。对于业务量不大的初创公司,直接使用开源MySql,PostgreSQL等数据库,也可节约成本,未来数据库扩展也有很多可参考的资料。

PostgreSQL由于具备PostGIS扩展而在开源GIS中有广泛地应用,可视化工具包括pgAdmin、Quantum GIS(类似ArcGIS Desktop)

从MySQL4.1开始,也对空间数据库进行了支持,以下是简单的说明和测试:

1.常用使用场景

矩形查询:

适合智能手机网页端高效展示屏幕范围内数据。通过API获取显示屏4角的坐标点,顺序连接生成矩形,空间数据库提供查询矩形范围内坐标功能。

圆型查询:

根据当前所在位置为中心点,根据给定的里程数为半径生成圆形,搜索圆形范围内的数据。

2.MySql支持的类型

点 POINT(15 20)

线 LINESTRING(0 0, 10 10, 20 25, 50 60)

面 POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))

多个点 MULTIPOINT(0 0, 20 20, 60 60)

多个线 MULTILINESTRING((10 10, 20 20), (15 15, 30 15))

多个面 MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5 5)))

集合 GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), LINESTRING(15 15, 20 20)),简称GEOMETRY,可以放入点、线、面。

3.测试

a.以存储坐标点为例

DROP TABLE IF exists points;
CREATE TABLE `points` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL DEFAULT '',
  `location` point NOT NULL,
  PRIMARY KEY (`id`),
  SPATIAL KEY `sp_index` (`location`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

b.插入测试数据

# 天安门
INSERT INTO points VALUES (1,'aaaa',POINT(116.397389,39.908149));

# 颐和园
INSERT INTO points VALUES (2,'bbbb',POINT(116.273106,39.992634));

c.多边形查询

多边形查询 起始点与终点为同一点 以灵境胡同、灯市口、崇文门、宣武门组成多边形

d.查询

多边形查询 起始点与终点为同一点

# 定义多边形
SET @rect = CONCAT('POLYGON((116.373871 39.915786,116.417645 39.916444,116.41816 39.900841,116.374214 39.900182,116.373871 39.915786))');
# 使用变量
select name,X(location),Y(location),Astext(location) from points where INTERSECTS( location, GEOMFROMTEXT(@rect) ) ;

e.查询结果

相关阅读

windows 怎样进入注册表删除MySql注册表内容

第一步:打开运行第二步输入:regedit命令第三部在注册表中删除MySql对应的数据HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Se

MySQL报错问题:2509

在Navicat中进行连接测试时,发现报错2509,还有乱码! mysql 2509 加密方式导致的报错,在8以后的版本默认的加密方式都改为了caching_sh

《高性能MySQL》---查询性能优化

本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何

mysql中bigint、int、mediumint、smallint 和 tinyint

mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint、int、mediumint、

MySQL 解压版和安装版的安装

MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装,一般MySQ

分享到:

栏目导航

推荐阅读

热门阅读