Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Selezione di un buon indice spaziale di SQL Server 2008 con poligoni di grandi dimensioni

Nella query dell'indice usi:

CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit] 
(
    [geom]
)USING  GEOMETRY_GRID 
WITH (
BOUNDING_BOX =(-90, -180, 90, 180),
...

Il BOUNDING_BOX viene quindi mappato su:

xmin = -90
ymin = -180
xmax = 90
ymax = 180
  • La longitudine (da -180 a 180 - indicando est/ovest del meridiano) dovrebbe essere mappata su X
  • Latitudine (da -90 a 90 - indica la distanza a nord oa sud dell'equatore) deve essere mappata su Y

Quindi per creare il BOUNDING_BOX per il mondo dovresti usare:

CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit] 
(
    [geom]
)USING  GEOMETRY_GRID 
WITH (
BOUNDING_BOX =(-180, -90, 180, 90),
...

Questo dovrebbe creare un indice che si adatta ai tuoi dati e significa che tutte le tue funzionalità sono coperte dall'indice.