将城市划分为多个区域,这是个好主意吗?

Mudassir Ali

我正在做一个基于地理位置的个人项目,我想根据用户的纬度和经度值来获取供应商。而且交易是供应商的供应半径可变,很少有供应商仅在其半径5公里之内供应,而有些供应商可能在整个城市供应。

解决此问题的一般方法是为每个供应商计算供应商与用户之间的距离。如果小于或等于其供应半径,则在结果中显示该供应商。

但这可能会很慢,所以我想我将城市分为四个区域(从google maps中为North East West South选择四个纬度和经度值),每添加一个供应商,我都会进行数学运算并分配一个他们可以在数据库中提供的区域。现在,只要我得到用户的纬度和经度,就可以确定区域并获取可以提供给该区域的供应商,进行距离计算并过滤掉它们。这样,我可以对较少数量的供应商(而不是整个列表)进行计算。

但这是一个好主意还是我可以做得更好?

约翰·鲍威尔

在使用Postgres / Postgis时,可以利用空间索引,然后使用ST_DWithin(geom1,geom2,distance)类型查询,请参阅ST_DWithindocs空间索引将为您划分空间,从而使这种查询非常有效,并且避免您不得不提出自己的任何空间划分方案。

可以使用的另一种运算符是<->运算符,该运算符非常有效地使用空间索引,并且在order by子句中使用,以将y事物最接近某个点x,(k最近邻居搜索)请参见<->运算符文档。要使此运算符正确使用索引(要搜索的点),需要注意的一点是必须是一个常数,因为听起来像是您的情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Ubuntu上这是个好主意吗?

来自分类Dev

将实例传递给__init__。这是一个好主意吗?

来自分类Dev

别名cd推送-这是一个好主意吗?

来自分类Dev

我可以将循环缓冲区减小到“ 1”吗?这是一个好主意吗?

来自分类Dev

我可以将循环缓冲区减小到“ 1”吗?这是一个好主意吗?

来自分类Dev

同时读取多个文件是个好主意吗?

来自分类Dev

并行上传多个文件是个好主意吗?

来自分类Dev

将硬盘置于版本控制下是个好主意吗

来自分类Dev

由heroku上的node.js服务的静态文件-这是一个好主意吗?

来自分类Dev

检查参数值是否为null,然后初始化对象。这是个好主意吗?

来自分类Dev

使用宏在C中实现通用向量。这是一个好主意吗?

来自分类Dev

临时扩展Java中的现有对象-这是一个好主意吗?

来自分类Dev

在Mac OS X的哪里设置DYLD_LIBRARY_PATH,这是一个好主意吗?

来自分类Dev

我可以将 JSON 存储在 MySQL 数据库表字段中吗?就我而言,这是个好主意吗?如果是这样,如何?

来自分类Dev

将点划分为区域

来自分类Dev

将视频片段划分为4个区域

来自分类Dev

动态SQL表是个好主意吗?

来自分类Dev

并行读写文件是个好主意吗?

来自分类Dev

“包装”异常是个好主意吗?

来自分类Dev

动态SQL表是个好主意吗?

来自分类Dev

使用 ENV 变量是个好主意吗?

来自分类Dev

部分 uuid 是个好主意吗?

来自分类Dev

是否可以嵌套hazelcast IMaps?我可以期望出现鞭打副作用吗?反正这是个好主意吗?

来自分类Dev

CentOS 7可以使用Zswap吗?如何监控Zswap?这是一个好主意吗?

来自分类Dev

在AngularJS应用程序中创建多个ng-app是一个好主意吗?

来自分类Dev

我可以将数组划分为K个大小吗?

来自分类Dev

片段将所有导航控件委托给Activity是一个好主意吗?

来自分类Dev

将Any用作Union类型是一个好主意吗?

来自分类Dev

将虚拟方法放在可复制类型上是个好主意吗?

Related 相关文章

  1. 1

    在Ubuntu上这是个好主意吗?

  2. 2

    将实例传递给__init__。这是一个好主意吗?

  3. 3

    别名cd推送-这是一个好主意吗?

  4. 4

    我可以将循环缓冲区减小到“ 1”吗?这是一个好主意吗?

  5. 5

    我可以将循环缓冲区减小到“ 1”吗?这是一个好主意吗?

  6. 6

    同时读取多个文件是个好主意吗?

  7. 7

    并行上传多个文件是个好主意吗?

  8. 8

    将硬盘置于版本控制下是个好主意吗

  9. 9

    由heroku上的node.js服务的静态文件-这是一个好主意吗?

  10. 10

    检查参数值是否为null,然后初始化对象。这是个好主意吗?

  11. 11

    使用宏在C中实现通用向量。这是一个好主意吗?

  12. 12

    临时扩展Java中的现有对象-这是一个好主意吗?

  13. 13

    在Mac OS X的哪里设置DYLD_LIBRARY_PATH,这是一个好主意吗?

  14. 14

    我可以将 JSON 存储在 MySQL 数据库表字段中吗?就我而言,这是个好主意吗?如果是这样,如何?

  15. 15

    将点划分为区域

  16. 16

    将视频片段划分为4个区域

  17. 17

    动态SQL表是个好主意吗?

  18. 18

    并行读写文件是个好主意吗?

  19. 19

    “包装”异常是个好主意吗?

  20. 20

    动态SQL表是个好主意吗?

  21. 21

    使用 ENV 变量是个好主意吗?

  22. 22

    部分 uuid 是个好主意吗?

  23. 23

    是否可以嵌套hazelcast IMaps?我可以期望出现鞭打副作用吗?反正这是个好主意吗?

  24. 24

    CentOS 7可以使用Zswap吗?如何监控Zswap?这是一个好主意吗?

  25. 25

    在AngularJS应用程序中创建多个ng-app是一个好主意吗?

  26. 26

    我可以将数组划分为K个大小吗?

  27. 27

    片段将所有导航控件委托给Activity是一个好主意吗?

  28. 28

    将Any用作Union类型是一个好主意吗?

  29. 29

    将虚拟方法放在可复制类型上是个好主意吗?

热门标签

归档