ST_TILEENVELOPE
📄字数 1.1K
👁️阅读量 加载中...
功能描述
由指定的缩放级别 Z 和该级别的网格中图块的 XY 索引,构造矩形多边形。 可用于定义 ST_ASMVTGEOM 所需的图块边界,以将几何图形转换为 MVT 图块坐标空间。
语法格式
sql
GEOMETRY ST_TileEnvelope(INTEGER tileZoom, INTEGER tileX, INTEGER tileY, GEOMETRY bounds=SRID=3857;LINESTRING(-20037508.342789244 -20037508.342789244, 20037508.342789244 20037508.342789244), DOUBLE margin=0.0);参数说明
- tileZoom: 缩放级别。
- tileX:该级别的网格中图块的 X 索引。
- tileY:该级别的网格中图块的 Y 索引。
- bounds:可选,用于在任何坐标系中生成图块,默认情况下,切片范围位于Web Mercator坐标系 (SRID:3857) 中,使用 Web 墨卡托系统的标准范围(-20037508.342789244、20037508.342789244)。这是 MVT 图块最常用的坐标系。 它是一个几何体,具有 SRID 和“缩放级别零”正方形的范围,XYZ 图块系统内切在该正方形内。
- margin:可选,用于将图块扩展给定的百分比,默认值:
0.0。例如。margin=0.125 将图块扩展 12.5%,相当于当图块范围大小为 4096 时 buffer=512(如 ST_ASMVTGEOM 中使用的)。这对于创建图块缓冲区以包含位于图块可见区域之外的数据非常有用,但其存在会影响图块渲染。例如,城市名称(一个点)可能靠近图块的边缘,因此其标签应该呈现在两个图块上,即使该点仅位于一个图块的可见区域中。在查询中使用扩展图块将在两个图块中包含城市点。 使用负值来缩小图块。 禁止使用小于 -0.5 的值,因为这会完全消除图块。与 ST_ASMVTGEOM 一起使用时,请勿指定边距。 请参阅 ST_ASMVT 。
函数返回类型
GEOMETRY类型
示例
构建格网外接矩形:
sql
SQL> SELECT ST_ASTEXT(ST_TILEENVELOPE(2, 1, 1));
+------------------------------------------------------------------------------------------------------------------------+
| EXPR1 |
+------------------------------------------------------------------------------------------------------------------------+
| POLYGON((-10018754.171394622 0,-10018754.171394622 10018754.171394622,0 10018754.171394622,0 0,-10018754.171394622 0)) |
+------------------------------------------------------------------------------------------------------------------------+
SQL> SELECT ST_ASTEXT(ST_TILEENVELOPE(3, 1, 1, ST_MAKEENVELOPE(-180, -90, 180, 90, 4326)));
+------------------------------------------------------+
| EXPR1 |
+------------------------------------------------------+
| POLYGON((-135 45,-135 67.5,-90 67.5,-90 45,-135 45)) |
+------------------------------------------------------+