terça-feira, 31 de maio de 2011

Como: Determinar o tamanho de um índice espacial (spatial index)

Software:      ArcGIS - ArcEditor 8.1, 8.1.2, 8.2, 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 e 10.0 ArcGIS - ArcInfo 8.1, 8.1.2, 8.2, 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 e 10.0 ArcSDE 8.0.1, 8.0.2, 8.1, 8.1.2, 8.2, 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 e 10.0
PlataformasWindows NT 4.0, 2000, XP, Vista, Windows 2003 Server, Windows 2008 Server, Windows 7

Resumo
O índice espacial de uma classe de feição do ArcSDE geodatabase faz consultas com velozes filtros espaciais. Determinar um valor ótimo do índice espacial é um processo interativo e depende da geometria das feições individuais que podem variar de dataset a dataset. Este post demonstra um bom ponto de partida de como determinar um índice espacial para uma classe de feição onde a geometria das feições estão com tamanho relativamente uniformes. Este documento usa uma linha de comando do SDE e SQL*Plus. O mesmo processo pode ser usado com o SQL Server Query Analyzer.

Procedimento
1.    Use o comando sdelayer para obter o layer ID e as estatísticas de índices espaciais das camadas (layer's).
sdelayer -o si_stats -l <layer_name>,shape -i <instance> -u <username> -p <password>
O Layer ID estará na Terceira linha que diz: Layer 1 Spatial Index Statistics:
2.    Inicie o SQLPlus e log como proprietário (OWNER) da camada (layer).
3.    Calcule o tamanho médio do envelope das feições e multiplique por 3.
select avg((((emaxx - eminx)+(emaxy-eminy))/2)*3) average_edge from<F_table>;
 Onde <F_table> é o F<layerID>.

Criado em: 19/11/2007
Modificado em: 31/05/2011
fonte: http://www.support.esri.com

Nenhum comentário:

Postar um comentário