sp_help_spatial_geometry_histogram (Transact-SQL)
Semplifica l'impostazione delle chiavi dei parametri di griglia e del rettangolo di selezione per un indice spaziale.
Si applica a: SQL Server (da SQL Server 2012 a versione corrente). |
Sintassi
sp_help_spatial_geometry_histogram [ @tabname =] 'tabname'
[ , [ @colname = ] 'columnname' ]
[ , [ @resolution = ] 'resolution' ]
[ , [ @xmin = ] 'minx' ]
[ , [ @ymin = ] 'miny' ]
[ ,.[ @xmax = ] 'maxx' ]
[ , [ @ymax = ] 'maxy' ]
[ , [ @sample = ] 'sample' ]
Argomenti
[ @tabname =] 'tabname'
Nome qualificato o non qualificato della tabella per cui è stato specificato l'indice spaziale.Le virgolette sono necessarie solo se viene specificata una tabella qualificata. Nel caso di un nome completo, ovvero contenente un nome di database, il nome del database deve corrispondere a quello del database corrente. tabname è di tipo sysname e non prevede alcun valore predefinito.
[ @colname = ] 'colname'
Nome della colonna chiave spaziale specificata. colname è di tipo sysname e non prevede alcun valore predefinito.[ @resolution = ] 'resolution'
Risoluzione del rettangolo di selezione. I valori validi sono compresi tra 10 e 5000. resolution è di tipo tinyint e non prevede alcun valore predefinito.[ @xmin = ] 'xmin'
Proprietà del valore minimo di X del rettangolo di selezione. xmin è di tipo float e non prevede alcun valore predefinito.[ @ymin = ] 'ymin'
Proprietà del valore minimo di Y del rettangolo di selezione. ymin è di tipo float e non prevede alcun valore predefinito.[ @xmax = ] 'xmax'
Proprietà del valore massimo di X del rettangolo di selezione. xmax è di tipo float e non prevede alcun valore predefinito.[ @ymax = ] 'ymax'
Proprietà del valore massimo di Y del rettangolo di selezione. ymax è di tipo float e non prevede alcun valore predefinito.[ @sample = ] 'sample'
Percentuale della tabella utilizzata. I valori validi sono compresi tra 0 e 100. sample è di tipo float. Il valore predefinito è 100.
Valore della proprietà/valore restituito
Viene restituito un valore di tabella. Nella griglia seguente viene descritto il contenuto delle colonne della tabella.
Nome della colonna |
Tipo di dati |
Descrizione |
---|---|---|
cellid |
int |
Rappresenta l'ID univoco di ciascuna cella. Il conteggio inizia da 1. |
cell |
geometry |
Poligono rettangolare che rappresenta ciascuna cella. La forma della cella è identica alla forma della cella utilizzata per l'indicizzazione spaziale. |
row_count |
bigint |
Indica il numero di oggetti spaziali che toccano o contengono la cella. |
Autorizzazioni
L'utente deve essere un membro del ruolo public. È necessario disporre dell'autorizzazione READ ACCESS per il server e l'oggetto.
Osservazioni
Nella scheda spaziale di SSMS viene illustrata una rappresentazione grafica dei risultati. È possibile eseguire una query sui risultati rispetto alla finestra spaziale per ottenere un numero approssimativo di risultati. Gli oggetti nella tabella potrebbero riguardare più di una cella, pertanto la somma delle celle potrebbe essere maggiore del numero di oggetti effettivi.
È possibile che una riga aggiuntiva venga aggiunta al set di risultati contenente il numero di oggetti esterni al rettangolo di selezione o che toccano il bordo dello stesso. Il valore cellid di questa riga è 0 e la cella di questa riga contiene LineString che rappresenta il rettangolo di selezione. Questa riga rappresenta l'intero spazio esterno al rettangolo di selezione.
Esempi
Nell'esempio seguente viene creata una tabella di esempio, quindi viene chiamato sp_help_spatial_geometry_histogram nella tabella.
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
Vedere anche
Altre risorse
Stored procedure relative agli indici spaziali (Transact-SQL)