Anda di halaman 1dari 9

artigo anterior

934
Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

Indexao dos dados espaciais do Banco de Dados do Inventrio de Minas Gerais Thomaz Chaves de Andrade Oliveira1 Samuel Rodrigues de Sales Campos 2 Luca Arajo Egas Prieto3 Elias Bruno de Castro Lasmar4 Universidade Federal de Lavras - UFLA/DCF Caixa Postal 3037 - 37200-000 - Lavras - MG, Brasil menininho@ufla.br
Abstract. This paper describes some of the Spatial Indexes present in the spatial indexing literature and their use in the Inventrio Florestal de Minas Gerais project. The project is developing a GIS in which data gathered of many types that include field collected data and remote sensing data have been merged into a single database. One type of data in which is to be stored is spatial data. The spatial data includes city boundaries, forest fragments, parcels and other complex shapes related to the project that compose the GIS. The GIS requires spatial queries among these complex shapes. In order for these queries to return the results in the least possible time, efficient spatial indexing is required. In the present work we researched through the spatial indexing literature to choose the right spatial index and its tuning among all the best know spatial indexes that would best serve our current application development. A description of the choices that were made is present in this work.
1

Palavras-chave: ndice espacial , oracle, rtree, quadtree, Inventrio Florestal de Minas Gerais, Banco de Dados.

1- Introduo O inventrio florestal de Minas Gerais consiste no mapeamento da flora nativa e dos reflorestamentos existentes no estado, etapa efetuada em 2004, e no monitoramento contnuo desta cobertura. A fase atual consiste na pesquisa quantitativa e qualitativa do estoque em volume e carbono, entre outros, alm da lista de espcies da flora nativa e a caracterizao dos reflorestamentos. Tais informaes sero utilizadas como instrumento de poltica, planejamento e gesto florestal e ambiental pelo Instituto Estadual de Florestas, pela Secretaria de Estado do Meio Ambiente e Desenvolvimento Sustentvel e por outra esferas do governo do estado de Minas Gerais. Na fase atual do projeto est sendo desenvolvido um SIG com os dados do inventrio florestal de Minas Gerais. Esse SIG possui um banco de dados espao-temporal que contm tanto dados georreferenciados como dados convencionais. No banco de dados do SIG, esto armazenados diversos dados espaciais, entre eles: fronteiras municipais do estado, contorno de bacias e sub-bacias hidrogrficas, ncleos do IEF entre outros. O SIG proposto realiza buscas espaciais em tempo real e necessita um mtodo de indexao espacial eficiente para que as buscas sejam eficientes e retornem os resultados em menor tempo hbil possvel. Este presente trabalho apresenta alguns mtodos de indexao espacial presentes na literatura e suas caractersticas. Com base nessas caractersticas e nas necessidades do projeto do SIG do Inventrio de Minas Gerais foi feito um estudo das melhores opes de indexao espacial presentes na literatura para a futura indexao dos dados espaciais. Referencial terico

5973

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

2.1 Bancos de dados espaciais: O termo sistemas de informao geogrfica (SIG) aplicado a sistemas que realizam tratamento computacional de dados geogrficos. A principal diferena entre um SIG e um sistema de informao convencional a capacidade de armazenar tanto dados descritivos como as geometrias dos dados geogrficos, Cmera et al (2006). Sistemas Gerenciadores de banco de dados convencionais, no trabalham com dados multidimensionais como: polgonos, caixas, linhas ou mesmo pontos de maneira eficiente Sellis (1987). Sistemas de Informaes geogrficas entre outros sistemas necessitam de um banco de dados que d suporte a dados multidimensionais. O SIG devem ser capaz de manipular os dados espaciais e recuperar informaes como proximidade, pertinncia, adjacncia, interseo etc. Lisboa (1996). Nos ltimos anos, alm dos bancos de dados comerciais, vem surgindo um grande nmero de tecnologias baseadas em Software livre para trabalhar com dados geogrficos.[Queiroz 2006]. 2.2 PostgreSQL: O PostgreSQL, Stonebraker e Rowe (1986) um sistema gerenciador de banco de dados objeto relacional gratuito e cujo o cdigo fonte aberto, desenvolvido a partir do projeto Postgree em 1986 em Berkeley, Universidade da Califrnia. A partir de 1995 o suporte a linguagem SQL foi incorporado e ento um grupo de desenvolvedores vem mantendo e aperfeioando o cdigo fonte sob o nome de PostgreSQL. Queiroz (2006). O postgreSQL possui um grande suporte ao desenvolvimento de extenses. Essa caracterstica possibilitou o desenvolvimento de uma extenso, o PostGIS, que foi desenvolvida pela empresa Canadense Refractions Research Inc. O cdigo fonte aberto (GNU GPL). Queiroz (2006) 2.3 Spring: O Spring um sistema de informaes geogrficas desenvolvido pelo DPI(diviso de processamento de Imagens) do INPE, um software livre e distribudo gratuitamente para os sistemas operacionais Linux e Windows atravs do endereo www.dpi.inpe.br. Queiroz (2006). O Spring inclui funes para o processamento de imagens, anlise espacial, modelagem numrica de terreno, edio, importao, exportao e consultas a um banco de dados geogrficos. O Spring utiliza a arquitetura dual, portanto em um bando de dados SIPRING, os dados geogrficos so armazenados separadamente em arquivos formato ASCIISPRING em um outro SGDB. 2.4 Oracle: O Oracle Spatial um conjunto integrado de funes e procedimentos que possibilita dados espaciais serem armazenados, acessados e analisados de forma rpida e eficiente num banco de dados ORACLE 9i. Murray (2001) O Oracle Spatial da suporte a dados de 2-4 dimenses usando um objeto do tipo SDO_GEOMETRY. Esse objeto modela todos os tipos de dados determinados pelo Open GIS Consortium (OGC) e da suporte a maioria das aplicaes CAD/CAM e SIG. Kothuri (2002) 2.5 Escolha entre os SGDBs com extenses espaciais Segundo Queiroz (2006) temos outras opes de SGDBs que possuem extenses espacias, entre eles podemos citar: IBM DB2 Spatial Extender, o Informix Spatial e Geodetic Datablade e a extenso do MySQL. A Base de dados do inventrio de Minas possui um

5974

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

volume considervel de dados. Esses dados so de extrema importncia e necessitam de um banco de dados que seja seguro, confivel e que armazene os dados de maneira consistente.

Tabela 1 Comparaes entre SGDB, fonte Queiroz (2006)

Segundo Kothuri(2002) , o oracle possui para dados de poucas dimenses dois tipos de ndices espaciais: R-tree e Quadtree. Esses ndices utilizam das melhores propostas das pesquisas sobre ndices espaciais. A tabela 1 faz um comparativo entre os SGDBs que possuem extenses espaciais. A equipe de tecnologia de informao do Inventrio de Minas concluiu que o Orcale espatial entre os SGDBs, que atende melhor entre os requisitos do Inventrio de Minas Gerais . 3.1 ndices espaciais Segundo Gutman (1984), dados espaciais que cobrem reas em espaos multidimensionais no so bem representados por pontos no espao. Dados de aplicaes CAD, e aplicaes SIG possuem essa caracterstica. Uma operao comum desse tipo de aplicao achar todos os objetos que esto dentro de uma determinada rea, todos objetos que possuam algum ponto em comum ou pesquisas com algum predicado topolgico. Para realizar esse tipo de operao necessrio um mecanismo de que acelere as operaes espaciais. Um mtodo de indexao baseado na localizao do objeto ento necessrio para que esse tipo de operao seja realizado de maneira eficiente. Estruturas clssicas de dados de apenas uma dimenso como tabelas hash ou rvores-B no funcionam para dados de mais de uma dimenso, pois essas estruturas trabalham com comparaes de igualdade entre variveis enquanto aplicaes espaciais necessitam realizar comparaes entre intervalo. Segundo Sellis (1987), ndices espaciais so estruturas de dados que permitem promover acesso a dados de mais de uma dimenso de maneira eficiente. Diversas estruturas de dados foram desenvolvidas com o propsito de indexar dados de mais de uma dimenso, entre elas esto: Quadtrees, R-trees, hB-trees, TV-trees, SS-trees. Kothuri (2002). Existem tambm ndices espaciais hbridos QR-tree , Fu(2003). Nesse artigo, entraremos em detalhes apenas nas Quadtrees e R-trees que so os ndices espaciais inclusos no framework Oracle Spatial. Queiroz (2006) sugere que uma idia fundamental para entendermos a indexao espacial, que o uso de aproximaes das geometrias, isto , as estruturas do ndice trabalham com representaes mais simples dos objetos, como por exemplo, o menor retngulo envolvente. Essas aproximaes nos

5975

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

permitem a realizar operaes espaciais de maneira mais eficiente. A maneira mais comum de se trabalhar com as consultas espaciais realizar a busca em duas etapas: uma etapa de filtragem e uma etapa de refinamento. O principal objetivo deste mtodo o de reduzir e selecionar rapidamente os candidatos que satisfaam um consulta ou operao espaicial. A reduo do espao de busca muito importante, pois a etapa seguinte, a de refinamento utiliza algoritmos geomtricos computacionalmente caros que so aplicados a geometria exata dos objetos espaciais. Quadtree Segundo FU (2003), as quadtrees foram uma das primeiras estruturas de dados para indexar dados de mais de uma dimenso. Finkel e Benley desenvolveram a mesma em 1974 e a partir de ento surgiram centenas de artigos e livros que tratam as suas aplicaes e variaes. De acordo com Lisboa(1996), uma quadtree uma famlia de estrutura de dados hierrquicas, todas baseadas no princpio de diviso recursiva do espao.conforme a figura 2.

Figura 2. Quadtree e suas decomposies - Fonte YU-CHEN FU (2003)

Rtree A Rtree foi criada por Guttman (1984), que a definiu como sendo uma rvore balanceada similar a uma rvore-B com os ndices nos ns folhas apontando para os objetos espaciais. Os objetos espaciais so aproximados pelo menor retngulo envolvente. Os ns correspondem a pginas em disco se a estrutura de dados esta armazenada em disco. A estrutura projetada de forma a visitar um nmero pequeno de ns para se chegar a um n folha. Algumas propostas com melhorias sobre a Rtree original foram propostas ao longo dos anos, como por exemplo a R+-tree Sellis (1987) .

5976

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

Figura 3 Rtree- Fonte Gutmann (1984)

Indices espaciais no Oracle Spatial: O Oracle Spatial da suporte a criao de ndices para dados espaciais. Esses ndices espaciais podem ser criados com exteses de sintaxe SQL. As Rtrees no Oracle spatial logicamente esto implementadas como rvores e internamente esto implementadas em tabelas do Banco de dados. As buscas envolvem SQL recursivos para se chegar da raiz aos ns da rvore. Kothuri (2002) Essa abordagem resulta em buscas mais eficientes devido a uma melhor preservao de aproximaes espaciais, mas pode tornar-se lenta para atualizaes e para criar-se os ndices. A Quadtree realiza aproximao das geometrias atravs de aproximaes com quadrantes, que so resultantes da subdiviso recursiva do espao (tesselamento). A quadtrtee utiliza ndices e rvores-B para realizar buscas espaciais e outras operaes DML(Data Manipulating Language). Essa abordagem acarreta em: Uma criao simplificada para os ndices, atualizao rpida dos ndices e uma herana de um controle de concorrncia de rvore B. Kothuri (2002) Processamento de buscas espaciais no Oracle: Para realizar as buscas espaciais de forma eficiente, o Oracle Spatial utiliza o modelo de busca multi-estgios. No primeiro filtro, denominado filtro primrio os ndices so utilizados como filtro de busca Kothuri(2002). Para realizar uma busca espacial, no qual se busca encontrar determinadas geometrias que satisfaam um determinado predicado geomtricoespacial, as geometrias candidatas a satisfazerem o predicado so selecionadas primeiramente atravs dos ndices espaciais. No filtro intermedirio, as geometrias candidatas so comparadas utilizando aproximaes interiores das geometrias de busca e as candidatas. Algumas so selecionadas e outras no dependendo do critrio de busca. O ultimo estgio de busca, denominado filtro secundrio onde so realizados clculos computacionais com as geometrias exatas. Esses clculos so computacionalmente dispendiosos e determinam o resultado exato da busca que eventualmente so entregues ao usurio. Funcionamento da Quadtree como filtro primrio:

5977

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

O Quadtree necessita que o usurio defina um tilling level, (nmero de subdivises recursivas do espao). Cada geometria ento aproximada por um conjunto mnimo de quadrantes. Kothuri (2002). Durante o de subdiviso do espao, tambm conhecido como tesselation, os quadrantes so divididos entre quadrante interiores e de fronteiras, dependendo se todos esto no interior da geometria ou no. Todos os quadrantes que envolvem a geometria so ento introduzidos uma tabela de ndices espaciais. Como resultado, uma determinada geometria poder ter mltiplas linhas na tabela de ndices espaciais, onde cada linha guarda diferentes cdigos de quadrantes interior|exterior e o rowID da geometria (linha da geometria na tabela). Uma rvore-B ento montada contdo o cdigo do quadrante e o rowID da geometria. Quando se realiza uma busca que envolve uma geometria de busca como parmetro, a geometria de busca ocorre uma tesselation para a mesma. Usando cada quadrante da geometria de busca e o RowID chegamos a todos os geometrias que possuam quadrantes com a mesma posio dos quadrantes da geometria de busca. Quanto maior o Tiling level, mais precisas so as aproximaes das geometrias, conseqentemente mais refinadas so as buscas, porm existe compromisso armazenamento em disco. Encontrar o tiling level correto crucial pois os quadrantes podem ser pequenos demais ou grande demais. Kothuiri (2002) Quanto maior o tiling level mais seletivo o filtro primrio, consequentemente menos geomerias so submetidas ao filtro secundrio. Existe uma funo do Oracle que estima o tiling level correto para as geometrias do Banco de dados. Essa funo a SDO_ESTIMATE_TILING_LEVEL(); Funcionamento da Rtree como filtro primrio: No Oracle Spatial, as Rtree mantm a sua estrutura lgica de rvore e so implementadas como uma tabela onde cada n da Rtree corresponde a uma linha em uma tabela e um ponteiro filho na Rtree corresponde a um RowID na mesma tabela. A Raiz da rvore esta presente nos metadados o que permite uma navegao da raiz a folha da mesma rvore. Kothuri (2002)As Rtree no Oracle Spatial, mantm a sua estrutura lgica de rvore, porm esto implementadas como uma tabela onde cada n da rvore corresponde a uma linha da tabela. Cada n filho corresponde a um rowID na mesma tabela. A raiz da tabela est na tabela dos metadados o que permite uma navegao da raiz aos ns folhas da rvore. Cada folha possui contm o rowID de cada geometria e tambm possui o seu mnimo retngulo envolvente. Kothuri(2002). Indexao espacial para os dados do Inventrio de Minas. Os dados que so espaciais no Banco de dados do inventrio de minas foram criados atravs do software da ESRI ArcGIS 9.1. A parte espacial dos dados, tambm conhecida como shapes so importados para o banco de dados oracle atravs da ferramenta ESRI Arc Catalog via ArcSDE. Os shapes que foram importados so shapes precisos e devido a essa

5978

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

preciso demandam espao em disco considervel para o seu armazenamento.

Figura 4 - Municpios, Regionais IEF, Bacias e Sub-Bacias de Minas Gerais

A figura 3 ilustram os municpios do estado de minas gerais, Regionais do IEF, Bacias e Sub-Bacias hidrogrficas, sendo que todos esses shapes esto armazenados no Banco de dados em tabelas diferentes. O Oracle utiliza o objeto SDO_Geometry para modelar dados espacial de 2-4 dimenses. Kothuri (2002) Todas as tabelas que armazenam dados georreferenciados possuem um objeto do tipo SDO_GEOMETRY. Cada parcela um retngulo e necessita de um polgono simples para o seu armazenamento. Os shapes dos Municpios, Bacias, Sub-Bacias, Ncleos-IEF, e Regionais-IEF representam subdivises do espao bem precisas e complexas. Esses objetos no possuem como caractersticas mobilidade e transformaes constantes ao longo do tempo.

5979

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

Figura 5 Fragmento Fazendo Galheiros, visualizao no Google Earth

Comparao entre Rtree e Quadtree Existem vantagens e desvantagens em cada um dos mtodos de indexao espacial do Oracle. A tabela 2 compara os dois tipos de indexao.
Rtree Quadtree Aproximao das geometrias no pode ser otimizada Aproximao das geometrias pode ser otimizada A criao dos ndices mais fcil, no necessita de Acerto e otimizao dos ndices mais complicada, fine tune os ndices. necessita de fine tune os ndices. Menos espao em disco utilizado Mais espao em disco utilizado Se a aplicao envolve o operador SDO_NN Rtree Se aplicao necessita do operador SDO_NN a mais rpida. Quadtree mais lenta Se a aplicao necessitar de muitas atualizaes a Atualizaes constantes no afetam a performance da Rtree pode no ser uma oba escolha quadtree Pode indexar at 4 dimenses Somente duas dimenses podem ser indexadas Tabela 2 comparao entre Quadtree e Rtree Fonte adaptada de Murray (2002)

Quando muitas inseres e remoes ocorrem na Rtree, a qualidade da mesma pode degradar, o que pode influenciar a sua performance Murray (2002). Devido ao contedo da Base de dados do Inventrio Florestal de Minas Gerais ser relativamente esttico isso no se torna um problema. Segundo Kothuri (2002), para aplicaes que so atualizadas constantemente, com polgonos simples , com alto acesso de concorrncia ou quando as aplicaes envolvem algumas buscas espaciais especficas como, o uso da quadtree pode ser recomendado. Porm o tiling level adequado a aplicao deve ser encontrado. As Rtrees no necessitam de acerto de parmetros e supera as Quadtree em quase todos os outros casos, podendo ter uma performance equivalente ou superior na maioria das ocasies. Devido dos mtodos de indexao espacial e dos dados do Invetrio, o ndice Rtree a melhor opo, devido a sua performance em velocidade, facilidade de criao e pela no necessidade do fine tune dos ndice. Todos os dados do inventrio possuem indexao Rtree e foram criados automatimante pelo ferramenta ArcCatalog via ArcSDE. Concluso:

5980

Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5973-5981.

O Inventrio Florestal de Minas Gerais um projeto que em seu escopo um banco de dados geogrfico. Esse banco de dados necessita de SGDB que atenda os requisitos do projeto entre os quais podemos destacar robustez e segurana e devido escolhemos o Oracle Spatial que por trabalhar com a arquitetura integrada, possui funes internas para se trabalhar com os dados espaciais. Para que essas funes espaciais trabalhem de maneira eficiente existe a necessidade da criao de um ndice espacial que funciona como um filtro primrio em um processo de seleo de dois estgios. Os ndices do Oracle so de dois tipos Quadtree e Rtree. Pelo fato de os objetos espaciais do banco de dados serem objetos com formatos complexos, pela facilidade de criao do ndice, performance em velocidade e o fato dos dados espaciais no serem atualizados constantemente, o mtodo de indexao do banco de dados o Rtree para todas as tabelas do banco de dados do Inventrio Florestal de Minas Gerais. Referncias:
Guttman Anthonin. R-trees: A dynamic index structure for spatial searching. Proc. A CM SIGMOD Int. Conf. on Management of Data, pages 47-57, 1984. Sellis, Timos; Roussopoulos, Faloutos Christos: The R+-Tree: A Dynamic Index for Multi-Dimensional Objedcts 13th VLDB Conference, Pages 507-517 Brighton 1987. Kothuri, Ravi Kanth V.; Ravada Siva ; Abugov Daniel: Quadtree and R-tree Indexes in Oracle Spatial: A Comparison using GIS Data, 546-557 ACM SIGMOD 2002 Lisboa, Jugurta ; Iochpe Cirano Introduo a Sistemas de Informaes Geogrficas com nfase em Banco de Dados 10 Escuela de Cincia Informticas, Departamento de Computacin, Universidad de Buenos Aires, Argentina, 22 a 27 Julho 1996 XV JAI Jornada de Atualizao em Informtica, XVI Congresso da SBC, Recife-PE, 4 a 9 de agosto de 1996 Queiroz, Gilberto Ribeiro ; Ribeiro, Karine Reis: Tutorial sobre Banco de Dados Geogrficos. GeoBrasil 2006 Instituto Nacional de Pesquisas Espaciais Hellerstein M. Joseph ; Naughton Jeffery F. ; Pfeffer Avi Generalized Search Trees for Database Systems 21th VLDB Conference Zurich, Switzerland, 1995. Murray Chuch Oracle Spatial Users Guide and Reference, Release 9.01 StoneBraker, Michael ; Rowe Lawrence A; The design of Postgres

5981