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_Extent 或 ST_3DExtent 计算表的精确范围要快得多。
默认行为是也使用从子表(具有 INHERITS 的表)收集的统计信息(如果可用)。如果 parent_only
设置为 TRUE,则仅使用给定表的统计信息,并忽略子表。
对于 PostgreSQL >= 8.0.0,统计信息由 VACUUM ANALYZE 收集,结果范围约为实际范围的 95%。对于 PostgreSQL < 8.0.0,统计信息通过运行 update_geometry_stats()
收集,结果范围是精确的。
在没有统计信息的情况下(空表或未调用 ANALYZE),此函数返回 NULL。在 1.5.4 版本之前,会抛出异常。 |
对于包含特殊字符和引号的表和/或命名空间,转义名称可能需要特殊处理。一位用户指出:“对于模式和表,使用标识符转义规则生成双引号字符串,然后删除第一个和最后一个双引号字符。对于几何列,按原样传递。” |
可用性: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)