【发布时间】:2016-01-11 01:21:20
【问题描述】:
例如,如果我想要一个查询“向我显示距离此处 50 公里内的所有房屋,并按从最近到最远的顺序排列它们”,我有以下问题和疑虑:
假设我们使用的是 EC2(带有 GeoDjango 的应用程序服务器)和 RDS(带有 PostGIS 的数据库服务器),这个查询似乎会在 RDS 上执行。这是个问题,不是吗? RDS 不仅针对 IOPS 进行了优化,而且我们只有一个 RDS 实例服务于我们所有的 EC2 实例。如果这个距离查询只比简单地读取所有纬度和经度稍微贵一点,那才值得。
GeoDjango 或 PostGIS 是否足够聪明,可以仅对合理距离内的房屋进行精确的距离计算,而跳过所有距离太远而无关紧要的房屋?例如,它可以计算给定半径可能的最大边界,并且只计算这些边界内房屋的距离。
在 GeoDjango/PostGIS 中是否存在一种不太精确的计算距离的方法,所以我们可以牺牲精度来换取速度?如果不是,推出我们自己的解决方案会更好吗?
【问题讨论】:
标签: postgis amazon-rds geodjango haversine