据说MySQL直接提供空间数据库支持,参阅此;
https://blog.csdn.net/gaojingyuan/article/details/79004990
下面来实际操作一下;看能不能直接创建point类型的字段,以及 SPATIAL KEY ;
SPATIAL,空间的意思;
创建表;提示错误 the used table type doesn't support SPATIAL indexes;
把存储引擎改为 MyISAM;
创建成功;
插入一条测试记录;
插入成功;
那么到此可知,mysql是直接支持空间类型的字段,以及 SPATIAL index ;
这是我本机的MySQL,没有安装额外组件;
空间数据库有了,如果打算用MySQL作为空间数据库,接下来可以干一些事情;
CREATE TABLE testpoints (
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=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO testpoints VALUES (1,'aaaa',POINT(116.397389,39.908149));