mysql实现地理位置搜索
随着LBS应用的遍地开花,在数据库中实现基于地理位置的搜索显得尤为重要.今天研究了下,顺便做个小结.
首先设计好一个简单的数据表,用来存放经纬度信息:
CREATE TABLE `index` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`lat` double NOT NULL,
`lng` double NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
创建完成后我们可以查看一下,应该是这个样子
mysql> desc `index`;
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| lat | double | NO | | NULL | |
| lng | double | NO | | NULL | |
+-------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
接着我们来制造点儿数据,便于等下测试,写了个python脚本来实现: