将 AWS DynamoDB 地理空间索引与 Python 结合使用

Ada*_*tan 3 spatial aws python dynamodb

亚马逊的 AWS DynamoDB 具有地理空间索引功能,可促进地理查询:

查询支持:框查询返回落在一对地理点内的项目,这些地理点定义了投影到球体上的矩形。Radius 查询返回距离地理点给定距离内的项目。

问题在于boto,用于访问 AWS 服务的 Python 库,缺少对 geo 对象的任何引用。另一方面,Java 等价物具有这样的支持

有没有办法使用 Python 在 AWS 上使用 DynamoDB 的地理功能?

小智 5

dynamodb 的“地理空间特征”并不是其他任何东西,然后从坐标计算地理散列,将散列存储在同一行中,在散列上创建索引,并在基于位置查询时,计算该位置的散列并与表中的索引哈希进行比较。geohash 的算法非常简单,只要具备合理的知识,就可以在几个小时内用任何语言编写代码。您甚至可以创建一个 lambda 函数(自 2015 年 10 月起甚至使用 Python!),该函数附加到 dynamodb 流并自动存储 geohash。

但查看 dynamodb 流 + lambda + cloudsearch 集成可能是一个更好的主意,它具有对地理空间查询的本机支持并且 boto 也有一个云搜索界面。