首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在bbox中获取N个加权GPS点

在bbox中获取N个加权GPS点
EN

Stack Overflow用户
提问于 2015-12-03 20:16:00
回答 1查看 44关注 0票数 0

给定一个大的GPS坐标列表和它们的权重,是否有一个开源软件(数据库/搜索引擎)可以在一个边界框或一个圆圈内获取最高的N值?

代码语言:javascript
复制
SELECT * FROM list WHERE IS_IN_BBOX(coords, bbox) ORDER BY weight DESC LIMIT 10;

我预计这份清单将有数千万个项目。包围框可能非常大(整个世界)或非常小(缩放18),但搜索仍然应该是合理的快速。还有,我们能用Elasticsearch吗?我看到它有一个基于距离的搜索,但是没有基于权重的搜索。那Postgis呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-03 21:02:44

您可以使用MakeEnvelope和&& operator

代码语言:javascript
复制
SELECT *
FROM list
WHERE list.coords && ST_MakeEnvelope(left, bottom, right, top, srid) 
ORDER BY list.weight;

完成左、下、右、上、下相应的搜索。

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

https://stackoverflow.com/questions/34075342

复制
相关文章

相似问题

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