mysql存储地图经纬度的表怎么设计? 200

我用百度地图API做了一个地图,需要存储海量的坐标。一个坐标是由经度和纬度组成的。如,经度:116.447962纬度:39.928216我现在用的是mysql数据库,表结... 我用百度地图API做了一个地图, 需要存储海量的坐标。
一个坐标是由经度和纬度组成的。 如,经度:116.447962 纬度:39.928216
我现在用的是mysql数据库,表结构大概是这样的:
id 主键,自增
lng 类型:decimal(10,7) 经度
lat 类型:decimal(10,7) 纬度
info 类型:char(80) 其他
---------------------------------------------------------------------------------
我的地图要实现的功能是: 每当用户拖动地图,或者放大缩小地图, 就必须动态加载视野内的坐标。
---------------------------------------------------------------------------------
我现在的思路是这样的:
每当用户拖动地图或者放大地图后, 首先获取地图矩形视野内的左上角和右下角的经纬度。
如,左上角经度 left_lng 左上角纬度 left_lat , 右下角经度 right_lng , 右下角纬度 right_lat ,
然后把四个值用http请求发到服务器, 服务器端php用sql语句查库后返回此矩形区域内的坐标,
sql 语句是:
SELECT * FROM 表
WHERE
lng>left_lng AND
lng<right_lng AND
lat>right_lat AND
lat<left_lat
---------------------------------------------------------------------------------
我的问题是:
1. 我的坐标将来很可能是海量的, 而且用户使用地图的时候肯定会非常频繁的拖动,也就意味着非常频繁的查库。 如果按照我上述的思路的话, 会不会非常耗费服务器资源, 数据库会不会受不了?
2. 我这样的应用很常见, 业界现在主流的解决方案是什么? 比如用的什么数据库? 怎样设计的表结构 ? 怎样加的索引? 是否还有什么我不知道的软件等等。
3. 貌似这个是GIS的知识,但我对GIS没有一点了解。 听说mysql 有个专门存储空间信息的版本,是不是专门为了解决我这个问题的?
4. 我是数据库菜鸟, 算法菜鸟 兼 GIS 白痴, 请给我这个应用解决方法的简单指导(技术方面的) 。

谢谢。
展开
 我来答
460084696
2013-08-21 · TA获得超过826个赞
知道小有建树答主
回答量:750
采纳率:0%
帮助的人:446万
展开全部
可以设计两张关联表 一个用来保存信息 一个用来保存X.Y点的信息 或者Mysql也支持空间数据,Geometry类型即可。
若有问题,请您及时追问我
若满意,请您及时采纳
谢谢您的关照~
百度网友7c222fd
2017-06-22 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:53
采纳率:100%
帮助的人:39.9万
展开全部
建议你看下MongoDB数据库。
MongoDB提供了一种GEO数据类型,专门处理地理位置坐标的,跟你这个应用场景极其吻合。
另外你的坐标数量是海量的,用MySQL很难抗的住。
MySQL到千万级的数据量就很吃力了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式