sp_help_spatial_geometry_histogram (Transact-SQL)
空間インデックス用の境界ボックスとグリッドのパラメーターのキー設定を容易にします。
適用対象: SQL Server (SQL Server 2012 から現在のバージョンまで) |
構文
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 ~ 5,000 です。resolution のデータ型は tinyint で、既定値はありません。[ @xmin = ] 'xmin'
"X の最小値" 境界ボックス プロパティです。 xmin のデータ型は float で、既定値はありません。[ @ymin = ] 'ymin'
"Y の最小値" 境界ボックス プロパティです。 ymin のデータ型は float で、既定値はありません。[ @xmax = ] 'xmax'
"X の最大値" 境界ボックス プロパティです。 xmax のデータ型は float で、既定値はありません。[ @ymax = ] 'ymax'
"Y の最大値" 境界ボックス プロパティです。 ymax のデータ型は float で、既定値はありません。[ @sample = ] 'sample'
使用するテーブルの割合を指定します。 有効な値は 0 ~ 100 です。 sample のデータ型は float です。 既定値は 100 です。
プロパティ値/戻り値
テーブルの値が返されます。 テーブルの列の内容を次の表に示します。
列名 |
データ型 |
説明 |
---|---|---|
cellid |
int |
各セルの一意な ID を表します。値は 1 から開始されます。 |
cell |
geometry |
それぞれのセルを表す四角形です。 セルの形は、空間インデックス作成用に使用されたセルの形と同じです。 |
row_count |
bigint |
セルに接しているかまたはセルを含む空間オブジェクトの数を示します。 |
権限
ユーザーは、public ロールのメンバーである必要があります。 サーバーとオブジェクトに対する READ ACCESS 権限が必要です。
説明
SSMS 空間タブでは、結果がグラフィカルに表示されます。 空間ウィンドウに対して結果をクエリすることにより、結果アイテムの概算数を取得できます。 テーブル内のオブジェクトは 1 つ以上のセルをカバーしている場合があるため、セルの合計が実際のオブジェクトの数より大きくなることがあります。
境界ボックスの外部にあるオブジェクトまたは境界ボックスの境界に接しているオブジェクトの数を格納する追加の行が結果セットに追加される場合があります。 この行の 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