Condividi tramite


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)