在 Amazon Redshift 中查询空间数据 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 Amazon Redshift 中查询空间数据

空间数据描述几何体在定义空间(空间参照系)中的位置和形状。Amazon Redshift 支持具有 GEOMETRY 数据类型的空间数据,其中包含空间数据和数据的空间参考系统标识符 (SRID)。

空间数据包含可用于表示地理要素的几何数据。此类数据的示例包括天气报告、地图方向、包含地理位置的推特、店铺位置以及航空公司路线。空间数据在业务分析、报告和预测中起着重要的作用。

您可以使用 Amazon Redshift SQL 函数查询空间数据。空间数据包含对象的几何值。

使用空间数据,您可以运行查询以执行以下操作:

  • 找出两点之间的距离。

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

  • 检查一条线串是否与另一条线串或多边形相交。

您可以使用 GEOMETRY 数据类型来保存空间数据的值。Amazon Redshift 中的 GEOMETRY 值可以定义二维 (2D)、三维 (3DZ)、带度量的二维 (3DM) 和四维 (4D) 几何体基元数据类型:

  • 二维 (2D) 几何体由平面中的两个笛卡尔坐标 (x, y) 指定。

  • 二维 (2D) 几何体由空间中的三个笛卡尔坐标 (x, y, z) 指定。

  • 带测量 (3DM) 的二维几何体由三个坐标 (x, y, m) 指定,其中前两个坐标是平面中的笛卡尔坐标,第三个是测量值。

  • 四维 (4D) 几何体由四个坐标 (x, y, z, m) 指定,其中前三个坐标是空间中的笛卡尔坐标,第四个是测量值。

有关几何体基元数据类型的更多信息,请参阅 Wikipedia 中的几何体的已知文本表示

GEOMETRY 数据类型具有以下子类型:

  • POINT

  • LINESTRING

  • POLYGON

  • MULTIPOINT

  • MULTILINESTRING

  • MULTIPOLYGON

  • GEOMETRYCOLLECTION

有一些 Amazon Redshift SQL 函数支持以下几何数据的表示形式:

  • GeoJSON

  • 已知文本 (WKT)

  • 扩展的已知文本 (EWKT)

  • 已知二进制 (WKB) 表示

  • 扩展的已知二进制文件 (EWKB)

Amazon Redshift 提供了许多 SQL 函数来查询空间数据。除了 ST_IsValid 函数之外,接受 GEOMETRY 对象作为参数的空间函数期望该 GEOMETRY 对象是有效的几何体。如果 GEOMETRY 对象无效,则空间函数的行为未定义。有关有效性的更多信息,请参阅几何有效性

有关用于查询空间数据的 SQL 函数的详细信息,请参阅空间函数

有关加载空间数据的详细信息,请参阅加载 GEOMETRY 数据类型的列