在边界框内有效地找到所有位置(通过lat / lng)

时间:2012-11-29 10:59:06

标签: geolocation geocoding

我有一个包含'places'的表,每个地方都有它的名字(pk)和lat,lng。给定一个边界框坐标(lat / lng周长),什么是高效方式来仅检索该框内的位置?

我可以(并且目前正在)遍历所有位置并检查每个位置是否都在框内。但是,我正在寻找更高效的东西;也许构建一些索引来按位置/可能的方框定义地点。

我正在使用Django框架,但我也可以接受任何较低级别的优化(也许在SQL级别)。

1 个答案:

答案 0 :(得分:0)

如果您要对数据库执行地理空间查询,则应使用Spatial database 所有主要数据库系统都支持它或具有扩展以增加对此的支持。

获得空间数据库后,您将坐标存储为ST_POINT,并且数据库会以允许您进行有效查询的方式对其进行索引(在多边形中,在范围内等)