efficient visualization of graphical objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... ·...

9
Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELO GATTASS,MAURICIO RIGUETTE MEDIANO TeCGraf – Grupo de Tecnologia em Computac ¸˜ ao Gr´ afica, Departamento de Inform´ atica, PUC-Rio, Rua Marquˆ es 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 performance improvements in the visualization of large figures, such as maps and CAD drawings. We present here a study on the performance of persistent data structures composed by an R-tree and V-trees, for storing and efficiently retrieving 2D graphical objects. Results are shown to demonstrate the efficiency of the proposed solutions when applied to large maps. Keywords: GIS, Metafile, Access Methods. 1 Introduction Over the last decade, systems which use huge quantities of 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 of the 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 for drawing spatial objects is to treat them as a simple collec- tion of graphical objects stored either in metafiles, linked lists, or acyclic trees. The visualization process traverses the file or data structure and for each object the program applies the appropriate geometric transformation, clips it with the visualization window, and renders it into the vi- sualization surface. However, as data size and complexity grow, this process becomes very slow, and new techniques are required for dealing with this large data volumes. The following issues have to be considered in the visualization of large spatial data. Memory usage - because of the data size, it is very likely that the whole data will not fit into the com- puter’s main memory. Thus the need for a secondary storage memory, which implies in much larger access time. Consequently it is important to have a good memory management subsystem in order to minimize the I/O communication. Scene clipping - the user will often visualize only part of the data. Thus we can decrease visualization time by only retrieving the objects that are inside the visu- alization area. Objects that are outside this area should be left untouched in the secondary storage memory. Level of detail - when the data visualization scale is large, the details of the scaled data which are smaller than the current resolution will not be drawn into the visualization surface. Therefore, the simplification of the graphic objects considering the current drawing resolution 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, these points are becoming more relevant, as one wishes to render complex 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 many graphical primitives or because their primitive has too many points. 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 line simplification scheme. Thus, with the use of an adequate data structure for storing the spatial data, we can expect to obtain considerable performance gains. In this paper we de- scribe the use of a persistent data structure composed by an R-tree [5, 15, 2] and V-trees [11], for storing and efficiently retrieving 2D spatial data for their visualization. Spatial objects are either two-dimensional or three- dimensional and can be represented by either vector or raster graphical objects. In this paper we have only con- sidered two-dimensional graphical vector objects; raster and three-dimensional objects are left for a future work. Our primary goal when developing the techniques pre-

Upload: others

Post on 09-Jul-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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-

Page 2: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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

Page 3: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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

Page 4: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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.

Page 5: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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

Page 6: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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.

Page 7: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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.

Page 8: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

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.

Page 9: Efficient Visualization of Graphical Objectssibgrapi.sid.inpe.br/attachment.cgi/dpi.inpe.br/... · Efficient Visualization of Graphical Objects PAULA FREDERICK,MARCELOGATTASS,MAURICIO

[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.