Geospatial Operators
Bing Tile Functions
Bing 瓦片是一种便捷的四叉树表示形式,用于表示地球表面的 WGS84 投影。它们可用于划分地理空间数据、执行快 速的邻近度或相交度检查等。每个瓦片都由一个“缩放”级别(瓦片在四叉树中的位置)以及一个 x 和 y 坐标 定义,x 和 y 坐标指定瓦片在该“缩放”级别中的位置。Pollux 支持 0 到 23 的“缩放”级别。对于给定的缩放 级别,“x”和“y”必须介于 0 到“2**zoom - 1”之间(含)。较低的 x 值位于较高的 x 值的西侧,较低的 y 值 位于较高的 y 值的北侧。
Bing 瓦片可以转换为高效的 BIGINT 表示形式,也可以从 BIGINT 表示形式转换为 BIGINT 表示形式。虽然每个 Bing 都可 以转换为有效的 BIGINT,但并非所有 BIGINT 都是有效的 Bing 瓦片,因此将 BIGINT 转换为 BINGTILE 可能会失败。
CAST(CAST(tile AS BIGINT) AS BINGTILE)
更多详情,请参阅 https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system。
bing_tile(x: integer, y: integer, zoom_level: tinyint) -> tile: BingTile
根据 x、y 坐标和 zoom_level 创建一个 Bing Tile 对象。
支持 0 到 23 的缩放级别,并采用如上所述的有效 x 和 y 坐标。无效参数将返回用户错误。
bing_tile(quadKey: varchar) -> tile: BingTile
通过四元键创建 Bing 磁贴对象。无效的四元键 将返回用户错误。
bing_tile_coordinates(tile: BingTile) -> coords: row(integer,integer)
以“row(x, y)”的形式返回给定 Bing tile 的“x”、“y”坐标。
bing_tile_zoom_level(tile: BingTile) -> zoom_level: tinyint
返回给定 Bing 磁贴的缩放级别。
bing_tile_parent(tile) -> parent: BingTile
返回 Bing 图块的父级,其缩放级别较低。如果图块的缩放级别为 0,则抛出异常。
bing_tile_parent(tile, parentZoom) -> parent: BingTile
返回指定较低缩放级别的 Bing 图块的父级。
如果 parentZoom 小于 0,或者 parentZoom 大于图块的缩放级别,则抛出异常。
bing_tile_children(tile) -> children: array(BingTile)
返回 Bing 图块的子级(缩放级别更高)。如果图块已达到最大缩放级别,则抛出异常。
bing_tile_children(tile, childZoom) -> children: array(BingTile)
返回 Bing 图块中指定较高缩放级别的子级。
如果 childZoom 大于最大缩放级别,或
childZoom 小于图块的缩放级别,则抛出异常。顺序是确定的,但未指定。
bing_tile_quadkey() -> quadKey: varchar
返回代表所提供 Bing Tile 的四元键。