Você está na página 1de 11

Captulo

1
Estruturas de Dados Espaciais
Roberto Ferreira dos Santos Junior
Resumo
Esse trabalho faz uma apresentao do conceito e da ideia bsica das principais
estruturas de dados usadas para manusear e indexar dados espacias. O obetivo
principal explicar o conceito envolvido por detrs de cada uma e as respectivas
aplicaes.
1.1 Dado espacial
Referenciado em algumas fontes internacionais como spatial data, significa todo dado
multidimensional. Ao entrar nessa esfera descobrimos ento que existem classificaes
quanto ao dado, usualmente con!ecidas como dados con"encionais e no con"encionais
ou complexos. #s dados con"encionais so os alfanum$ricos em geral, com aplicao
em computao cient%fica, c&lculos de matri'es, aplicaes comerciais, c&lculos e etc, e
entre os no con"encionais ou complexos esto os dados espaciais. (xistem mil!ares
de fontes que tratam esse tipo de dado e sua definio, !& uma certa contro"$rsia no uso
dos termos e, por esta ra'o, alguns autores definem o dado espacial como sendo aquele
que possui dimenso espacial )mais de uma dimenso*, no sendo necessariamente
georreferenciado, por$m, outros autores afirmam que dado espacial e dado geogr&fico
so sin+nimos, toda"ia "amos usar a seguinte definio, -ados espaciais consistem em
ob.etos espaciais feitos de pontos, lin!as, regies, ret/ngulos, superf%cies, "olumes, e at$
mesmo dados de maior dimenso que incluem tempo. (xemplos de dados espaciais
incluem cidades, rios, estradas, munic%pios, estados, cordil!eiras, etc. (xemplos de
propriedades de um dado espacial incluem a extenso de um dado rio, ou a fronteira de
um dado munic%pio, etc. 01uc!maan 23345 6uenter and sc!e7 2332 citado por 8. Samet
2339:
Ao manipular qualquer tipo de dados temos que le"ar em conta fatores como
modelagem de dados, otimi'ao de consultas, estrat$gias de indexao, controle de
concorr;ncia e gerenciamento de arma'enamento.0#li"eira 2339: A an&lise desses
fatores dir& qual estrutura de dados poder& mel!or ser utili'ada na manipulao do dado.
< ento que surgem estruturas que atendem, conforme a necessidade, a manipulao de
um dado espacial eficientemente.
1.1.2 O Acesso Multidimensional
=omo "imos acima os dados espaciais so definidos por serem formados por um
con.unto de c!a"es agrupadas. >e"ando em considerao esse tipo de dado, estruturas
unidimensionais, onde os elementos so referenciados por um ?nico %ndice, passam a
no atender o mane.o desses dados o que nos le"a a procurar outro tipo de estrutura, so
essas as estruturas multidimensionais. Ao longo desse trabal!o sero discutidas
algumas, assim como sua aplicao e como elas podem ser uma boa soluo no trabal!o
com dados espacias. As mais tradicionais so, 1S@ )1inarA Space @artioning*, BCdC
trees, Duadtrees e RCtrees.
1.1.3 Aplicaes Comuns
@roblemas que en"ol"em determinao de "i'in!ana e testes de interseo esto
presentes em di"ersas &reas como 6ES )6eograp!ic Enformation SAstem*, mapeamento
de imagens, plane.amento de tra.$torias, raAtracing, .ogos gr&Fcos entre outras. 0Ribeiro
2339:
2. QuadTrees
A ideia geral da $ uma &r"ore que di"ide o plano em quatro subCplanos, e estes subC
planos em mais quatro subCplanos e assim susseci"amente. As lin!as de di"iso so
alin!adas aos eixos de coordenadas e so aplicadas recursi"amente como nas 1S@s
discutidas mais adiante. As #ctrees so o equi"alente tridimensional das quadtrees,
di"idindo o "olume em oito subC"olumes por meio de quatro planos 0>uque G449:.

Firgura 1. Uma Quadtree completa
As quadtrees e sua "ariante tridimensinal octree so usadas para representar pontos,
regies, cur"as, superf%cies e "olumes em um espao, usadas tamb$m em processos de
decodificao de imagem e alguns algoritimos permitem a deteco de coliso.
A Figura G representa a construo de uma RegionCDuadtree de uma regio em um
espao qualquer. @erceba que o espao $ di"idido em quatro quadrantes e estes recebem
a cor branca que representa os nHs, ou regies, que no contem dados. #s quadrantes na
cor cin'a so quadrantes que possuem partes da regio com dados e partes das regies
"a'ias, .& os amarelos so quadrantes que possuem apenas os dados da regio dese.ada.
A ideia $ fa'er com que os quadrantes se.am di"ididos de maneira que nas fol!as da
&r"ore sH existam quadrantes brancos e pretos, sendo que as regies cin'as representem
sH os nHs internos.
2.1 QuadTrees e a representao de pontos
As quadtrees possuem duas "ariantes para representao de pontos so elas as @oint
Duadtrees e as @oint Region quadtrees.
2.1.1 oint Quadtree
A @oint Duadtree $ uma generali'ao de uma &r"ore de busca bin&ria. #s nHs so
respons&"eis pela di"iso dos quadrantes. (sses nHs possuem quatro ou nen!um fil!o e
cada fil!o corresponde ao quadrante resultante da di"iso do nH pai e assim
sucessi"amente. #s nHs contem ponteiros para os quadrantes ou nHs fil!os, o dado do
nH e a sua posio no espao bidimensional.
Firgura 3: Exemplo de uma Point Quadtree
2.2 oint !e"ion Quadtrees
As point regionCquadtrees so nada mais que uma regionCquadtree adaptada para
representar pontos onde cada quadrante $ respons&"el pelo arma'enamento de um
ponto. A di"iso $ sempre feita regularmente a medida que os pontos so inseridos,
eassim como nas regionCquadtrees os nHs fol!as sempre possuem nHs brancos ou nHs
pretos que so os que contem dados, sendo que os nHs cin'as se limitam aos nHs
internos.
Firgura 4: Exemplo de uma Point Region Quadtree
3. #D$Trees
Ima BdCtree ou &r"ore B- $ uma estrutura para guardar um con.unto finito de pontos
em um espao multidimensional. BdCtree $ uma &r"ore bin&ria 7Cdimensional com os
planos de di"iso alin!ados aos eixos do sistema de coordenada. Apensar de
multidimensional suas aplicaes se limitam geralmente em &r"ores de G ou J
dimenses. < utili'ada para indexao espacial permitindo operaes como range
searc!, determinao de "i'in!ana, intersees com tri/ngulos, etc. A BdCKree $ uma
&r"ore binaria 0L##R( 2339:.# conteudo de cada nH,
Firgura 5. Exemplo de uma rvore
Kd 3D
3.1 A %nsero
Enserir os pontos )G,J*, )9,M*, )3,N*, )M,O*, )P,2*, )O,G* em uma B-Ctree, no plano
cartesiano esses pontos estariam dispostos conforme a Figura N. # algoritimo procura o
ponto mediano, para todo nH e sub&r"ores garantindo sempre uma &r"ore balanceada.
Qo exemplo acima o nH mediano )O,G* foi inserido na rai' e os pontos seguintes so
inseridos obedecendo suas respecti"as dimenses, por exemplo, EnseriuCse a mediana
)O,G* logo )9,M*, comparaCse a dimenso x onde Rx,A S 9TOU, logo o nH ser& alocado V
esquerda. Enserindo )3,N* o mesmo processo $ reali'ado, R x,A S 3WOU. Enserindo )G,J* o
processo $ um pouco diferente pois temos que obedecer o ponto de discriminao do nH
que agora $ X, R x,A S 3 W OU, segue a sub&r"ore esquerda, agora na dimenso A, R x,A S J
T MU logo a &r"ore ser& alocada V esquerda de )9,M*.
Firgura 6. Plano cartesiano ser
inserido na Kd-Tree

Firgura 7. Plano cartesiano na
KdTree
Firgura 8. A Kd-Tree
Tabela 1. Contedo de um n de uma Kd-Tree
&ome do campo Tipo do campo Descrio
Y (lemento do (spao Y Im ponto do espao Bx
X (lemento do (spao X Im ponto do espao BA
Separador Enteiro (specifica a dimenso de corte
(squerda BdCtree da esquerda Arma'ena a &r"ore B- da esquerda
-ireita BdCtree da direita Arma'ena a &r"ore B- da direita
3.2 A !emoo
@ara remo"er um ponto de uma 7dCtree a maneira mais f&cil $ formar um con.unto de
todos os nHs e fol!as do nH que ser& remo"ido e recriar parte da &r"ore. #utra
aproximao $ encontrar um substituto para o ponto remo"ido. @rimeiro, encontre o nH
R que contem o ponto a ser remo"ido. @ara um caso simples onde R $ uma fol!a, no
necessita ser feito nada. @ara um caso geral, encontre um ponto de subistituio dito p,
na sub&r"ore de R, subistitua R com p e elimine p.
'. ()Trees
A diferena entre 1S@ e B-Ctree esta na forma de insero dos planos de corte, sendo
que esses podem interceptar os eixos em qualqeur /ngulo o que possibilita uma mel!or
adaptao V distribuio espacial dos dados.
1S@)1inarA Space @artioning* $ uma &r"ore bin&ria que di"ide um espao S
recursi"amente em dois subCespaos por meio de um um plano. Sua principal
caracter%stica $ ser a mais gen$ira das &r"ores de particionamento. # ?nico
incon"eniente desta estrutura $ manipulao de planos com orientaes arbitr&rias, o
que pode transformar a deciso de posicionamento dos planos de di"iso uma tarefa
dif%cil 0Ribeiro 2339:. < geralmente aplicada para deteco de colises, "erifica
interseco entre os pontos.
'.1 Construo de uma ()
=ada particionador $ um !iperplano qualquer, com um lado definido como e frente e
outro definido como costas.
Firgura 9. Um espao X de um ponto
de viso Y
Firgura 10. Espao X visto de cima
Firgura 11. BSP tree gerada no
espao X na viso Y
A lista com todas as paredes foi feita a parede = foi escol!ida como di"isora para
di"idir o espao em duas partes )mediana*, as parede que esto na frente de = foram
colocadas em uma lista, c!amada de ZfrenteZ, ou sub&r"ore direita de =, e as que esto
Vs costas de = em outra lista c!amada de ZcostasZ, se a di"iso intersecta qualquer uma
das paredes, no caso acima a parede F di"idiuCse a parede em duas partes, colocando
a parte da parede em frente da parede de di"iso para a lista da frente e por a outra na
lista das costas. # di"isor de parede $ colocado na &r"ore de 1S@. A primeira parede
tornaCse simplesmente a rai' da &r"ore. -epois disso, a parede $ colocada na &r"ore 1S@
para a direita da sua parede pai se na cena a parede est& em frente da parede pai. A
parede $ colocado na &r"ore de 1S@ para a esquerda da parede pai se na cena a parede
est& na parte de tr&s da parede pai.
*.1 !$Tress
A RCKree $ uma &r"ore semel!ante a 1[CKree, sua estrutura $ feita de ponteiros para
ob.etos espaciais dos quais esto arma'enados em suas fol!as, que representam os
dados nas p&ginas do disco. Sua principal caracter%sitica esta na sua estrutura de
ret/ngulos c!amada de L1Rs )Linimum bouding Rectangle ou Ret/ngulo de limite
m%nimo* dois quais organi'am um con.unto de ob.etos espaciais de maneira que eles
possam ser colocados mais prHximos um dos outros para que !a.a uma reduo no
espao de busca a cada n%"el da &r"ore.
=onforme os nHs so inseridos no espao Y os nHs "o sendo preenc!idos, assim que
uma fol!a excede o n?mero m&ximo de fil!os uma no"a fol!a $ criada e no"os L1Rs
so criadas separando os nHs.
Firgura 14: MBRs separando os ns num espao X
@odemos di'er ento que as propriedades de uma RCtree so as mesmas de uma 1[C
Kree, a diferena esta no cuidado que o algor%timo de"e ter para que os L1Rs se.a
traados de maneira com que a altura da &r"ore sempre se.a pequena.
Firgura 12: Dados dispostos em um espao X e uma rvore R-tree
com um n raiz
Firgura 13: rvore R aps MBRs
!e+er,ncias
8. Samet, Spatial data structures, En Lodern -atabase SAstems, K!e #b.ect Lodel,
EnteroperabilitA, and 1eAond, \. Bim, (d., AddisonC\esleA]A=L @ress, 2339, JN2C
JP9.
#>E^(ERA, =leomar L. L., =artas Q&uticas (letr+nicas, #peraes e (struturas de
-ados. 2339. 224p. -issertao )Lestrado em =i;ncias da =omputao* C IQE=AL@,
=ampinas, 233N.
RE1(ER#, Alessandro S. e >A6(S, \allace S., =onstruo (ficiente de BdCtrees para
primiti"as triangulares, IFL6, 2339. ) 6eoprocessamento , Sistemas e K$cnicas C
6(#K(=, @R#K(L _ == *
>IDI( , Rodrigo 6., `r"ores 1S@ SemiCA.ust&"eis . NNp. -issertao ) Lestrado em
=i;ncias da =omputao * C IFR6S, Rio 6rande do Sul, G449.
L##R(, Andrea ZAn introductorA tutorial on 7dCtreesZ, @!-. K!esis, Kec!nical Report
Qo. G43, =omputer >aboratorA, Ini"ersitA of =ambridge, 2332.
^##RS>IXS, 1&rbara >. e ^##RS>IXS, \illiam Duadtree,
!ttp,]]aaa.lcad.icmc.usp.br]bnonato](-]Duadtree]quadtree.!tm, IS@.
=8AR>(X, Lic!i7o )G44G* 1inarA Space @artitioning, 8oa do Aou create a bsp
treec, !ttp,]]ma"en.smit!.edu]bmc!arleA]bsp]createbsptree.!tml

Você também pode gostar