Share via


sp_help_spatial_geometry_histogram (Transact-SQL)

Gilt für:SQL Server

Erleichtert es, Begrenzungsrahmen und Rasterparameter für einen räumlichen Index mit Schlüsseln zu versehen.

Syntax

sp_help_spatial_geometry_histogram
    [ @tabname = ] N'tabname'
    , [ @colname = ] N'colname'
    , [ @resolution = ] resolution
    , [ @xmin = ] xmin
    , [ @ymin = ] ymin
    , [ @xmax = ] xmax
    , [ @ymax = ] ymax
    [ , [ @sample = ] sample ]
[ ; ]

Argumente

[ @tabname = ] N'tabname'

Der qualifizierte oder nicht qualifizierte Name der Tabelle, für die der räumliche Index angegeben wird. @tabname ist "sysname" ohne Standard.

Anführungszeichen sind nur dann erforderlich, wenn eine qualifizierte Tabelle angegeben wird. Bei Angabe eines vollqualifizierten Namens, einschließlich eines Datenbanknamens, muss es sich bei dem Datenbanknamen um den Namen der aktuellen Datenbank handeln.

[ @colname = ] N'colname'

Der Name der angegebenen räumlichen Spalte. @colname ist "sysname" ohne Standard.

[ @resolution = ] Auflösung

Die Auflösung des umgebenden Felds. Werte zwischen 10 und 5000 sind gültig. @resolution ist "int" ohne Standard.

[ @xmin = ] xmin

Die X-Minimum-Begrenzungsfeldeigenschaft. @xmin ist "Float" ohne Standard.

[ @ymin = ] ymin

Die Y-Minimum-Begrenzungsfeldeigenschaft. @ymin ist "Float" ohne Standard.

[ @xmax = ] xmax

Die X-Maximum-Begrenzungsfeldeigenschaft. @xmax ist "Float" ohne Standard.

[ @ymax = ] ymax

Die Y-maximale Begrenzungsfeldeigenschaft. @ymax ist "Float" ohne Standard.

[ @sample = ] Beispiel

Der Prozentsatz der verwendeten Tabelle. Gültige Werte liegen zwischen 0 und 100. @sample ist float, mit einem Standardwert von 100.

Rückgabewerte

Ein Tabellenwert wird zurückgegeben. In der folgenden Tabelle wird der Spalteninhalt der Tabelle beschrieben.

Spaltenname Datentyp BESCHREIBUNG
cellid int Stellt die eindeutige ID jeder Zelle dar, beginnend mit 1.
cell geometry Ein rechteckiges Polygon, das jede Zelle darstellt. Die Zellenform ist mit der für die räumliche Indizierung verwendeten Zellenform identisch.
row_count bigint Gibt die Anzahl räumlicher Objekte an, die die Zelle berühren oder enthalten.

Berechtigungen

Der Benutzer muss ein Mitglied der Datenbankrolle public sein. Erfordert READ ACCESS Berechtigungen auf dem Server und dem Objekt.

Hinweise

Die räumliche Registerkarte SQL Server Management Studio (SSMS) zeigt eine grafische Darstellung der Ergebnisse. Sie können die Ergebnisse für das räumliche Fenster abfragen, um die ungefähre Anzahl von Ergebniselementen abzurufen. Objekte in der Tabelle können mehr als eine Zelle abdecken, sodass die Summe der Zellen möglicherweise größer als die Anzahl der tatsächlichen Objekte ist.

Dem Resultset kann eine zusätzliche Zeile hinzugefügt werden, die die Anzahl der Objekte enthält, die sich außerhalb des umgebenden Felds befinden oder den Rahmen des umgebenden Felds berühren. Die cellid Zeile ist 0 und die cell Zeile enthält ein LineString Feld, das das umgebende Feld darstellt. Diese Zeile stellt den gesamten Bereich außerhalb des Begrenzungsrahmens dar.

Beispiele

Im folgenden Beispiel wird eine Beispieltabelle erstellt und anschließend die Tabelle aufgerufen sp_help_spatial_geometry_histogram . In diesem Beispiel ist die Datenbankkompatibilitätsebene auf 110 festgelegt, kann aber höher sein.

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