名称

ST_EstimatedExtent — 返回空间表的估计范围。

概要

box2d ST_EstimatedExtent(text schema_name, text table_name, text geocolumn_name, boolean parent_only);

box2d ST_EstimatedExtent(text schema_name, text table_name, text geocolumn_name);

box2d ST_EstimatedExtent(text table_name, text geocolumn_name);

描述

box2d 的形式返回空间表的估计范围。如果未指定,则使用当前模式。估计范围取自几何列的统计信息。这通常比使用 ST_ExtentST_3DExtent 计算表的精确范围要快得多。

默认行为是也使用从子表(具有 INHERITS 的表)收集的统计信息(如果可用)。如果 parent_only 设置为 TRUE,则仅使用给定表的统计信息,并忽略子表。

对于 PostgreSQL >= 8.0.0,统计信息由 VACUUM ANALYZE 收集,结果范围约为实际范围的 95%。对于 PostgreSQL < 8.0.0,统计信息通过运行 update_geometry_stats() 收集,结果范围是精确的。

[Note]

在没有统计信息的情况下(空表或未调用 ANALYZE),此函数返回 NULL。在 1.5.4 版本之前,会抛出异常。

[Note]

对于包含特殊字符和引号的表和/或命名空间,转义名称可能需要特殊处理。一位用户指出:“对于模式和表,使用标识符转义规则生成双引号字符串,然后删除第一个和最后一个双引号字符。对于几何列,按原样传递。”

可用性:1.0.0

已更改:2.1.0。在 2.0.x 版本之前,此函数名为 ST_Estimated_Extent。

此方法支持圆形字符串和曲线。

示例

SELECT ST_EstimatedExtent('ny', 'edges', 'geom');
--result--
BOX(-8877653 4912316,-8010225.5 5589284)

SELECT ST_EstimatedExtent('feature_poly', 'geom');
--result--
BOX(-124.659652709961 24.6830825805664,-67.7798080444336 49.0012092590332)
		

另请参阅

ST_Extent, ST_3DExtent