Efficient Visualization of Graphical Objects
PAULA FREDERICK, MARCELO GATTASS, MAURICIO RIGUETTE MEDIANO
TeCGraf – Grupo de Tecnologia em Computac¸ao Grafica, Departamento de Inform´atica, PUC-Rio,Rua Marques de S˜ao Vicente, 225, 22453-900 Rio de Janeiro, RJ, Brasil
paula,gattass,[email protected]
Abstract. The use of appropriate data structures for storing sets of graphical objects can lead to great performanceimprovements in the visualization of large figures, such as maps and CAD drawings. We present here a study on theperformance of persistent data structures composed by an R-tree and V-trees, for storing and efficiently retrieving2D graphical objects. Results are shown to demonstrate the efficiency of the proposed solutions when applied tolarge maps.Keywords: GIS, Metafile, Access Methods.
1 Introduction
Over the last decade, systems which use huge quantitiesof spatial data have been increasingly gaining importance.Examples of such systems can be found in geographic in-formation systems (GIS), CAD/CAM, and others. One ofthe requirements of those systems is to provide efficient vi-sualization of their spatial data, enabling the users to inter-actively visualize all or part of the data, in all scales.
In computer graphics the conventional method fordrawing spatial objects is to treat them as a simple collec-tion of graphical objects stored either in metafiles, linkedlists, or acyclic trees. The visualization process traversesthe file or data structure and for each object the programapplies the appropriate geometric transformation, clips itwith the visualization window, and renders it into the vi-sualization surface. However, as data size and complexitygrow, this process becomes very slow, and new techniquesare required for dealing with this large data volumes. Thefollowing issues have to be considered in the visualizationof large spatial data.
� Memory usage- because of the data size, it is verylikely that the whole data will not fit into the com-puter’s main memory. Thus the need for a secondarystorage memory, which implies in much larger accesstime. Consequently it is important to have a goodmemory management subsystem in order to minimizethe I/O communication.
� Scene clipping- the user will often visualize only partof the data. Thus we can decrease visualization timeby only retrieving the objects that are inside the visu-alization area. Objects that are outside this area shouldbe left untouched in the secondary storage memory.
� Level of detail- when the data visualization scale islarge, the details of the scaled data which are smaller
than the current resolution will not be drawn into thevisualization surface. Therefore, the simplification ofthe graphic objects considering the current drawingresolution leads to performance gains.
Areas where database technologies play an important role,such as GIS and CAD, have long recognized the impor-tance of the first two points. In computer graphics, thesepoints are becoming more relevant, as one wishes to rendercomplex scenes such as terrains, cities, building interiors,molecules, and biological structures as quickly as possible[17, 18].
The third point is treated as cartographic simplifica-tion in digital cartography, and as level of detail in com-puter graphics (see Paul Heckbert’s SIGGRAPH ’97 Lec-ture Note [6] for a good review on the subject).
In this paper we initially restrict our focus to two-dimensional graphical vector objects composed by graph-ical primitives such as polygonal lines, closed polygons,text, and point objects. Two-dimensional objects are of-ten complex either because they are composed of manygraphical primitives or because their primitive has too manypoints. In the first case, complexity can be treated with a hi-erarchical structure based on the bounding box of the prim-itives, and in the second case it can be treated by some linesimplification scheme. Thus, with the use of an adequatedata structure for storing the spatial data, we can expect toobtain considerable performance gains. In this paper we de-scribe the use of a persistent data structure composed by anR-tree [5, 15, 2] and V-trees [11], for storing and efficientlyretrieving 2D spatial data for their visualization.
Spatial objects are either two-dimensional or three-dimensional and can be represented by either vector orraster graphical objects. In this paper we have only con-sidered two-dimensional graphical vector objects; rasterand three-dimensional objects are left for a future work.Our primary goal when developing the techniques pre-
sented here was to visualize large maps. The method pro-posed is, however, directly applicable to any kind of two-dimensional figure.
To test our ideas we have developed the Drops (Draw-ing Objects on Persistent Systems) system, which stores ageneral 2D vector figure in a file, and afterwards retrievesportions of data for visualization. Tests were performedcomparing our scheme with the use of a conventional CGM(ISO Computer Graphics Metafile [8]) driver. Results areshown to support some conclusions.
This paper is structured as follows. The next sectiondescribes how the graphical objects are represented. In thethird section we provide some concepts about spatial accessmethods. In the fourth section we present the persistentstorage subsystem used by Drops. Section five describesthe methods to store and retrieve data. Finally, we describethe experiments done with geographic data, the results andthe conclusions.
2 Graphical Primitives
Two-dimensional graphical objects are represented by aset of primitives, which are like the geometric alphabetof figures. Here these primitives are markers (points),lines, polylines (polygonal lines), filled polygons, rectan-gles, arcs, filled sectors, vector texts, and scalable rastertexts. These are the basic graphical primitives of any 2Dgraphical library, such as Windows GDI or XLib.
In the geometric sense, two-dimensional graphical ob-jects are simpler than 3D objects, but in the description oftheir appearance usually the opposite occurs. Thick polyg-onal lines have joint style, and texts have many typographicattributes.
As usually the attributes of a drawing do not vary asmuch as the geometric descriptions of the primitives do,and the graphical system has basically two approaches todeal with this: (1) current values, and (2) tables (sometimescalled objects). In the current value approach the graphicalsystem stores a set of values for each aspect of the prim-itives, and these primitives are only defined in geometricterms. The color, style, and other appearance attributes aretaken from the current value in the set. Attribute functionsare used to change these values for the forthcoming primi-tives.
In the table approach a given appearance of a type ofprimitive is stored as a record in a table. There are tablesfor each type of attributes: pen tables (line attributes), brushtables (interior style of regions), and text tables. Each prim-itive has a pointer for its attribute in the corresponding table.
The current value approach is simpler to use and yieldsa smaller description of the figure, once the appearance ofmany primitives will be only implicitly defined. It depends,however, on the order in which the primitive occurs in the
figure description’s traversal. This constitutes a problem forspatially indexed graphical objects, as we will discuss laterin this paper.
The line attributes used here are line color, line style,line width, and write mode (replace or xor). The primi-tives affected by this set of attributes are line, polyline, andarc. The area attributes are: foreground color, backgroundcolor, write mode, opacity, and interior style. Dependingon the interior style the primitive may be filled with a stip-ple or a texture. Primitives box, polygon, and sector havethis set of attributes. Finally, the text attributes describetext characteristics. These attributes are: foreground color,background color, write mode, opacity, typeface, style, andsize. As pointed out before, two-dimensional objects canhave a much more detailed description of their appearance,but these attributes are enough to the objectives of this pa-per and can yield figures as complex as the one shown inFigure 1.
260
5448
42AUTOR EDITOR DATA ARQUIVO
AC
AM
RR
AP
PA
MA
PI
CE
RN
PB
PE
AL
SE
BA
TO
MT
MS
GO
MG
ES
RJ
SP
PR
SC
RS
RO
A.I.PAUMARI DO CUNHUA
A.I.LAGO MANISSUAA.I.PAUMARI LAGO PARICA
A.I.BANAWA/IAFIA.I.MARIMAA.I.ZURUAHA
A.I.JARAWARA/JAMAMADI/KANAMATI
A.I.APURINA IG. SAO JOAO
A.I.APURINAI.G.TAUAMIRIM
A.I.TAPAUA
A.I. JUMA
A.I. CAITITU
A.I. S.PEDRODO SEPATINI
A.I.ACIMA
A.I.ALTO SEPATINIA.I.TUMIA
A.I.SEREUINI MARIENEA.I.PENERI/TACAQUIRI
A.I.CAMUCUA
A.I.MACARRAO
A.I.ESTRELA DA PAZ
A.I.MIRATUA.I.JAQUIRI
A.I.MARAJAIA.I.MERIA
A.I.IG. GRANDE
A.I.BARREIRA DA MISSAO
A.I.KOKAMA
A.I.PARANADO PARICA
A.I.MARAA URUBAXI
A.I.LAGO DO AIAPUA
A.I.TERRA VERMELHAA.I.JURUA
A.I.RIO BIA
A.I.PARANA DO BOA-BOA
A.I.UNEIUXI
A.I.SEPOTI
A.I.IPIXUNA
A.I. UATI-PARANA
A.I. TIKUNA DE BETANIA
A.I. IGARAPE PATIA
A.I. TIKUNA VUI-UATA-IN(NOVA ITALIA)
A.I. TIKUNA EVARE II
A.I. TIKUNA DE FEIJOAL
A.I. TIKUNA SAO LEOPOLDOA.I. TIKUNA LAURO SODRE
A.I. TIKUNA SANTO ANTONIO
A.I. TIKUNA BOM INTENTO
A.I. TIKUNA EVARE I
A.I. LAMERAO
A.I. SAO LUIZ RIO NEGRO
A.I. BALAIO
A.I. CUBATEA.I. ICANA RIO NEGRO
A.I. XIEA.I. KURIPACO
A.I. ICANA-AIARIA.I. CUIARI
A.I. MEDIO ICANAA.I. YAUARETE I
A.I. YAUARETE II
A.I. PARI-CACHOEIRA I
A.I. PARI-CACHOEIRA III
A.I. MAKU
A.I. PARI CACHOEIRA II
A.I. TARACUA RIO UAUPES
AREA INDIGENA DO VALE DO JAVARIA.I. KULINA DO MEDIO JUTAI
A.I. KULINA MEDIO JURUA
A.I. KULINA VALE DO JURUA A.I. CACAU DO TARAUACA
A.I. KANAMARI DO JURUAA.I. DENI
A.I. CAMADENI
A.I. AGUA PRETA/IMARI
A.I. IG. CAPANA
A.I. ALTO RIO PURUS
A.I. KULINA (IG. DO PAU)
A.I. KAXINAWA NOVA OLINDA
A.I. MAMOADATE
A.I. CABECEIRA DO RIO ACRE
A.I. KAXINAWA DO RIO JORDAO
A.I. KAMPA DO RIO ENVIRA
A.I. KULINA DO RIO ENVIRAA.I. KAXINAWA DO RIO HUMAITA
A.I. XINANE
A.I. KATUKINA/KAXINAWA
A.I. TIMBAUBA
A.I. KULINA ACURAWA
A.I. KAMPINAS/KATUKINAA.I. LIBERDADE
A.I. RIOZINHO DA LIBERDADE
A.I. JAMINAWA-ARARA
A.I. KAMPA DO RIO AMONEA
A.I. KAXINAWA DO RIO BREU
A.I. PRAIA DO CARAPANA
A.I. RIO GREGORIOA.I. IGARAPE ANJO
A.I. KAXINAWA IG. DO GAUCHOA.I. KAXINAWA COLONIA
A.I. NUKINIA.I. POYANWA
A.I. RECREIO I
A.I. JAMINAWA IG. PRETO
A.I. BOCA DO ACREA.I. KAXARARI
A.I. JACAREUBA/KATAWIXI
A.I. CIRIQUIQUI
A.I. RIBEIRAO
A.I. IGARAPE LAGE
A.I. KARIPUNAA.I. RIO CANDEIAS
A.I. CINTA LARGA (RIO PRETO)A.I. IGARAPE LOURDES
A.I. ARIKEM
A.I. URUBUA.I. KARIPUNA RIO FORMOSO
A.I. URU-EU-WAU-WAUA.I. PAACA NOVAS
A.I. SAGARANA
A.I. JABUTI (QUINTAO)
A.I. POSTO FISCAL
A.I. RIO OCAIA
A.I. RIO GUAPORE
A.I. RIO BRANCOA.I. MIQUELENHOS
A.I. ARUA I (RIO COLORADO)
A.I. MASSACO
A.I. ARUA II (CACH. PAULO SALDANHA)A.I. ARUA III (RIO TEREBITO)
A.I. KARITIANAA.I. ARIKEM (CACH.SERINGAL)
A.I. PIRIRICURA
A.I. ZORO
ARARA DOBEIRADAO
A.I. ARIPUANA
A.I. MACURAP
A.I. SETE DE SETEMBRO
A.I. PAUMELENHOSA.I. PARINTINTINS
A.I. TUBARAO LATUNDE
A.I. ESCONDIDO
A.I. RIO MEQUENS
A.I. TENHARIN/IG. PRETO
A.I. JAPUIRA
A.I. MENKU
A.I. TIRECATINGA
A.I. ENAWENE-NAWE
A.I. NAMBK KWARA
A.I. TAIHANTESU
A.I. PEQUIZALA.I. VALE DO GUAPORE
A.I. JUININHA
A.I. SARARE
A.I. PARESI
A.I. IRANTXE
A.I. UTIARITI
A.I. DO RIO FORMOSO
A.I. ESTIVADINHO
A.I. FIGUEIRAS
A.I. ROOSEVELT
A.I. RIO DOS PEIXES
A.I. APIAKA/KAYABI
A.I. ERIKPATSAP.Q.I. ARIPUANA
A.I. SERRA
A.I. PIRINEUS DE SOUZA
A.I. LAGO GRANDE
A.I. UMUTINA
A.I. SANTANA
A.I. BAKAIRI
A.I. MARECHAL
RONDON
A.I. PARABURE
A.I. AREOES
A.I. PIMENTEL BARBOSA
A.I. SAO MARCOS
A.I. MERUREA.I. SANGRADOURO VOLTA GRANDE
A.I. JARUDORE
A.I. TADARIMANAA.I. TEREZA CRISTINA
A.I. PERIGARA
P.Q.I. DO XINGU
A.I. CAPOTO/JARINA
ESTACAO RONDON
A.I. SAO DOMINGOS
A.I. TAPIRAPE KARAJA
A.I. RIO CURUA
A.I. SAI-CINZA
A.I. MUNDURUCU
A.I. CAMBA
A.I. CACHOEIRINHAA.I. PILA DE REBUA
A.I. TAUNAY/IPEGUE
A.I. LIMAO VERDE
A.I. BURITIA.I. BURITIZINHO
A.I. LALIMA
A.I. NIOAQUE
A.I. SUCURI
A.I. PIRACUA A.I. PANAMBI
A.I. DOURADOS
A.I. PANAMBIZINHO
A.I. CAMPESTREA.I. CERRO MANGARATU
A.I. LIMA CAMPO
A.I. OFAYE-XAVANTE
A.I. ICATU
A.I. VANUIRE
A.I. LARANJINHAA.I. PINHAUZINHO
A.I. BARAO DE ANTONINAA.I. SAO JERONIMOA.I. APUCARANA
A.I. TIBAGY
A.I. ARARIBA
A.I. QUEIMADAS
A.I. FAXINALA.I. IVAI
A.I. MARRECAS
A.I. RIO AREIA
A.I. AVA-GUARANI
A.I. RIO DAS COBRAS
A.I. MANGUEIRINHA
A.I. ILHA DA COTINGA
A.I. RIO DOS PARDOS
A.I. IBIRAMA
A.I. TOLDO IMBU
A.I. PALMASA.I. XAPECO
A.I. TOLDO CHIBANGUE
A.I. PINHAL/NOVA TEUTONIA
A.I. CACIQUE DOBLE
A.I. MORRO DOS CAVALOSA.I. LIGEIRO
A.I. CARRETEIRO
A.I. BORBOLETA
A.I. GUARANI DE
BARRA DO OURO
A.I. JAGUARIZINHO
A.I. INHACORA
A.I. GUARITA
A.I. KAINGANG DE IRAIA.I. RIO DA VARZEA
A.I. NONOAIA.I. VOTOURO
A.I. GUARANI VOTOURO
A.I. IBICUI
A.I. IMBAA
A.I. IRAPUA
A.I. TAPES
A.I. PACHECA
A.I. CANTA GALO
A.I. CAPIVARI
A.I. PAI RAIMUNDO
A.I. SAMAUMA
A.I. ILHA JACARE E XIPACA
A.I. JATUARANAA.I. IG.CARIOCA
A.I. IG.PATAUA
A.I. ILHA DO CAMALEAOA.I. LAGO BERURI
A.I. TORA
A.I. RIO MANICORE
A.I. NOVE DE JANEIROA.I. PIRAHA
A.I. SAPUCAIA
A.I. ONCAA.I. TOBOCAL
A.I. CUNHA
A.I. JUMAS
A.I. MARINHEIROA.I. BOA VISTA
A.I. GAVIAO
A.I. NATAL/FELICIDADEA.I. RECREIO/SAO FELIX
A.I. MURUTINGAA.I. TRACAJA
A.I. GUAPENUA.I. CUIA
A.I. ITAITINGAA.I. PARACUHUBAA.I. PADRE
AUTAZES
A.I. MIGUEL
A.I. PIRANHASA.I. COATA/LARANJAL
A.I. CAPIVARA
A.I. TRINCHEIRAA.I. SAO PEDRO
A.I. TAIORE
A.I. TENHARINTRANZAMAZONICA
A.I. CAYABI
A.I. CAYABI (Gleba sul)
A.I. PRAIA DO INDIO
A.I. BARREIRA DO CAMPO A.I. XICRIN DO RIO CATETE
A.I. SORORO
A.I. APINAYE
A.I. KRIKATI
A.I. MORRO BRANCO
A.I. PORQUINHOSA.I. BACURIZINHO
A.I. KANELA
A.I. RODEADOR
A.I. KRAOLANDIA
A.I. XERENTE
A.I. FUNIL
A.I. MARAMANDUBA
A.I. KARAJA SANTANA DO ARAGUAIA
A.I. KAIAPO
A.I. BAU
A.I. MENKRAGNOTI
P.Q.I DO ARAGUAIA
A.I. BOTO VELHO
A.I. IBOTIRAMA (FAZ. MORRINHOS)A.I. BARRA
A.I. AVA-CANOEIRO
A.I. KARAJA/ARUANA
A.I. CARRETAO A.I. XAKRIABA
A.I. CACHOEIRA SECA
A.I. ARARA URUCAGMA
A.I. PAQUICAMBA
A.I. ARARA II
A.I. KARARAOA.I. TRINCHEIRA BACAJA
A.I. KOATINEMO
A.I. BACAJA
A.I. APYTEREWA
A.I. ARAWETEA.I. PARAKANA A.I. MAE MARIA
A.I. MANAYESA.I. TROCARA
A.I. MANAMBE A.I. TEMBE
C.I. TURE MARIQUITA
A.I. ALTO RIO GUAMA
A.I. ALTO TURIACU
A.I. AWA
A.I. PINDARE
A.I. CARU
A.I. ARARIBOIA
A.I. GERALDA/TOCO PRETO
A.I. URUCU JURUA
A.I. LAGOA COMPRIDA
A.I. CANABRAVA E GUAJAJARA
A.I. GOVERNADOR
A.I. XAMBIOA
A.I. TREMEMBE
A.I. TAPEBA
A.I. POTIGUARA
A.I. JACARE DESAO DOMINGOS
A.I. ATIKUM
A.I. TRUKA
A.I. KAMBIWA A.I. KAPINAWA
A.I. XUCURU
A.I. WASSU-COCAL
A.I. NOVA RODELAS(RIACHO DO BENTO)
A.I.PANKARARUBREJO DO BURGO
A.I. PANKARARE
A.I. MASSACARA
A.I. KIRIRI
A.I. CAICARAA.I. XOCO DA ILHA DE SAO PEDRO
A.I. JERIPANCOH
A.I. MATA DA CAFURNA
A.I. FAZENDA DO CANTO
A.I. XUCURU/KARIRI
A.I. CARAPOTO
A.I. TINGUI-BOTOA.I. KARIRI-XOCO
A.I. JUMINA
A.I. GALIBI
A.I. UACA
PARQUE INDIGENA
DO TUCUMAQUE
A.I. RIO PARU DE ESTE
A.I. CUMINAPANEMA/URUCURIANA
A.I. WAIAPI RIO IPITINGA
A.I. WAIAPI
A.I. SAO SEBASTIAO
A.I. CACHORRO/CACHORRINHO
A.I. NHAMUNDA/MAPUERA
A.I. TROMBETA/MAPUERA
A.I. WAIMIRI/ATROARI
A.I. WAI-WAI
A.I. JACAMIM
A.I. MALACACHETA
A.I. TABA LASCADA
A.I. CANAUANIM
TERRA INDIGENAYANOMAMI
A.I. RECANTO DA SAUDADE
A.I. MANOA PIUM
A.I. MURIRUHA.I. JABOTI
A.I. BOM JESUS
A.I. RAPOSASERRA DO SOL
A.I. XUNUNUETAMU
A.I. INGARIKO
A.I. MANGUEIRAA.I. BOQUEIRAO
A.I. ANNGAL
RAIMUNDAOA.I. SUCUBA
A.I. ANTAA.I. ARACA
A.I. CAJUEIRO
A.I. ANANASA.I. SANTA INES
A.I. BOM JESUSA.I. BARATA/LIVRAMENTO
A.I. SERRA DA MOCAA.I. OURO
A.I. PONTA DA SERRA
A.I. SAO MARCOS
A.I. ANDIRA/MARAU
A.I. SERRA DO ITATINS
A.I. PERUIBES
A.I. GUARANI DA BARRAGEMA.I. RIO BRANCO
A.I. GUARANI DO KRUCUTU
A.I. JARAGUA
A.I. GUARANI DO
RIBEIRAO VIEIRA
A.I. BOA VISTA DO SERRAO DO PROMIRIM
A.I. GUARANI-ALDEIA ARAPONGA/PATRIMONIO
A.I. GUARANI-BRACUI
A.I. CAEIRAS VELHAA.I. PAU BRASIL
A.I. COMBOIOS
A.I. KRENAK
A.I. FAZENDA GUARANI
A.I. MAXACALI
A.I. PRADINHO
A.I. GERIPACO
A.I. LUIZA DO VALE
A.I. AGUAS BELASA.I. BARRA VELHA
A.I. IMBIRIBA
A.I. COROA VERMELHA
A.I. MATA MEDONHA
A.I. CARAMURU/PARAGUASSU
A.I. FAZ. BAHIANA
A.I. VARGEM ALEGRE
SITUACAO DAS AREAS
A IDENTIFICAR
IDENTIFICADA
DEMARCADA
REGULARIZADA
INDIGENAS
,
LOCALIZACAO DAS AREAS INDIGENAS,
Adelino Set/92 i153.MP473
Esc 1:5.500.000
A.I. KADIWEUS
A.I. ALDEINHAA.I. IGUAICURU
A.I. CAARAPOA.I. RANCHO JACARE
A.I. GUAIMBE
A.I. GUASUTIA.I. TAGUAPERI
A.I. AMAMBAI
A.I. AMAMBAI (ALDEIA LIMAO VERDE)A.I. SETE CERROS
A.I. JAGUAPIRE
A.I. SASSORO
A.I. TAKUARATY/YVYKUARUSU
A.I. PIRAJUIA.I. CERRITO
A.I. PORTO LINDO
A.I. JARARAA.I. JAGUARI
DF
A.I. AGUA LIMPA
A.I. RIO MERURE
OCEANO ATLANTICO
PASSO FUNDO
PORTO ALEGRE
FLORIANOPOLIS
CHAPECO
GUARAPUAVA CURITIBA
LONDRINA
BAURU
AMAMBAI
BELO HORIZONTE
GOV. VALADARES
GOIANIA
EUNAPOLIS
RONDONOPOLIS
BARRA DO GARCAS
CUIABA
RIO BRANCO
PORTO VELHOBOCA DO ACRE
FEIJO
CRUZEIRO DO SUL
EIRUNEPE
BENJAMIN CONSTANT
ATALAIA DO NORTE
HUMAITA
TABATINGA
BOA VISTA
PARINTINS
MANAUS
ITAITUBA
REDENCAO
ARAGUAIANA
MACAPA
ALTAMIRA
BELEM
MARABA
SAO LUIS
IMPERATRIZ
BARRA DO CORDA
OIAPOQUE
FORTALEZA
NATAL
JOAO PESSOA
RECIFE
GARANHUNS
PAULO AFONSOMACEIO
ARACAJU
STA. INES
GURUPI
SAO FELIXADR: ARAGUAIA
TANGARA DA SERRA
VILHENA
LABREA
GUAJARA-MIRIM
CACOAL
LEGENDA
A.I. - AREA INDIGENA
PQI - PARQUE INDIGENA
- ADMINISTRACAO REGIONAL,
VITORIA
RIO DE JANEIRO
FONTE: FUNDACAO NACIONAL DO INDIO - FUNAI AGO/92,-
Figure 1: Indian Areas in Brazil
3 Spatial Access Methods
Several works in the field of spatial access methods wereproposed over the last years: Z-order [13] transforms pointsfrom n-dimensional space into points in one-dimensionalspace, subsequently indexing them using B-trees; R-trees[5, 15, 2] and Grid-files [12] index points and rectangles,bringing each spatial object closer to its bounding box, and,when the bounding box is not enough to solve a spatial op-eration, recovering the object’s complete geometry.
Two access methods were proposed to index the com-plete geometry of spatial objects: TR-tree [14, 3], and theV-tree family [11]. The TR-tree indexes a region by means
of a set of trapezoids stored in an R-tree, in which theregion’s holes are already represented. The V-tree fam-ily indexes polygonal lines forming the borders of spatialobjects, optimizing geometrical and multiresolution opera-tions.
Strip-tree [1] and Arc-tree [4] are binary trees whichstore the geometry of polygonal lines, and optimize geo-metrical and multiresolution operations. The V-trees canbe seen as variants of Strip-tree and Arc-tree adequate forstoring and manipulating large amounts of vector data in apersistent environment.
4 Persistence
We have used the persistent-object storage subsystem OPS[10]. This system provides an extensible and configurablemodel through which it is possible to model, implement,and combine different database technologies to provide newcapabilities or to obtain performance improvements.
OPS is based on four abstractions: persistent object,object data area, object manager, and media. The OPS sub-system is used to allocate persistent memory, through themedia and the object manager, to check in and check outgraphic primitives, attribute tables, and R-tree and V-treenodes. It also manages a buffer layer that maintains in pri-mary memory the recently used object data areas.
5 Drops
The Drops persistent-object manager is the OPS subsystem.It is responsible for handling all the data access made tothe secondary storage media. The purpose of its utilizationis to minimize of the I/O communication, archived by thememory usage management.
The proposed data structure used by Drops for storinglarge sets of 2D graphical objects is formed by a composi-tion of a few spatial access methods. Its primary structureis the R-tree [5]. It has the function of spatially indexing thewhole object set, enabling the user to retrieve only the ob-jects whose bounding boxes intersect or are inside a givenrectangular area. Given the static nature of the drawingswe use here a variant of the R-tree called Hilbert PackedR-tree [9].
The remaining access methods, which also form thedata structure, are used just for storing complex graphi-cal objects. They store these objects in a multiresolutionscheme in order to enable the retrieval of a simplified ver-sion of the object. There is a specific access method foreach kind of object. In the case of vector objects, onlythe polylines and the filled polygons are usually complex.When these objects types are complex, Drops stores themin V-trees [11], which index their geometry.
Multiresolution can also be provided by R-trees. How-ever, the R-tree multiresolution is a bit different: rather than
approximating the object itself it just approximates an en-tire subset of objects by its bounding box. In order to addthis functionality into the R-tree, we have added a colorfield to each entry of the tree nodes with the purpose ofstoring the appearance description of the object subset con-tained in the entry’s sub-tree. This additional field formstogether with the entry’s bounding box a filled rectanglewhich is the simplified scheme of the corresponding sub-set. During the region query, the sub-trees whose boundingboxes fit inside a small given region (for example, a pixel)are not visited. For the appearance description we used justthe color which is an essential attribute, but the inclusion ofmore attributes is trivial. Also for simplicity, we pick thecolor of one of the objects in the subset to fill the rectangle.
For the visualization process Drops enables the twomultiresolution methods to be turned on and off. Noticethat, if the V-trees multiresolution is never turned on, theuse of V-trees for storing the data will be completely un-necessary.
Since Drops does not store the objects in a sequentialmanner, the original order of the objects is lost when thedata is converted from a sequential format. However, inthe cases in which object overlapping occurs, the order inwhich the objects are drawn affects the resulting image, asis shown in Figure 2.
There are two strategies listed in the litarature to solvethe object overlap problem. The first is based on the R+-tree [15] and uses clipping to avoid this problem. Thesecond strategy is based on multilayer techniques [16, 7].Drops provides two solutions to this problem: object order-ing, and layers.
In the first case, each object receives a counter valueindicating its original order. This counter is stored togetherwith the object pointer. When the data is read, first onlythe object counters and pointers are retrieved. Then theyare sorted, according to their original order, with theQuickSort algorithm. Afterwards the entire object descriptionsare retrieved.
The second solution consists on the use of several lay-ers for storing the objects. The data set is divided into lay-ers of disjoint objects, thus when the layer order is kept theobjects will be drawn correctly. Drops treats this conceptby using one R-tree for each layer, however there are someaccess methods which already treats these concepts. Themain advantage of this solution is that there is no need tosort a huge amount of data. However, the application willhave to correctly separate the data into a small number oflayers, which sometimes can be impossible.
Concerning the object attributes it is important to no-tice that the current value approach cannot be used by Dropsbecause it does not store the objects sequentially. In orderto save space, we use the table approach to store a referenceto the attributes instead of storing the attributes themselves
A.I. INGARIKO
A.I. RAPOSASERRA DO SOL
A.I. JUMINAA.I. XUNUNUETAMU
A.I. ANANASA.I. SANTA INES
A.I. SAO MARCOS
OIAPOQUE
A.I. ANNGAL
A.I. MANGUEIRAA.I. MURIRUH
A.I. ANTAA.I. ARACA
A.I. CAJUEIRO
A.I. SERRA DA MOCAA.I. OURO
A.I. PONTA DA SERRA
MACAPA
A.I. WAI-WAI
A.I. WAIMIRI/ATROARI
A.I. TROMBETA/MAPUERA
A.I. SAMAUMA
A.I. PAI RAIMUNDO
A.I. NHAMUNDA/MAPUERA
A.I. CACHORRO/CACHORRINHO
A.I. CUMINAPANEMA/URUCURIANA
TERRA INDIGENAYANOMAMI
A.I. BOM JESUSA.I. BARATA/LIVRAMENTO
BOA VISTA
A.I. ILHA JACARE E XIPACA
A.I. SAO LUIZ RIO NEGRO
A.I. TARACUA RIO UAUPES
A.I. ALTO RIO GUAMA
BELEM
A.I. PAQUICAMBA
A.I. ARARA IIALTAMIRA
A.I. ARARA URUCAGMA
A.I. MANAMBEA.I. TEMBE
C.I. TURE MARIQUITA
A.I. ALTO TURIACU
A.I. AWA
A.I. TREMEMBE
SAO LUIS
A.I. PARI-CACHOEIRA III
A.I.TERRA VERMELHA
A.I.LAGO DO AIAPUAA.I. SAPUCAIA
A.I. ONCA
A.I. TOBOCALA.I. LAGO BERURI A.I. TAIORE
A.I. COATA/LARANJALA.I. PIRANHASA.I.JURUA A.I. KARARAO
A.I. TRINCHEIRA BACAJA
TABATINGA ITAITUBA
A.I. BALAIO
A.I. CUBATEA.I. ICANA RIO NEGRO
RRAP
A.I. XIEA.I. KURIPACO
A.I. MEDIO ICANAA.I. YAUARETE I
A.I. YAUARETE II
A.I. PARI-CACHOEIRA I
A.I. MAKU
A.I. PARACUHUBAA.I. ITAITINGA
A.I. GAVIAO A.I. CUIAA.I. CAPIVARA
A.I. TRINCHEIRAA.I. ANDIRA/MARAU
A.I. TIKUNA EVARE II
A.I. TIKUNA DE FEIJOAL
A.I. TIKUNA EVARE I
A.I. IGARAPE PATIAA.I.IG. GRANDE
A.I.KOKAMA
A.I.BARREIRA DA MISSAO PA
A.I. CARU
A.I. PARI CACHOEIRA II
A.I. JATUARANA
A.I. IG.PATAUA
A.I. IG.CARIOCA
A.I. PINDAREA.I. ILHA DO CAMALEAO A.I. MANAYESA.I. SAO PEDRO A.I. KOATINEMOA.I. TROCARAA.I. PADRE
A.I. LAMERAO AUTAZESA.I. MIGUEL
A.I. CACHOEIRA SECA
A.I. TAPEBA FORTALEZASTA. INES
PARQUE INDIGENA
DO TUCUMAQUE
A.I. RIO PARU DE ESTE
A.I. WAIAPI
A.I. SAO SEBASTIAO
A.I. GALIBI
A.I. UACA
A.I. JABOTI
A.I. BOM JESUSA.I. BOQUEIRAO
A.I. CUIARI
A.I. ICANA-AIARI A.I. MALACACHETA
A.I. TABA LASCADAA.I. JACAMIM
A.I. CANAUANIM
A.I. WAIAPI RIO IPITINGA
A.I. RECANTO DA SAUDADE
A.I. MANOA PIUMRAIMUNDAOA.I. SUCUBA
A.I.MACARRAO A.I.MIRATU A.I. TRACAJAMANAUS A.I. MURUTINGA
A.I. GUAPENUA.I. JUMAS
A.I. MARINHEIROA.I. BOA VISTA
A.I. NATAL/FELICIDADEA.I. RECREIO/SAO FELIX
PARINTINS
A.I. KULINA DO RIO ENVIRA
A.I. KAMPA DO RIO ENVIRA
A.I. KAXINAWA DO RIO HUMAITA
A.I. PRAIA DO CARAPANA
SITUACAO DAS AREAS
A IDENTIFICAR
IDENTIFICADA
DEMARCADA
REGULARIZADA
INDIGENAS
,
LEGENDA
A.I. - AREA INDIGENA
PQI - PARQUE INDIGENA
- ADMINISTRACAO REGIONAL,
A.I. XINANE
A.I. KULINA (IG. DO PAU)
A.I. MAMOADATE
A.I. CABECEIRA DO RIO ACRE
A.I. JAMINAWA-ARARA
FEIJO
AREA INDIGENA DO VALE DO JAVARI
A.I. KAMPINAS/KATUKINA
A.I. LIBERDADE
A.I. KULINA ACURAWA
A.I. RIO GREGORIO
A.I. TIMBAUBA
A.I. IGARAPE ANJO
A.I. KAXINAWA IG. DO GAUCHOA.I. KAXINAWA COLONIA
A.I. NUKINI A.I. KULINA VALE DO JURUAA.I. POYANWA
A.I. KULINA MEDIO JURUA
A.I. CACAU DO TARAUACA
A.I. KANAMARI DO JURUA
A.I. KULINA DO MEDIO JUTAI
A.I. DENIEIRUNEPE
BENJAMIN CONSTANTATALAIA DO NORTE
A.I. ALTO RIO PURUS
A.I. KAXINAWA NOVA OLINDA
A.I. IG. CAPANA
A.I. KATUKINA/KAXINAWA
A.I. AGUA PRETA/IMARI
RIO BRANCO
A.I. BOCA DO ACREA.I. KAXARARI
A.I. CIRIQUIQUI
A.I. KARITIANA
PORTO VELHOBOCA DO ACRE
A.I. SAGARANA
A.I. JABUTI (QUINTAO)
A.I. POSTO FISCAL
A.I. PAACA NOVASA.I. URU-EU-WAU-WAU
A.I. KARIPUNA RIO FORMOSO
A.I. IGARAPE LAGE
A.I. RIBEIRAO
A.I. KARIPUNAA.I. RIO CANDEIAS
A.I. CINTA LARGA (RIO PRETO)
A.I. RIO OCAIA
A.I. RIO GUAPOREA.I. RIO BRANCO
A.I. MIQUELENHOS
A.I. ARUA I (RIO COLORADO)A.I. ARUA II (CACH. PAULO SALDANHA)
A.I. ARUA III (RIO TEREBITO)
GUAJARA-MIRIM
HUMAITA
A.I. NOVE DE JANEIROA.I. CAMADENI
A.I. JACAREUBA/KATAWIXI
A.I. ARIKEM (CACH.SERINGAL)
A.I. PIRIRICURA
A.I. TENHARIN/IG. PRETO
LABREA
A.I. IGARAPE LOURDESA.I. ARIKEM
A.I. URUBU
A.I. ZORO
A.I. SETE DE SETEMBRO
A.I. MACURAP
A.I. MASSACO
ARARA DOBEIRADAO
A.I. ARIPUANA
VILHENA
CACOAL
A.I. VALE DO GUAPORE
A.I. TUBARAO LATUNDE
A.I. RIO MEQUENS
A.I. PARINTINTINSA.I. ROOSEVELT
A.I. PEQUIZALA.I. TAIHANTESU
A.I. JUININHA
A.I. SARARE
A.I. PAUMELENHOS
A.I. NAMBK KWARA
P.Q.I. ARIPUANA
A.I. PIRINEUS DE SOUZA
A.I. PARESI
A.I. FIGUEIRAS
A.I. MENKU
A.I. TIRECATINGA
A.I. IRANTXE
A.I. UTIARITI
A.I. DO RIO FORMOSO
A.I. ESTIVADINHO
A.I. LAGO GRANDE
TANGARA DA SERRA
A.I. ALDEINHAA.I. IGUAICURU
A.I. NIOAQUE
A.I. CAARAPO
A.I. GUAIMBE
A.I. AGUA LIMPA
A.I. JAGUAPIRE
A.I. SASSORO
A.I. JARARA
A.I. JAGUARIAMAMBAI
A.I. SERRA DO ITATINSA.I. PERUIBES
A.I. GUARANI DA BARRAGEMA.I. RIO BRANCO
A.I. GUARANI DO KRUCUTUA.I. JARAGUA
RIBEIRAO VIEIRA
A.I. CERRITO
A.I. PORTO LINDO
LONDRINA
BAURU
A.I. SAO DOMINGOS
A.I. TAPIRAPE KARAJA
A.I. PIMENTEL BARBOSA
A.I. AREOES
A.I. SAO MARCOS
A.I. MERURE
DF
GOIANIA
BARRA DO GARCAS
BARRA DO CORDA
GURUPI
SAO FELIXADR: ARAGUAIA
A.I. LALIMA
A.I. CAMBA
A.I. CACHOEIRINHAA.I. PILA DE REBUAA.I. TAUNAY/IPEGUE
A.I. UMUTINA
A.I. SANGRADOURO VOLTA GRANDE
A.I. TEREZA CRISTINAA.I. PERIGARA
A.I. LIMAO VERDEA.I. KADIWEUS
RONDONOPOLIS
CUIABA
A.I. VARGEM ALEGRE
A.I. LUIZA DO VALE
A.I. FAZENDA GUARANI
A.I. GUARANI-ALDEIA ARAPONGA/PATRIMONIOA.I. BOA VISTA DO SERRAO DO PROMIRIM
A.I. GUARANI DO
A.I. COMBOIOSA.I. PAU BRASIL
A.I. CAEIRAS VELHA
A.I. GUARANI-BRACUI
A.I. KRENAK
A.I. MAXACALIA.I. PRADINHO
A.I. CARAMURU/PARAGUASSU
A.I. FAZ. BAHIANA
BELO HORIZONTE
GOV. VALADARES
VITORIA
RIO DE JANEIROA.I. AMAMBAI (ALDEIA LIMAO VERDE)
A.I. AMAMBAIA.I. TAGUAPERI
A.I. GUASUTIA.I. LIMA CAMPO
A.I. RANCHO JACARE
A.I. SETE CERROS
A.I. TAKUARATY/YVYKUARUSUA.I. PIRAJUI
PASSO FUNDO
PORTO ALEGRE
FLORIANOPOLIS
CHAPECO
GUARAPUAVA CURITIBA
Esc 1:5.500.000
,LOCALIZACAO DAS AREAS INDIGENAS
OCEANO ATLANTI
A.I. MATA MEDONHA
A.I. COROA VERMELHAA.I. IMBIRIBA
A.I. BARRA VELHA
A.I. AGUAS BELASA.I. GERIPACO
EUNAPOLIS
GARANHUNS
PAULO AFONSO
ARACAJU
FONTE: FUNDACAO NACIONAL DO INDIO - FUNAI,
A.I. KAXINAWA DO RIO JORDAO
A.I. RIOZINHO DA LIBERDADE
A.I. KAMPA DO RIO AMONEA
A.I. KAXINAWA DO RIO BREU
A.I. RECREIO I
A.I. JAMINAWA IG. PRETO
CRUZEIRO DO SUL
260
Adelino Set/92 i153.MP473
NATAL
JOAO PESSOA
RECIFE
MACEIO
AGO/92-
42
4854
PI PB
AL
GO
AC
RO
A.I.IPIXUNA
A.I.SEPOTI
A.I.UNEIUXI
A.I.PARANA DO BOA-BOA
A.I.TUMIAA.I.ALTO SEPATINIDO SEPATINIA.I. S.PEDRO
A.I. CAITITU
MT
A.I. JUMAA.I.ACIMA
A.I.SEREUINI MARIENEA.I.PENERI/TACAQUIRI
A.I.CAMUCUA
MA
CE
RNA.I.LAGO MANISSUAA.I.JARAWARA/JAMAMADI/KANAMATI
SE
PE
BATO
A.I. TIKUNA SANTO ANTONIO
A.I. TIKUNA BOM INTENTO
A.I. TIKUNA DE BETANIA
A.I. UATI-PARANA
A.I.ESTRELA DA PAZ
A.I.MERIA
A.I.JAQUIRIA.I.MARAJAI
A.I.PARANADO PARICA
A.I.MARAA URUBAXI
A.I.PAUMARI DO CUNHUAA.I.PAUMARI LAGO PARICA
A.I.BANAWA/IAFIA.I.MARIMAA.I.ZURUAHA
A.I.APURINA IG. SAO JOAO
A.I.APURINAI.G.TAUAMIRIM
A.I.TAPAUA
AMA.I.RIO BIAA.I. TIKUNA LAURO SODRE
A.I. TIKUNA SAO LEOPOLDO
A.I. TIKUNA VUI-UATA-IN(NOVA ITALIA)
A.I. IRAPUA
BARRA DO OUROA.I. GUARANI DE
A.I. BORBOLETA
A.I. CARRETEIRO
A.I. LIGEIRO
ARQUIVODATAEDITOR AUTOR
A.I. CACIQUE DOBLE
A.I. CANTA GALO
A.I. CAPIVARI
ES
RJ
A.I. ILHA DA COTINGA
A.I. ARARIBA
A.I. IBIRAMA
A.I. MORRO DOS CAVALOS
A.I. XERENTE
A.I. FUNIL
A.I. KARAJA SANTANA DO ARAGUAIA
A.I. BOTO VELHO
A.I. IBOTIRAMA (FAZ. MORRINHOS)A.I. BARRA
A.I. AVA-CANOEIRO
A.I. CARRETAO A.I. XAKRIABA
A.I. BURITI
A.I. BURITIZINHO
A.I. DOURADOS
SP
MS
MG
A.I. SUCURIA.I. PIRACUA
A.I. CAMPESTREA.I. CERRO MANGARATU
P.Q.I DO ARAGUAIA
A.I. KARAJA/ARUANA
A.I. BAKAIRI
A.I. SANTANA
ESTACAO RONDON
A.I. RIO DOS PEIXES
A.I. SERRA
A.I. APIAKA/KAYABIA.I. ERIKPATSA
A.I. ENAWENE-NAWE
A.I. RIO CURUA
A.I. TADARIMANA
A.I. PANAMBIZINHO
A.I. PANAMBI
A.I. JARUDORE
P.Q.I. DO XINGU
A.I. MARECHALRONDON
A.I. PARABURE
RS
A.I. CAPOTO/JARINA
A.I. TOLDO CHIBANGUEA.I. XAPECO
A.I. PALMAS
A.I. TOLDO IMBU
A.I. JAGUARIZINHO
A.I. INHACORA
A.I. GUARITA
A.I. KAINGANG DE IRAI
A.I. RIO DA VARZEA
A.I. IBICUI
A.I. IMBAA
A.I. TAPES
A.I. PACHECA
A.I. ICATU
A.I. VANUIRE
A.I. LARANJINHAA.I. PINHAUZINHO
A.I. IVAI
A.I. MARRECAS
A.I. FAXINAL
A.I. RIO AREIA
A.I. RIO DOS PARDOS
A.I. QUEIMADAS
SC
A.I. SAO JERONIMOA.I. TIBAGY
A.I. BARAO DE ANTONINAA.I. APUCARANA
PR
A.I. OFAYE-XAVANTE
A.I. AVA-GUARANI
A.I. RIO DAS COBRAS
A.I. MANGUEIRINHA
A.I. PINHAL/NOVA TEUTONIA
A.I. NONOAIA.I. VOTOUROA.I. GUARANI VOTOURO
A.I. TINGUI-BOTOA.I. KARIRI-XOCO
A.I. XUCURU/KARIRI
A.I. XUCURU
A.I. KAPINAWA
A.I. WASSU-COCALA.I. JERIPANCOH
A.I. CARAPOTO
A.I. CAICARA
A.I. JACARE DE
A.I. POTIGUARA
A.I. KAMBIWA
A.I.PANKARARU
BREJO DO BURGOA.I. PANKARARE
A.I. KIRIRI
A.I. XOCO DA ILHA DE SAO PEDRO
A.I. MATA DA CAFURNAA.I. FAZENDA DO CANTO
A.I. KANELA
A.I. RODEADOR
A.I. PORQUINHOS
(RIACHO DO BENTO)A.I. NOVA RODELAS
A.I. MASSACARA
A.I. ARARIBOIA
A.I. URUCU JURUAA.I. MAE MARIAA.I. PARAKANAA.I. GERALDA/TOCO PRETOA.I. LAGOA COMPRIDA
A.I. XICRIN DO RIO CATETE
A.I. SORORO
A.I. APINAYE
A.I. KRIKATI
A.I. MORRO BRANCO
A.I. BACURIZINHO
A.I. KRAOLANDIAA.I. MARAMANDUBA
A.I. BACAJA
A.I. CANABRAVA E GUAJAJARA
A.I. GOVERNADOR
A.I. XAMBIOA
A.I. BARREIRA DO CAMPO
A.I. KAIAPOA.I. BAU
A.I. MENKRAGNOTI
A.I. APYTEREWA
A.I. ARAWETE
REDENCAO
ARAGUAIANA
MARABA
IMPERATRIZ
A.I. JAPUIRA
A.I. ESCONDIDO
A.I. CAYABI
A.I. MUNDURUCU
A.I. SAI-CINZA
A.I. CAYABI (Gleba sul)
A.I. RIO MERURE
A.I. PRAIA DO INDIOA.I. CUNHA
A.I. TORA
A.I. RIO MANICORE
A.I. PIRAHA
A.I. TENHARINTRANZAMAZONICA
A.I. TRUKAA.I. ATIKUM
SAO DOMINGOS
Figure 2: This is the same map from Figure 1, but the prim-itives were drawn in the order in which they were retrievedfrom the R-tree.
with the objects’ geometry. Furthermore, we implementedan algorithm based on hash files to store uniquely each at-tribute value in the attribute table. That is, the same set ofattributes will never be stored more than once in the file,thus yielding small attribute tables.
6 Experiments
For testing the performance of our method we have de-signed two sets of experiments. The first one aims at test-ing the clipping capability; To archieve that, we zoom inthe data several times. The second set seeks to test the mul-tiresolution feature of our approach.
For all the experiments we had to define which partof the figure (window) would be shown in the visualizationsurface. To avoid window system interference in our mea-surements the visualization surface chosen was a file in theCGM format. For comparison with conventional vector fileformat we have also tested the use of the CGM file to pro-duce the same picture. That is, we read and write the sameCGM file.
6.1 Data
The experiments were performed with four different carto-graphic data, which are illustrated in Figures 1, 3, 4, and 5.In Table 1 we list some characteristics of these data. Theorder of the tree-shaped data structures used by Drops forstoring the experimental data sets were of(20; 50) for theR-trees and of(5; 10) for the V-trees.
Figure 3: Municipal Districts of Brazil
Looking at Table 1 we can make some important ob-servations. The last three data sets, which are the MunicipalDistricts, the Asian Continent, and the Madureira Build-ings, are large in size. However, in terms of diversity ofattribute and primitive types they are very simple, beingcomposed just of black polylines or polygons. On the otherhand, the map in Figure 1 is small, but it has many types ofattributes and primitives. It is also important to notice thatthe Madureira Buildings data set has a very small averageof vertices per polygon.
As far as the size of the files is concerned, note thatin the CGM file format used here the point coordinates arestored in a short integer type that uses only 2 bytes. Ourformat stores the same data in a 32-bit floating point, thusallowing greater precision.
From Table 1, we can observe that the size of our for-mat is more than twice as large as the CGM file. The mainreason for this difference is the extra memory required forstoring the R-tree and V-tree data structures. Note, how-ever, that our scheme uses secondary memory, and the mainfocus here is to obtain fast visualization time.
6.2 Results
Zoom in these experiments was performed by incremen-tally scaling the data by a factor of 1.1, and displaying themon a viewing area of dimensions700 � 500. This way,the part of the data that is visible becomes smaller at eachstep. Each experiment was computed two times, one order-ing and the other without ordering the graphical primitives.In Figures 6, 7, 8, and 9 we plot the elapsed time versus thepercentage of the viewing area being displayed.
Figure 4: Asia
(a) Complete Data (b) Zoom over a small area of the data
Figure 5: Madureira Buildings
Number Average of Number Size (Kb)Data of Vertices of CGM Drops Drops
Objects per Polygonal Attributes without V-trees with V-treesIndian Areas 2243 111 31 829 1400 2060
Municipal Districts 16596 43 1 3025 6220 10884Asia 9533 108 1 4174 8412 12840
Madureira Buildings 63062 8 1 2858 6264 9452
Table 1: Data Characteristics
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops without sort
Drops with sort
Figure 6: Result of the scaling experiments on the IndianAreas Map.
0
0.5
1
1.5
2
2.5
3
3.5
4
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops without sort
Drops with sort
Figure 7: Result of the scaling experiments on the Munici-pal Districts Map.
Through the graphs shown in Figures 6, 7, 8, and 9we notice that the ordering of the primitives, required tomaintain the original overlap order of the objects, does notsignificantly affect the drawing’s efficiency. As the win-dow size decreases (greater zoom) the use of our strategybecomes more relevant. Furthermore, when drawing theentire figure, the Drops system does not worsen the displaytime. The visualization time of the CGM file remains con-stant regardless of the fact that just a small part of the datais visible. It is also important to notice that the size of thedata did not considerably affect the results.
The second set of experiments aims at testing the pro-posed multiresolution scheme. In all examples shown be-low we have drawn a window containing all the data. Justlike in the previous examples, we have also used here aCGM file for our display surface to avoid window systeminterference. Multi-resolution, however, has more meaning
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops without sort
Drops with sort
Figure 8: Result of the scaling experiments on the AsiaMap.
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops without sort
Drops with sort
Figure 9: Result of the scaling experiments on theMadureira Buildings.
if the display surface has a pixel size. To determine thepixel size in the example shown below we have considereda canvas with a resolution of700� 500.
Figures 10, 11, 12, and 13 show the elapse time versusthe tolerance of the multiresolution scheme. This toleranceis represented in the upper horizontal axis as the number ofpixels in the700 � 500 resolution. That is, Drops drawsthe pixels with the color assigned when the bounding boxbecomes smaller than the tolerance. This is true for boththe R-tree and the V-tree. The lower horizontal axis showsa percentage of the tolerance window relative to the totaldrawing area.
From the graphs shown in Figures 10, 11, 12, and 13,we can observe significant performance improvements evenfor small tolerances (1 pixel). However, as the tolerancesincrease the gains in performance do not increase propor-tionally.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0 0.2 0.4 0.6 0.8 1 1.2
time
(s)
resolution (%)
1 2 3 4 5 6CGM
R-tree mult.V-trees mult.
R-tree and V-trees mult.
Figure 10: Result of the multiresolution experiments on theIndian Areas Map.
0
0.5
1
1.5
2
2.5
3
3.5
4
0 0.5 1 1.5 2
time
(s)
resolution (%)
1 2 3 4 5 6 7 8 9 10 11 12CGM
R-tree mult.V-trees mult.
R-tree and V-trees mult.
Figure 11: Result of the multiresolution experiments on theMunicipal Districts Map.
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0 0.5 1 1.5 2
time
(s)
resolution (%)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16CGM
R-tree mult.V-trees mult.
R-tree and V-trees mult.
Figure 12: Result of the multiresolution experiments on theAsia Map.
0
1
2
3
4
5
0 0.5 1 1.5 2
time
(s)
resolution (%)
1 2 3 4 5 6 7 8 9 10 11CGM
R-tree mult.V-trees mult.
R-tree and V-trees mult.
Figure 13: Result of the multiresolution experiments on theMadureira Buildings.
Finally, Figures 14, 15, 16, and 17 show the combinedeffect of multiresolution and zoom in the data sets. Notethat, as expected, for large windows the multiresolution pre-vails, and, conversely, for small windows (large zooms) theclipping becomes more relevant.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops res. 0Drops res. 1Drops res. 2
Figure 14: Combined effects of zoom and multiresolutionfor the Indian Areas Map.
7 Conclusions
The results presented in the previous sections allow us somegeneral conclusions.
First, the proposed method yields an efficient visual-ization scheme for large and complex spatial data such asmaps. The fact that it uses secondary memory suggests theuse of this strategy for figures in CD-ROMs.
The main advantage of using the persistent storagesubsystem to manage memory usage is the ability to re-trieve data from the secondary memory only on demand.
0
0.5
1
1.5
2
2.5
3
3.5
4
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops res. 0Drops res. 1Drops res. 2
Figure 15: Combined effects of zoom and multiresolutionfor the Municipal Districts Map.
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops res. 0Drops res. 1Drops res. 2
Figure 16: Combined effects of zoom and multiresolutionfor the Asia Map.
This way the applications do not get extremely slow whenthe data does not fit into the main memory and the operatingsystem starts to swap memory to disk.
Second, the use of the Packed R-tree for indexing spa-tial data by their bounding boxes with the heuristics pre-sented in [9] yields a good hierarchical structure for visu-alization. Groups of objects that are close together becomeadjacent in the R-tree. If they are outside the visualiza-tion window they are not even retrieved from the secondarymemory, thus saving time that, otherwise, would be spentclipping them.
Acknowledgements
We thank Newton C. Sanches for his contribution. Thiswork was developed in TeCGraf/PUC-Rio and was partiallyfunded by CAPES, by means of fellowships, and by the
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
0 10 20 30 40 50 60 70 80 90 100
time
(s)
view area (%)
CGMDrops res. 0Drops res. 1Drops res. 2
Figure 17: Combined effects of zoom and multiresolutionfor the Madureira Buildings.
PROTEM/CC-GEOTEC project. TeCGraf is a Laboratorymainly funded by PETROBRAS.
References
[1] D. H. Ballard. Strip trees: Hierarchical representationfor curves.Communications of the ACM, 24(5):310–321, 1981.
[2] Norbert Beckmann, Hans-Peter Kriegel, Ralf Schnei-der, and Bernhard Seeger. The R�-Tree: An Efficientand Robust Access Method for Points and Rectangles.In Proceedings of the ACM SIGMOD Conference onManagement of Data, pages 322–332, May 1990.
[3] Thomas Brinkhoff, Hans-Peter Kriegel, Ralf Schnei-der, and Bernhard Seeger. Multi-step processing ofspatial joins. InProceedings of the ACM SIGMODConference on Management of Data, pages 197–208,May 1994.
[4] O. Gunther and E. Wong. The arc tree: an approxi-mation scheme to represent arbitrarily curved shapes.Computer Vision, Graphics and Image Processing,51(3):313–337, 1990.
[5] A. Guttman. R-trees: A dynamic index structure forspatial searching. InProceedings of the ACM SIG-MOD Conference on Data Engineering, pages 47–56,1984.
[6] Paul Heckbert. Multiresolution surface modeling. InSIGGRAPH ’97, Course Notes n. 25, 1997.
[7] A. Hutflesz, H. Six, and P. Widmayer. The r-file: Anefficient access structure for proximity queries. InProceedings of the Sixth IEEE International Confer-ence on Data Engeneering, pages 372–379, 1990.
[8] ISO/IEC 8632:1992.Information Technology - Com-puter Graphics - Metafile for the Storage and Trans-fer of Picture Description Information, 1992. Part1 - Functional Specification (ISO8632-1), Part 2 -Character Encoding (ISO8632-2), Part 3 - Binary En-coding (ISO8632-3), Part 4 - Clear Text Encoding(ISO8632-4).
[9] I. Kamel and C. Faloutsos. On packing R-trees. InProceedings of the 2nd International Conference onInformation and Knowledges Management (CIKM-93), pages 490–499, November 1993.
[10] Maurıcio Riguette Mediano. OPS: Um subsitema ex-tens´ıvel e configuravel de armazenamento de obje-tos persistentes. Technical Report MCC37/97, De-partamento de Inform´atica, Pontif´ıcia UniversidadeCatolica, Rio de Janeiro, 1997.
[11] Maurıcio Riguette Mediano, Marco AntˆonioCasanova, and Marcelo Dreux. V-tree - a stor-age method for long vector data. InProceedings ofthe 20th VLDB Conference, 1994.
[12] J. Nievergelt, H. Hinterberguer, and K. C. Sevick.The grid file: An adaptable, symmetric multikey filestructure. ACM Transactions on Database Systems,9(1):38–71, March 1984.
[13] J.A. Orenstein. Spatial query processing in an object-oriented database system. InProceedings of the ACMSIGMOD Conference on Management of Data, pages326–336, May 1986.
[14] Ralf Schneider and Hans-Peter Kriegel. The TR�-tree:A New Representation of Polygonal Objects Support-ing Spatial Queries and Operations. InProceedingsof 7th Workshop on Computational Geometry, pages507–518, 1991.
[15] Timos Sellis, Nick Roussopoulos, and ChristosFaloutsos. The R+-Tree: A Dynamic Index for Multi-Dimensional Objects. InProceedings of the 13thVLDB Conference, pages 507–518, September 1987.
[16] H. Six and P. Widmayer. Spatial searching in geomet-ric databases. InProceedings of the Fourth IEEE In-ternational Conference on Data Engeneering, pages496–503, 1988.
[17] Seth J. Teller. Visibility preprocessing for interactivewalkthroughs.Computer Graphics, 25(4):61–69, July1991.
[18] Seth Jared Teller.Visibility Computations in DenselyOccluded Polyhedral Environments. PhD thesis,Computer Science Department University of Califor-nia at Berkeley, 1992.