Athena 引擎版本 2 中的地理空间函数
本主题列出了从 Athena 引擎版本 2 开始支持的 ESRI 地理空间函数。有关 Athena 引擎版本的更多信息,请参阅 Athena 引擎版本控制。
Athena 引擎版本 2 中的更改
-
某些函数的输入和输出类型已经改变。最值得注意的是,输入不再直接支持
VARBINARY
类型。有关更多信息,请参阅地理空间函数的更改。 -
一些地理空间函数的名称已经改变。有关更多信息,请参阅Athena 引擎版本 2 中的地理空间函数名称更改。
-
增加了新函数。有关更多信息,请参阅Athena 引擎版本 2 中新增的地理空间函数。
Athena 支持以下类型的地理空间函数:
构造函数
使用构造函数可获取 point
、line
或 polygon
geometry 数据类型的二进制表示。您也可以使用这些函数来将二进制数据转换为文本数据,以及获取以已知文本 (WKT) 格式表示的 geometry 数据的二进制值。
ST_AsBinary(geometry)
返回包含指定几何的 WKB 表示形式的变量二进制数据类型。示例:
SELECT ST_AsBinary(ST_Point(-158.54, 61.56))
ST_AsText(geometry)
将每个指定的 geometry 数据类型转换为文本。返回一个 varchar 数据类型的值,它是该 geometry 数据类型的 WKT 表示。示例:
SELECT ST_AsText(ST_Point(-158.54, 61.56))
ST_GeomAsLegacyBinary(geometry)
从指定几何类型返回遗留变量二进制对象。示例:
SELECT ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)
ST_GeometryFromText(varchar)
将 WKT 格式的文本转换为 geometry 数据类型。返回一个几何数据类型的值。示例:
SELECT ST_GeometryFromText(ST_AsText(ST_Point(1, 2)))
ST_GeomFromBinary(varbinary)
从 WKB 表示形式中返回几何类型对象。示例:
SELECT ST_GeomFromBinary(ST_AsBinary(ST_Point(-158.54, 61.56)))
ST_GeomFromLegacyBinary(varbinary)
从遗留变量二进制类型返回几何类型对象。示例:
SELECT ST_GeomFromLegacyBinary(ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)))
ST_LineFromText(varchar)
返回几何数据类型 line
中的值。示例:
SELECT ST_Line('linestring(1 1, 2 2, 3 3)')
ST_LineString(array(point))
返回从点几何类型数组中形成的 LineString
几何类型。如果指定数组中的非空点少于两个,则返回空 LineString
。如果数组中的任何元素为空值、空或与前一个元素相同,则引发异常。返回的几何体可能不是简单的几何体。根据指定的输入,返回的几何可以自相交或包含重复的顶点。示例:
SELECT ST_LineString(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])
ST_MultiPoint(array(point))
返回从指定点形成的 MultiPoint
几何对象。如果指定的数组为空,则返回空值。如果数组中的任何元素为空值或空,则引发异常。返回的几何体可能不是简单的几何体,如果指定的数组具有重复,则返回的几何体可能会包含重复点。示例:
SELECT ST_MultiPoint(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])
ST_Point(double,
double)
返回几何类型 point
对象。对于此函数的输入数据值,请使用几何值,例如墨卡托方位法 (UTM) 笛卡尔坐标系中的值,或者采用十进制度的地图单位(经度和纬度)。经度和纬度值使用世界大地测量系统,也称为 WGS 1984 或 EPSG:4326。WGS 1984 是全球定位系统 (GPS) 使用的坐标系。
例如,在以下表示法中,使用经度和纬度指定地图坐标,值 .072284
是缓冲距离,使用十进制度的角度单位指定。
SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)
语法:
SELECT ST_Point(longitude, latitude) FROM earthquakes LIMIT 1
以下示例使用特定经度和纬度坐标:
SELECT ST_Point(-158.54, 61.56) FROM earthquakes LIMIT 1
下一个示例使用特定经度和纬度坐标:
SELECT ST_Point(-74.006801, 40.705220)
以下示例使用 ST_AsText
函数来从 WKT 获取几何:
SELECT ST_AsText(ST_Point(-74.006801, 40.705220)) AS WKT
ST_Polygon(varchar)
使用顺时针(从左到右)提供的纵坐标序列,返回几何数据类型 polygon
。从 Athena 引擎版本 2 开始,只接受多边形作为输入。示例:
SELECT ST_Polygon('polygon ((1 1, 1 4, 4 4, 4 1))')
to_geometry(sphericalGeography)
从指定的球形地理对象返回几何对象。示例:
SELECT to_geometry(to_spherical_geography(ST_Point(-158.54, 61.56)))
to_spherical_geography(geometry)
返回指定几何中的球形地理对象。使用此函数可将几何对象转换为地球半径球体上的球形地理对象。此函数只能用于在 2D 空间中定义的 POINT
、MULTIPOINT
、LINESTRING
、MULTILINESTRING
、POLYGON
和 MULTIPOLYGON
几何或该等几何形状的 GEOMETRYCOLLECTION
。对于指定几何形状的每个点,函数将验证 point.x
位于 [-180.0, 180.0]
内,且 point.y
位于 [-90.0,
90.0]
内。该函数使用这些点作为经度和纬度来构建 sphericalGeography
结果的形状。
示例:
SELECT to_spherical_geography(ST_Point(-158.54, 61.56))
地理空间关系函数
以下函数表示您指定为输入并返回类型 boolean
结果的两个不同几何体之间的关系。指定几何体对的顺序很重要:第一个几何体值称为左几何体,第二个几何体值称为右几何体。
这些函数返回:
-
当且仅当满足了函数所描述的关系时为
TRUE
。 -
当且仅当不满足函数所描述的关系时为
FALSE
。
ST_Contains(geometry, geometry)
当且仅当左几何体包含右几何体时返回 TRUE
。示例:
SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', 'POLYGON((-1 3,2 1,0 -3,-1 3))')
SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', ST_Point(0, 0))
SELECT ST_Contains(ST_GeometryFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeometryFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'))
ST_Crosses(geometry, geometry)
当且仅当左几何体穿过右几何体时返回 TRUE
。示例:
SELECT ST_Crosses(ST_Line('linestring(1 1, 2 2 )'), ST_Line('linestring(0 1, 2 2)'))
ST_Disjoint(geometry, geometry)
当且仅当左几何体和右几何体的交集为空时返回 TRUE
。示例:
SELECT ST_Disjoint(ST_Line('linestring(0 0, 0 1)'), ST_Line('linestring(1 1, 1 0)'))
ST_Equals(geometry, geometry)
当且仅当左几何体等于右几何体时返回 TRUE
。示例:
SELECT ST_Equals(ST_Line('linestring( 0 0, 1 1)'), ST_Line('linestring(1 3, 2 2)'))
ST_Intersects(geometry, geometry)
当且仅当左几何体与右几何体相交时返回 TRUE
。示例:
SELECT ST_Intersects(ST_Line('linestring(8 7, 7 8)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))
ST_Overlaps(geometry, geometry)
当且仅当左几何体与右几何体重叠时返回 TRUE
。示例:
SELECT ST_Overlaps(ST_Polygon('polygon((2 0, 2 1, 3 1))'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
ST_Relate(geometry, geometry, varchar)
当且仅当左几何体与右几何体具有指定的尺寸扩展九交集模型 (DE-9IMTRUE
。第三个 (varchar
) 输入接受关系。示例:
SELECT ST_Relate(ST_Line('linestring(0 0, 3 3)'), ST_Line('linestring(1 1, 4 4)'), 'T********')
ST_Touches(geometry, geometry)
当且仅当左几何体与右几何体接触时返回 TRUE
。
示例:
SELECT ST_Touches(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
ST_Within(geometry, geometry)
当且仅当左几何体位于右几何体内时返回 TRUE
。
示例:
SELECT ST_Within(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
操作函数
使用操作函数可对 geometry 数据类型值执行操作。例如,您可以获取单个 geometry 数据类型的边界;两个 geometry 数据类型之间的交集;左、右几何体之间的差异 (其中每个几何体都具有相同的 geometry 数据类型);或围绕特定 geometry 数据类型的外部缓冲区或环。
geometry_union(array(geometry))
返回表示指定几何体的点集合并集的几何体。示例:
SELECT geometry_union(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])
ST_Boundary(geometry)
采用一个几何数据类型作为输入,并返回该 boundary
几何数据类型。
示例:
SELECT ST_Boundary(ST_Line('linestring(0 1, 1 0)')))
SELECT ST_Boundary(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
ST_Buffer(geometry,
double)
将 geometry 数据类型(例如点、线、多边形、复线和多个多边形)之一作为输入,并将距离作为类型 double
。返回按指定距离(或半径)缓冲的几何数据类型。示例:
SELECT ST_Buffer(ST_Point(1, 2), 2.0)
在以下示例中,使用经度和纬度指定地图坐标,值 .072284
是缓冲距离,使用十进制度的角度单位指定。
SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)
ST_Difference(geometry, geometry)
返回左几何体和右几何体之间的差异几何体。示例:
SELECT ST_AsText(ST_Difference(ST_Polygon('polygon((0 0, 0 10, 10 10, 10 0))'), ST_Polygon('polygon((0 0, 0 5, 5 5, 5 0))')))
ST_Envelope(geometry)
获取作为输入 line
、polygon
、multiline
和 multipolygon
geometry 数据类型。不支持 point
geometry 数据类型。返回一个信封作为几何体,其中信封是一个围绕指定几何数据类型的矩形。示例:
SELECT ST_Envelope(ST_Line('linestring(0 1, 1 0)'))
SELECT ST_Envelope(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
ST_EnvelopeAsPts(geometry)
返回一个由两个点组成的数组,它们表示几何的边界矩形多边形的左下角和右上角。当指定的几何体为空时返回空值。示例:
SELECT ST_EnvelopeAsPts(ST_Point(-158.54, 61.56))
ST_ExteriorRing(geometry)
返回输入类型 polygon
的外部环的几何体。从 Athena 引擎版本 2 开始,多边形是唯一接受的几何体输入。示例:
SELECT ST_ExteriorRing(ST_Polygon(1,1, 1,4, 4,1))
SELECT ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))
ST_Intersection(geometry, geometry)
返回左几何体和右几何体交集的几何体。示例:
SELECT ST_Intersection(ST_Point(1,1), ST_Point(1,1))
SELECT ST_Intersection(ST_Line('linestring(0 1, 1 0)'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
SELECT ST_AsText(ST_Intersection(ST_Polygon('polygon((2 0, 2 3, 3 0))'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))')))
ST_SymDifference(geometry, geometry)
返回左几何体和右几何体之间的几何对称差异的几何体。示例:
SELECT ST_AsText(ST_SymDifference(ST_Line('linestring(0 2, 2 2)'), ST_Line('linestring(1 2, 3 2)')))
ST_Union(geometry,
geometry)
返回表示指定几何体的点集合并集的几何数据类型。示例:
SELECT ST_Union(ST_Point(-158.54, 61.56),ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))
访问器函数
访问器函数可用于从不同 geometry
数据类型中获取类型 varchar
、bigint
或 double
的值,其中 geometry
是 Athena 中支持的任何几何数据类型:point
、line
、polygon
、multiline
和 multipolygon
。例如,您可以获取 polygon
geometry 数据类型的面积、指定 geometry 数据类型的最大和最小 x 和 y 值,获取 line
的长度,或接收指定 geometry 数据类型中的点数。
geometry_invalid_reason(geometry)
以 varchar 数据类型返回指定几何体无效或不简单的原因。如果指定的几何体既无效也不是简单的几何体,则返回其无效的原因。如果指定的几何体有效且简单,则返回空值。示例:
SELECT geometry_invalid_reason(ST_Point(-158.54, 61.56))
great_circle_distance(latitude1, longitude1, latitude2,
longitude2)
以双精度形式返回地球表面上两点之间的大圆距离(以千米为单位)。示例:
SELECT great_circle_distance(36.12, -86.67, 33.94, -118.40)
line_locate_point(lineString, point)
返回 0 到 1 之间的双精度值,表示指定线字符串上与指定点的最近点的位置,作为 2D 线总长度的一部分。
如果指定的线字符串或点为空或空值,则返回空值。示例:
SELECT line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2))
simplify_geometry(geometry, double)
使用 Ramer-Douglas-Peucker 算法
SELECT simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0))'), 1.5)
ST_Area(geometry)
采用几何数据类型作为输入,返回类型为 double
的面积。示例:
SELECT ST_Area(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))
ST_Centroid(geometry)
采用几何体数据类型 polygon
作为输入,并返回作为多边形信封中心的 point
几何体数据类型。示例:
SELECT ST_Centroid(ST_GeometryFromText('polygon ((0 0, 3 6, 6 0, 0 0))'))
SELECT ST_AsText(ST_Centroid(ST_Envelope(ST_GeometryFromText('POINT (53 27)'))))
ST_ConvexHull(geometry)
返回几何体数据类型,该类型是包含指定输入中所有几何体的最小凸几何体。示例:
SELECT ST_ConvexHull(ST_Point(-158.54, 61.56))
ST_CoordDim(geometry)
采用支持的 geometry 数据类型作为输入,并返回坐标分量的计数(类型为 tinyint
)。示例:
SELECT ST_CoordDim(ST_Point(1.5,2.5))
ST_Dimension(geometry)
采用一个支持的 geometry 数据类型作为输入,并返回一个几何体的空间维度 (类型为 tinyint
)。示例:
SELECT ST_Dimension(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))
ST_Distance(geometry, geometry)
根据空间参考,双精度形式包含以投影单位返回两个几何体之间的二维最小笛卡尔距离。从 Athena 引擎版本 2 开始,如果其中一个输入为空几何体,则返回空值。示例:
SELECT ST_Distance(ST_Point(0.0,0.0), ST_Point(3.0,4.0))
ST_Distance(sphericalGeography, sphericalGeography)
以双精度形式返回两个球形地理点之间的大圆距离(以米为单位)。示例:
SELECT ST_Distance(to_spherical_geography(ST_Point(61.56, -86.67)),to_spherical_geography(ST_Point(61.56, -86.68)))
ST_EndPoint(geometry)
返回 line
几何体数据类型的最后一个点(类型为 point
)。示例:
SELECT ST_EndPoint(ST_Line('linestring(0 2, 2 2)'))
ST_Geometries(geometry)
返回指定集合中的几何体数组。如果指定的几何不是多几何体,则返回一个元素的数组。如果指定的几何体为空,将返回空值。
例如,假设 MultiLineString
对象,ST_Geometries
将创建一个 LineString
对象数组。假设 GeometryCollection
对象,ST_Geometries
将返回一个由其成分组成的未拼合数组。示例:
SELECT ST_Geometries(GEOMETRYCOLLECTION(MULTIPOINT(0 0, 1 1), GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))))
结果:
array[MULTIPOINT(0 0, 1 1),GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))]
ST_GeometryN(geometry, index)
作为几何数据类型返回指定整数索引处的几何体元素。索引从 1 开始。如果指定的几何体是几何体的集合(例如,GEOMETRYCOLLECTION
或者 MULTI*
对象),则返回位于指定索引处的几何体。如果指定的索引小于 1 或大于集合中元素的总数,则返回空值。要查找元素总数,请使用 ST_NumGeometries。奇异几何体(例如 POINT
、LINESTRING
或者 POLYGON
)将被视为一个元素的集合。空几何体被视为空集合。示例:
SELECT ST_GeometryN(ST_Point(-158.54, 61.56),1)
ST_GeometryType(geometry)
以 varchar 的形式返回几何体的类型。示例:
SELECT ST_GeometryType(ST_Point(-158.54, 61.56))
ST_InteriorRingN(geometry, index)
返回指定索引处的内部环形元素(指数从 1 开始)。如果给定索引小于 1 或大于指定几何中的内环总数,则返回空值。如果指定的几何体不是多边形,则会引发错误。要查找元素总数,请使用 ST_NumInteriorRing。示例:
SELECT ST_InteriorRingN(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'),1)
ST_InteriorRings(geometry)
返回指定几何体中找到的所有内环的几何体数组,如果多边形没有内环,则返回一个空数组。如果指定的几何体为空,将返回空值。如果指定的几何体不是多边形,则会引发错误。示例:
SELECT ST_InteriorRings(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'))
ST_IsClosed(geometry)
获取作为仅用于输入的 line
和 multiline
geometry 数据类型。当且仅当线条闭合时返回 TRUE
(类型 boolean
)。示例:
SELECT ST_IsClosed(ST_Line('linestring(0 2, 2 2)'))
ST_IsEmpty(geometry)
获取作为仅用于输入的 line
和 multiline
geometry 数据类型。当且仅当指定的几何体为空时,返回 TRUE
(类型 boolean
),换言之,在 line
开始值和结束值均位于内部时。示例:
SELECT ST_IsEmpty(ST_Point(1.5, 2.5))
ST_IsRing(geometry)
当且仅当 line
类型闭合且简单时返回 TRUE
(类型 boolean
)。示例:
SELECT ST_IsRing(ST_Line('linestring(0 2, 2 2)'))
ST_IsSimple(geometry)
如果指定的几何体没有异常几何点(例如,自相交或自相切),则返回 true。要确定几何体不是简单几何体的原因,请使用 geometry_invalid_reason()。示例:
SELECT ST_IsSimple(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))
ST_IsValid(geometry)
当且仅当指定的几何体形态良好时返回 true。要确定几何体形态不佳的原因,请使用 geometry_invalid_reason()。示例:
SELECT ST_IsValid(ST_Point(61.56, -86.68))
ST_Length(geometry)
返回 line
的长度 (类型为 double
)。示例:
SELECT ST_Length(ST_Line('linestring(0 2, 2 2)'))
ST_NumGeometries(geometry)
以整数形式返回集合中的几何体数。如果几何体是几何体的集合(例如,GEOMETRYCOLLECTION
或者 MULTI*
对象),则返回几何体的数量。单个几何体返回 1;空几何体返回 0。GEOMETRYCOLLECTION
对象中的一个空的几何体计为一个几何体。例如,以下示例估算为 1:
ST_NumGeometries(ST_GeometryFromText('GEOMETRYCOLLECTION(MULTIPOINT EMPTY)'))
ST_NumInteriorRing(geometry)
返回 polygon
几何体中的内部环数 (类型为 bigint
)。示例:
SELECT ST_NumInteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))
ST_NumPoints(geometry)
返回几何体中的点数 (类型为 bigint
)。示例:
SELECT ST_NumPoints(ST_Point(1.5, 2.5))
ST_PointN(lineString,
index)
以点几何体数据类型返回指定整数索引处指定线字符串的折点。索引从 1 开始。如果给定索引小于 1 或大于集合中元素的总数,则返回空值。要查找元素总数,请使用 ST_NumPoints。示例:
SELECT ST_PointN(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]),1)
ST_Points(geometry)
返回指定线字符串几何体对象中的点数组。示例:
SELECT ST_Points(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))
ST_StartPoint(geometry)
返回 line
几何体数据类型的第一个点(类型为 point
)。示例:
SELECT ST_StartPoint(ST_Line('linestring(0 2, 2 2)'))
ST_X(point)
返回点的 X 坐标 (类型为 double
)。示例:
SELECT ST_X(ST_Point(1.5, 2.5))
ST_XMax(geometry)
返回几何体的最大 X 坐标 (类型为 double
)。示例:
SELECT ST_XMax(ST_Line('linestring(0 2, 2 2)'))
ST_XMin(geometry)
返回几何体的最小 X 坐标 (类型为 double
)。示例:
SELECT ST_XMin(ST_Line('linestring(0 2, 2 2)'))
ST_Y(point)
返回点的 Y 坐标 (类型为 double
)。示例:
SELECT ST_Y(ST_Point(1.5, 2.5))
ST_YMax(geometry)
返回几何体的最大 Y 坐标 (类型为 double
)。示例:
SELECT ST_YMax(ST_Line('linestring(0 2, 2 2)'))
ST_YMin(geometry)
返回几何体的最小 Y 坐标 (类型为 double
)。示例:
SELECT ST_YMin(ST_Line('linestring(0 2, 2 2)'))
聚合函数
convex_hull_agg(geometry)
返回包含作为输入传递的所有几何体的最小凸几何体。
geometry_union_agg(geometry)
返回一个几何体,该几何体表示作为输入传递的所有几何体的点集并集。
Bing 磁贴函数
以下函数在 Microsoft Bing 地图磁贴系统
bing_tile(x, y, zoom_level)
从整数坐标 x
和 y
并按照指定缩放级别返回 Bing 磁贴目标。缩放级别必须是介于 1 到 23 之间的整数。示例:
SELECT bing_tile(10, 20, 12)
bing_tile(quadKey)
从四键返回 Bing 磁贴对象。示例:
SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 12)))
bing_tile_at(latitude, longitude, zoom_level)
返回指定纬度、经度和缩放级别的 Bing 磁贴对象。纬度必须介于 -85.05112878 和 85.05112878 之间。经度必须介于-180 和 180 之间。latitude
和 longitude
值必须为 double
和 zoom_level
一个整数。示例:
SELECT bing_tile_at(37.431944, -122.166111, 12)
bing_tiles_around(latitude, longitude, zoom_level)
返回指定缩放级别且环绕指定纬度和经度点的 Bing 磁贴数组。示例:
SELECT bing_tiles_around(47.265511, -122.465691, 14)
bing_tiles_around(latitude, longitude, zoom_level, radius_in_km)
返回指定缩放级别的 Bing 磁贴数组。该数组包含最小的 Bing 磁贴集,这些磁贴覆盖指定纬度和经度周围的指定半径(以千米为单位)。latitude
、longitude
和 radius_in_km
值为 double
;缩放级别为 integer
。示例:
SELECT bing_tiles_around(37.8475, 112.596667, 10, .5)
bing_tile_coordinates(tile)
返回指定 Bing 磁贴的 x
和 y
坐标。示例:
SELECT bing_tile_coordinates(bing_tile_at(37.431944, -122.166111, 12))
bing_tile_polygon(tile)
返回指定 Bing 磁贴的多边形表示形式。示例:
SELECT bing_tile_polygon(bing_tile_at(47.265511, -122.465691, 4))
bing_tile_quadkey(tile)
返回指定 Bing 磁贴的四键。示例:
SELECT bing_tile_quadkey(bing_tile(52, 143, 10))
bing_tile_zoom_level(tile)
以整数形式返回指定 Bing 磁贴的缩放级别。示例:
SELECT bing_tile_zoom_level(bing_tile(52, 143, 10))
geometry_to_bing_tiles(geometry, zoom_level)
返回在指定缩放级别且完全覆盖指定几何体的 Bing 磁贴的最小集合。支持从 1 到 23 的缩放级别。示例:
SELECT geometry_to_bing_tiles(ST_Point(61.56, 58.54), 10)