sp_help_spatial_geometry_histogram (Transact-SQL)

简化为空间索引键入范围框和网格参数的过程。

语法

sp_help_spatial_geometry_histogram [ @tabname =] 'tabname' 
     [ , [ @colname = ] 'columnname' ] 
     [ , [ @resolution = ] 'resolution' ]
     [ , [ @xmin = ] 'minx' ] 
     [ , [ @ymin = ] 'miny' ] 
     [ ,.[ @xmax = ] 'maxx' ]
     [ , [ @ymax = ] 'maxy' ]
     [ , [ @sample = ] 'sample' ]

参数

  • [ @tabname =] 'tabname'
    已为其指定了空间索引的表的限定或非限定名称。

    仅当指定了限定表时才需要引号。 如果提供的是完全限定名称(包括数据库名称),则数据库名称必须是当前数据库的名称。 tabname 的数据类型为 sysname,无默认值。

  • [ @colname = ] 'colname'
    是指定的空间列的名称。 colname 的数据类型为 sysname,无默认值。

  • [ @resolution = ] 'resolution'
    是范围框的分辨率。 有效值为 10 到 5000。 resolution 的数据类型为 tinyint,无默认值。

  • [ @xmin = ] 'xmin'
    为 X 的最小范围框属性。 xmin 的数据类型为 float,无默认值。

  • [ @ymin = ] 'ymin'
    为 X 的最大范围框属性。 ymin 的数据类型为 float,无默认值。

  • [ @xmax = ] 'xmax'
    为 X 的最大范围框属性。 xmax 的数据类型为 float,无默认值。

  • [ @ymax = ] 'ymax'
    为 Y 的最大范围框属性。 ymax 的数据类型为 float,无默认值。

  • [ @sample = ] 'sample'
    为所用表的百分比。 有效值为 0 到 100。 sample 的数据类型为 float。 默认值为 100。

属性值/返回值

返回表值。 下面的网格描述表的列内容。

列名

数据类型

说明

cellid

int

表示每个单元的唯一 ID,从 1 开始计数。

单元

geometry

是表示每个单元的矩形多边形。 该单元形状与用于空间索引的单元形状相同。

row_count

bigint

指示接触或包含单元的空间对象数 。

权限

用户必须是 public 角色的成员。 需要服务器和对象的 READ ACCESS 权限。

注释

SSMS 空间选项卡显示结果的图形表示形式。 您可以针对空间窗口查询结果,以获取近似的结果项数。 表中的对象可能涵盖多个单元,因此单元之和可能大于实际对象数。

可能会向结果集中添加一个附加行,用于保存在范围框之外或与范围框边界接触的对象数。 此行的 cellid 为 0,此行的 cell 包含一个表示范围框的 LineString。 此行表示在范围框之外的整个空间。

示例

下面的示例创建一个示例表,然后在表中调用 sp_help_spatial_geometry_histogram

USE AdventureWorksDW2012

GO

-- Set database compatibility for circular arc segments

ALTER DATABASE AdventureWorksDW2012

SET COMPATIBILITY_LEVEL = 110;

GO

-- Create table to execute sp_help_spatial_geometry_histogram on

CREATE TABLE TownSites

(

Location geometry NULL,

SiteName nvarchar(50) NULL

)

GO

-- Insert site data into table

DECLARE @g geometry;

SET @g = geometry::Parse('POINT(0 0)');

INSERT INTO TownSites(Location, SiteName)

SELECT @g, N'Booth Map';

SET @g = geometry::Parse('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))');

INSERT INTO TownSites(Location, SiteName)

SELECT @g, N'Town Hall';

SET @g = geometry::Parse('CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(-1 0, 0 -1, 1 0),(1 0, 1 2, -1 0)))');

INSERT INTO TownSites(Location, SiteName)

SELECT @g, N'Main Park';

SET @g = geometry::Parse('CIRCULARSTRING(1 5, 2 2, 5 1)');

INSERT INTO TownSites(Location, SiteName)

SELECT @g, N'Main Road';

-- Call proc to see data within bounding box

EXEC sp_help_spatial_geometry_histogram @tabname = TownSites, @colname = Location, @resolution = 64, @xmin = -2, @ymin = -2, @xmax = 3, @ymax = 3, @sample = 100;

GO

DROP TABLE TownSites;

GO

请参阅

其他资源

空间索引存储过程 (Transact-SQL)