查询地理空间数据 - Amazon Athena

查询地理空间数据

地理空间数据包含为对象指定地理位置的标识符。此类数据的示例包括天气报告、地图方向、包含地理位置的推特、店铺位置以及航空公司路线。地理空间数据在业务分析、报告和预测中起着重要的作用。

地理空间标识符 (如经度和纬度) 允许您将任何邮寄地址转换为一组地理坐标。

什么是地理空间查询?

地理空间查询是在 Athena 中支持的专门类型 SQL 查询。它们在以下方面与非空间 SQL 查询不同:

  • 使用以下专门 geometry 数据类型:pointlinemultilinepolygonmultipolygon

  • 表示 geometry 数据类型之间的关系,例如 distanceequalscrossestouchesoverlapsdisjoint 等。

通过在 Athena 中使用地理空间查询,您可以运行这些操作和其他类似操作:

  • 找出两点之间的距离。

  • 检查一个区域 (多边形) 是否包含另一个区域。

  • 检查一条线是否穿过或接触另一条线或多边形。

例如,要在 Athena 中从雷尼尔山地理坐标的类型 double 的值获得 point 几何数据类型,请使用 ST_Point (longitude, latitude) 几何空间函数,如以下示例所示。

ST_Point(-121.7602, 46.8527)

输入数据格式和 Geometry 数据类型

要在 Athena 中使用地理空间函数,请以 WKT 格式输入数据,或使用 Hive JSON SerDe。您还可以使用在 Athena 中受支持的几何数据类型。

输入数据格式

为处理地理空间查询,Athena 支持以下数据格式的输入数据:

  • WKT (已知文本)。在 Athena 中,WKT 表示为 varchar(x)string 数据类型。

  • JSON 编码的地理空间数据。为解析具有地理空间数据的 JSON 文件并为它们创建表,Athena 使用 Hive JSON SerDe。有关在 Athena 中使用此 SerDe 的更多信息,请参阅 JSON SerDe 库

Geometry 数据类型

为处理地理空间查询,Athena 支持以下专用几何数据类型:

  • point

  • line

  • polygon

  • multiline

  • multipolygon