ST_GeomFromGeoSquare - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

ST_GeomFromGeoSquare

ST_GeomFromGeoSquare 返回一个几何体,该几何体覆盖由输入 geosquare 值表示的区域。返回的几何体始终是二维的。要计算 geosquare 值,请参阅 ST_GeoSquare

语法

ST_GeomFromGeoSquare(geosquare)
ST_GeomFromGeoSquare(geosquare, max_depth)

参数

geosquare

一个数据类型为 BIGINT 的值或一个计算结果为 BIGINT 类型的 geosquare 值的表达式,该值描述了为达到目标正方形,而在初始域上进行细分的顺序。此值由 ST_GeoSquare 计算。

max_depth

一个数据类型为 INTEGER 的值,表示在初始域上进行的最大域细分次数。此值必须等于或大于 1

返回类型

GEOMETRY

如果 geosquare 无效,则该函数会返回错误。

如果输入 max_depth 不在范围内,则该函数会返回错误。

示例

以下 SQL 从 geosquare 值返回几何体。

SELECT ST_AsText(ST_GeomFromGeoSquare(797852));
st_astext -------------------------------------------------------------------------------------------------------------------- POLYGON((13.359375 52.3828125,13.359375 52.734375,13.7109375 52.734375,13.7109375 52.3828125,13.359375 52.3828125))

以下 SQL 从 geosquare 值返回几何体,最大深度为 3

SELECT ST_AsText(ST_GeomFromGeoSquare(797852, 3));
st_astext -------------------------------------- POLYGON((0 45,0 90,45 90,45 45,0 45))

以下 SQL 首先通过将 x 坐标指定为经度,将 y 坐标指定为纬度 (-122.3, 47.6) 来计算西雅图的 geosquare 值,然后为 geosquare 返回多边形。尽管输出是二维几何体,但它可用于根据经度和纬度计算空间数据。

SELECT ST_AsText(ST_GeomFromGeoSquare(ST_GeoSquare(ST_Point(-122.3, 47.6))));
st_astext ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- POLYGON((-122.335167014971 47.6080129947513,-122.335167014971 47.6080130785704,-122.335166931152 47.6080130785704,-122.335166931152 47.6080129947513,-122.335167014971 47.6080129947513))