首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个包围框中找到所有的地理位置。

问在一个包围框中找到所有的地理位置。
EN

Stack Overflow用户
提问于 2016-06-11 13:07:30
回答 1查看 68关注 0票数 0

我有一个MySQL表(大约有100.000个条目)如下所示:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `poi` (
  `poi_id` int(10) unsigned NOT NULL auto_increment,
  `lat` decimal(10,6) default NULL,
  `lng` decimal(10,6) default NULL,
  PRIMARY KEY  (`poi_id`),
  KEY `lat` (`lat`),
  KEY `lng` (`lng`),
) ENGINE=InnoDB;

基本上,对于这些条目,我要做的就是获取所有在给定的边框(bbox)中的POI。

实现这一目标的好方法(快速但不太复杂)是什么?

如果更改数据库模式(甚至DBMS)对我来说是一个选项,如果这样做有任何好处的话。我怀疑我的天真模式是否是一种快速的方法。

顺便说一句:我已经读过关于PostGIS的文章了,但我并不是很复杂。所以我宁愿坚持一个简单而干净的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-11 13:24:18

试着做这样的事情:

代码语言:javascript
复制
SELECT * 
FROM poi
WHERE lat >= @lat - @degrees 
AND lat <= @lat + @degrees
AND lng >= @lng - @degrees
AND lng <= @lng + @degrees

当然,您也可以传递lat和lng的上下参数,这些参数可能更有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37764102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档