arquitetura de software para construção

Upload: deivid-carvalho-da-cruz

Post on 06-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Arquitetura de Software para Construo

    1/11

    57

    XVII Simpsio Brasileiro de Banco de Dados

    Arquitetura de Software para Construode Bancos de Dados Geogrficos com SGBD Objeto-Relacionais

    KARINE REIS FERREIRA, GILBERTO RIBEIRO QUEIROZ, JOO ARGEMIRO PAIVA , RICARDOCARTAXO MODESTO DE SOUZA, GILBERTO CMARA

    Instituto Nacional de Pesquisas Espaciais - INPEAv. dos Astronautas, 1758, So Jos dos Campos (SP), Brazil 12227-001

    {karine, gribeiro, miro, cartaxo, gilberto}@dpi.inpe.br

    Resumo Este artigo descreve uma arquitetura de software para o desenvolvimento de banco de dados geogrficos

    utilizando SGBDs objeto-relacionais, como o PostgreSQL e Oracle Spatial, compartilhando uma interface de

    programao comum. Este trabalho parte da TerraLib, um software de cdigo fonte aberto e de ambientecolaborativo, usado para o desenvolvimento de ferramentas SIGs.

    AbstractThis paper describes a software architecture for development of geographic databases that uses object-

    relational DBMS, like PostgreSQL and Oracle Spatial, sharing a common programming interface. This work is

    part of TerraLib, an open source software allowing a collaborative environment and use for the development of

    multiple GIS tools.

    1. IntroduoA rea de bancos de dados geogrficos (BDG) e o desenvolvimento de tecnologia de

    sistemas de informao geogrfica (GIS) estaro passando por mudanas substanciais nosprximos anos, induzidas por uma nova gerao de SGBDs objeto-relacionais, como oORACLE e POSTGRESQL, que permitem incorporar tipos de dados espaciais. Deste modo,abre-se a perspectiva da construo de GIS onde tanto os atributos como as geometrias dedados espaciais sejam gerenciados pelo SGBD. Esta integrao tem o potencial de mudarcompletamente o desenvolvimento de tecnologia de GIS, permitindo a transio dos atuaissistemas monolticos (que contm centenas de funes) para uma nova gerao de aplicativosgeogrficos (spatial information appliances), sistemas dedicados para necessidadesespecficas [4]. Deste modo, um desafio importante para a comunidade de BDG encontrarmaneiras de utilizar a nova gerao de SGBD com tipos de dados espaciais.

    Uma das respostas possveis para este desafio o estabelecimento de uma rede dedesenvolvimento cooperativo, baseado em tecnologia open source. De forma similar ssolues ligadas tecnologia Linux, a disponibilidade de software livre para GIS permitiria apesquisadores e provedores de solues o acesso a um conjunto mais amplo de ferramentas doque atualmente oferecido por companhias comerciais. Com esta motivao, os autores estodesenvolvendo a TerraLib [2], uma biblioteca de software livre base para uma nova geraode aplicativos geogrficos.

    Um dos desafios importantes no desenvolvimento de uma biblioteca como a TerraLib compatibilizar as capacidades oferecidas pelos diferentes SGBD objeto-relacionais numanica interface de programao de aplicaes. Para isto, torna-se necessrio descrever as

  • 8/2/2019 Arquitetura de Software para Construo

    2/11

    58

    XVII Simpsio Brasileiro de Banco de Dados

    operaes de consulta e armazenamento de dados espaciais de forma genrica, e realizar o

    mapeamento para as caractersticas especficas de cada SGBD. Neste contexto, este artigo

    descreve uma arquitetura de software para construo de bancos de dados geogrficos que

    utilizam SGBD objeto-relacionais, mantendo uma mesma interface de programao. O

    trabalho faz parte do desenvolvimento da TerraLib, cuja primeira verso possui drivers para

    os SGBD ORACLE e POSTGRESQL. Nas sees seguintes, detalharemos a arquitetura desoftware utilizada. Na seo 2, descrevemos as extenses espaciais do ORACLE e do

    POSTGRESQL. Na seo 3, descrevemos em detalhe a arquitetura de software. Na Seo 4,

    ilustramos as capacidades da TerraLib a partir da descrio do aplicativo TerraView, um

    ambiente simplificado para visualizar dados espaciais.

    2. Extenses Espaciais de SGBDAtualmente, existem basicamente trs extenses comerciais disponveis no mercado

    para tratar de dados geogrficos no formato vetorial: Oracle Spatial[11], IBM DB2 Spatial

    Extender [9] e Informix [6]. No universo do software de cdigo fonte aberto e gratuito existe

    um projeto para a construo de uma extenso geogrfica baseada no PostgreSQL [7],chamada de PostGIS [10]. Todas essas extenses baseiam-se nas especificaes do OpenGIS

    [3], porm, apresentam variaes relevantes entre os modelos de dados, semntica dos

    operadores espaciais, mecanismos de indexao e esquema e sintaxe da SQL estendida com

    tipos espaciais. A seguir, so apresentadas as caractersticas e funcionalidades de algumas

    destas extenses.

    2.1.Oracle SpatialO Oracle Spatial uma extenso espacial do SGBD Oracle, que utiliza seu modelo

    objeto-relacional. Esta extenso contm um conjunto de funcionalidades e procedimentos que

    pemite armazenar, acessar e analizar dados espaciais em um banco de dados Oracle. Seu

    modelo de dados consiste em uma estrutura hierrquica de elementos, geometrias e layers;

    onde layers so compostos por geometrias, que por sua vez so compostas por elementos. Os

    elementos podem ser do tipo Point, LineString ou Polygon (com ou sem ilhas). Uma

    geometria pode ser formada por um nico elemento ou por um conjunto homogneo

    (MultiPoint, MultiLinesString ou MultiPolygon) ou heterogneo (Collection) de elementos. E,

    finalmente, um layer formado por um conjunto de geometrias que possuem os mesmos

    atributos.

    Devido utilizao de um modelo objeto-relacional, cada geometria armazenada em

    um objeto chamado SDO_GEOMETRY. Este objeto contm a geometria em si, suas

    coordenadas, e informaes sobre seu tipo e projeo. Em uma tabela espacial, os atributosalfanumricos da geometria so definidos como colunas de tipos bsicos (VARCHAR2,

    NUMBER, etc) e a geometria, como uma coluna do tipo SDO_GEOMETRY. Sendo assim,

    cada tabela espacial armazena um layer, o qual composto pelo conjunto de todas geometrias

    desta tabela.

    O Oracle Spatial fornece um conjunto de operadores e funes espaciais, que so

    utilizados juntamente com a linguagem SQL, para suportar consultas espaciais. Para consultar

    relaes topolgicas entre duas geometrias utilizado um operador chamado SDO_RELATE.

    Este operador implementa o Modelo de 9-Intersees definido por Egenhofer [5]. Este

    modelo considera as intersees, vazia (0) ou no vazia (1), entre os interiores, fronteiras e

    exteriores de duas geometrias. O SDO_RELATE recebe como parmetro o tipo de relao

  • 8/2/2019 Arquitetura de Software para Construo

    3/11

    59

    XVII Simpsio Brasileiro de Banco de Dados

    topolgica que deve ser computada. Os possveis parmetros so : Equal, Disjoint, Touch,

    Inside, OverlapBdyIntersect, OverlapBdyDisjoint, Anyinteract, Contains, On, Covers e

    Coveredby.

    Quanto indexao espacial, esta extenso fornece dois tipos de ndices R-tree e

    Quadtree. Cada um desses ndices apropriado para diferentes situaes e podem ser usados

    simultaneamente para indexar uma mesma coluna geomtria. Um cenrio que ilustra o usoprtico desta extenso o seguinte: O oficial encarregado do servio contra incndios precisa

    de uma lista de todas as reas sensveis dentro de um raio de 8 km de uma rea de lixo

    txico.

    Figura 01: Cenrio do problema

    Partindo do princpio da existncia de duas tabelas com atributos espaciais:

    zona_sensvel area_risco

    Nome Atributo Tipo Nome Atributo Tipo

    nome VARCHAR2(50) nome VARCHAR2(50)zona SDO_GEOMETRY local SDO_GEOMETRY

    A seguinte consulta em SQL poderia ser utilizada para responder o problema:

    SELECT ass.nome, ar.nome

    FROM AREA_RISCO ar, AREA_SENSIVEL ass,

    USER_SDO_GEOM_METADATA m

    WHERE m.table_name = AREA_RISCO AND

    (SDO_RELATE(ass.zona,

    SDO_GEOM.SDO_BUFFER(ar.local, m.diminfo,

    8000), mask=ANYINTERACT querytype=WINDOW) =TRUE);

    2.2.PostgreSQLO PostgreSQL [12] um sistema gerenciador de banco de dados objeto-relacional,

    gratuito e de cdigo fonte aberto. Em sua distribuio oficial, oferecido os seguintes

    recursos para trabalhar com dados espaciais: Tipos geomtricos: point, box, path, polygon e circle.

  • 8/2/2019 Arquitetura de Software para Construo

    4/11

    60

    XVII Simpsio Brasileiro de Banco de Dados

    Indexao espacial: possui uma R-Tree, cuja implementao est limitada a dadoscom at 8Kbytes, sendo bastante limitada para dados geogrficos reais. No entanto,

    permite a definio de uma R-Tree sobre o mecanismo de indexao conhecido

    como GiST [8]. Operadores espaciais: apresenta apenas alguns poucos operadores e bem limitados.

    Por exemplo, no operador contm (@) uma das geometrias deve ser do tipo pontoe o operador igual (~=) s aplicado a duas geometrias do tipo polgono

    (polygon).

    Como as funcionalidades oferecidas so bastante limitadas para o desenvolvimento de

    Sistemas de Informao Geogrficas, uma nova extenso est em desenvolvimento. O

    PostGIS, como ela chamada, uma extenso geogrfica, gratuita e de cdigo fonte aberto,

    que visa permitir ao SGBD PostgreSQL gerenciar informaes geo-espaciais. Sendo sua

    definio e implementao baseadas nas especificaes do OpenGIS. Atualmente, o PostGIS

    conta com os tipos de dados espaciais contidos na especificao do OGIS e utiliza um

    mecanismo de indexao R-Tree sobre o esquema do GiST. Os operadores espaciais

    encontram-se em desenvolvimento.

    3. Arquitetura de SoftwareUm dos objetivos da TerraLib o desenvolvimento de aplicativos GIS baseados nos

    avanos tecnolgicos dos sistemas de bancos de dados, especialmente os espaciais, realizando

    a completa integrao dos tipos de dados espaciais dentro dos SGBDs [1]. Para realizar tal

    tarefa, ela fornece uma arquitetura que d acesso direto aos dados que podem ser armazenados

    em diversos SGBDs, como Oracle Spatial, PostgreSQL e MySQL, possibilitando a criao e a

    manipulao de bancos de dados geogrficos. Essa arquitetura fornece uma interface comum

    que possibilita ao desenvolvedor em no ter que se preocupar com os detalhes de cada SGBD.

    Isso permite que este enfoque nas funcionalidades que um GIS deve ter, como ferramentas

    para anlise espacial, visualizao grfica dos dados geogrficos e entrada de dados ao invs

    de se preocuparem com o gerenciamento dos dados. A arquitetura para construo de bancos

    de dados geogrficos apresentada neste trabalho (Figura 02) encontra-se implementada na

    TerraLib e composta pelos seguintes componentes: Modelo de Dados: composto por um conjunto especfico de tabelas para a

    representao dos dados geogrficos nos SGBDs. Kernel: composto pelas classes bsicas (estruturas de dados) para representao

    em memria dos dados geogrficos tanto no formato vetorial quanto matricial, por

    operadores topolgicos e direcionais, classes de sistema de projeo e algoritmos. Drivers: formado por classes que fornecem uma interface comum e que do o

    suporte bsico para trabalhar com os dados geogrficos nos SGBDs. SGBDs: a TerraLib permite a integrao tanto com SGBDs Relacionais quantocom Objeto-Relacionais. Atualmente, ela possui interface com o SGBD relacional

    MySQL e com os objeto-relacionais Oracle Spatial e PostgreSQL. Os drivers so

    os responsveis em manter essas interfaces.

  • 8/2/2019 Arquitetura de Software para Construo

    5/11

    61

    XVII Simpsio Brasileiro de Banco de Dados

    PostgreSQLMySQL

    Modelo de Dados

    Kernel

    Driver PostgreSQLDriver MySQLDriver Oracle

    Database Driver

    Oracle

    Figura 02: Arquitetura da TerraLib para construo de bancos geogrficos

    3.1.Modelo de DadosO modelo de dados dessa arquitetura define um conjunto especfico de tabelas com o

    objetivo de facilitar a representao dos dados geogrficos nos SGBDs. Neste esquema, as

    informaes geogrficas sobre um determinado objeto ou fenmeno geogrfico so

    representadas em um plano de informao (layer). Um plano de informao (PI) pode ser

    composto por mais de um tipo de representao (vetorial ou matricial), estando ou no

    associado a uma tabela de atributos no espaciais.

    Na representao vetorial, um dado pode ser mapeado para trs tipos de tabelas com

    colunas capazes de representar polgonos, linhas ou pontos. Estas tabelas possuem um campopara fazer a ligao com a tabela de atributos no espaciais correspondente. Na representao

    matricial (raster) feito um particionamento do raster por linhas, onde cada linha

    armazenada em um registro da tabela em colunas do tipo BLOB. A Figura 03 ilustra, de

    maneira simplificada, o modelo de dados.

    Conforme pode ser observado no modelo apresentado na Figura 03, a tabela planos

    contm as informaes de cada PI, seu nome, retngulo envolvente (mbb) e o nome da tabela

    de atributos no espaciais associada ele. A tabela representacao possui um campo que

    contm o ndice do PI, outro chamado geomtipo que indica o tipo de representao (ponto,

    linha, polgono ou matricial) e outro chamado tabela que contm o nome da tabela onde os

    dados espaciais daquela representao esto armazenados.

    Neste modelo, um PI pode estar associado a diferentes temas, cada um comcaractersticas especficas. Por exemplo, podemos ter um PI que contenha todos os estados do

    Brasil com seus atributos, rea, populao, taxa de analfabetismo, dentre outros. Uma

    consulta sobre esse PI, como por exemplo, selecione todos os estados onde a populao seja

    maior que 5 milhes, resultaria em um novo tema associado a este PI, e no a um novo PI.

    Este tema armazenado na tabela temas contendo as clusulas da consulta em SQL que o

    gerou, e associado ao PI correspondente atravs do relacionamento entre as tabelas planos

    e temas. Alm disso, cada tema associado a uma legenda, a qual armazenada na tabela

    legendas, que contm caractersticas de visualizao, como cores, formatos e tamanhos.

  • 8/2/2019 Arquitetura de Software para Construo

    6/11

    62

    XVII Simpsio Brasileiro de Banco de Dados

    Para uma melhor organizao dos dados no SGBD, este modelo implementa o

    conceito de vises que so associadas aos usurios. Assim, cada usurio cria suas prprias

    vises e associa a cada uma os temas relacionados. Pode-se dizer que o conceito de vises

    semelhante a idia de diretrios, onde cada usurio possui seus diretrios que contm

    informaes relacionadas sobre um mesmo assunto.

    Figura 03 : Modelo de Dados simplificado

    3.2.KernelAs classes do Kernel para manipulao dos dados em memria esto mostradas na

    Figura 04. As instncias dessas classes podem ser armazenadas nos SGBDs seguindo o

    esquema de representao mostrado na seo anterior, atravs do driver de banco de dados.

    TePolygon

    TePolygonSet

    TeLinearRing

    TeLine2D

    TePoint

    TeGeometry

    TeGeomSingleTeGeomComposite

    TeCoord2D TeRaster

    TeLineSet

    TePointSet

    (TeCoord2D)

    (TeCoord2D)

    (TeLinearRing)

    (TePolygon)

    (TeLine2D)

    (TePoint)

    TT TT

    Figura 04: Classes do Kernel da TerraLib

  • 8/2/2019 Arquitetura de Software para Construo

    7/11

    63

    XVII Simpsio Brasileiro de Banco de Dados

    Uma instncia de um TePolygonSet pode ser armazenado no banco como um polgono

    por tupla ou no, dependendo do driver e do suporte oferecido pelo banco, sendo transparente

    para o desenvolvedor.

    3.3.Database DriverO driver de banco de dados uma interface entre os diversos sistemas de bancos de

    dados e o Kernel da TerraLib. Ele permite o armazenamento, recuperao e manipulao dos

    dados geogrficos - a saber, os seus atributos espaciais e no espaciais - diretamente nos

    SGBDs, sem a necessidade de utilizao de estruturas proprietrias. Para cada SGBD criado

    um driver especfico que implementa um conjunto comum de interfaces para manipulao e

    definio do esquema da base geogrfica. Essa arquitetura muito semelhante da ODBC.

    Cada driver d o suporte necessrio para trabalhar com o esquema em um SGBD

    especfico, fornecendo mtodos que criam este esquema e que fazem o mapeamento entre os

    tipos de dados deste SGBD para os tipos de dados presentes no kernel da biblioteca. Alm

    disso, ele traduz as consultas espaciais para o dialeto SQL de cada SGBD, delegando a estesua execuo. Esses drivers devem explorar ao mximo os recursos oferecidos pelos SGBDs,

    principalmente, os que apresentam extenses espaciais capazes de fornecer mecanismos de

    indexao espacial, tipos de dados e operadores espaciais. A interface comum desses drivers

    definida por duas classes abstratas, TeDatabase e TeDatabasePortal.

    A classe TeDatabase fornece a interface para: Estabelecimento de conexo com o servidor de banco de dados Execuo de comandos SQL DDL e DML Criao de novas tabelas Criao do modelo de dados da TerraLib Definio dos ndices espaciais Criao de integridade referencial e ndice secundriosA classe TeDatabasePortal apresenta em sua interface mtodos para:

    Execuo de consultas SQL que retornem um conjunto de resultados Manipular o conjunto de resultados da execuo de uma consulta Insero, atualizao e recuperao das geometrias segundo o modelo de dados

    apresentado anteriormente. Execuo de consultas espaciais Armazenamento e recuperao de dados matriciaisO driver de cada banco ser responsvel pelos detalhes de implementao desta

    interface. Abaixo, so apresentados os drivers do Oracle Spatial e do PostgreSQL mostrando a

    particularidades de cada um.

  • 8/2/2019 Arquitetura de Software para Construo

    8/11

    64

    XVII Simpsio Brasileiro de Banco de Dados

    3.3.1. Driver Oracle. O driver de interface com o SGBD Oracle, utiliza os recursosoferecidos pela sua extenso espacial Oracle Spatial, como tipos de dados, operadores e

    mtodos de indexao espaciais. Neste driver, os tipos vetoriais da TerraLib, TePoint,

    TeLine2D e TePolygon, so mapeados para objetos do tipo SDO_GEOMETRY. Este objeto

    armazena o tipo da geometria (como por exemplo, Point, Line String, Arc Line String,

    Polygon, Polygon with holes), sua projeo e suas coordenadas. Cada geometria armazenada em um registro, por exemplo, um polgono que contm ilhas, armazenado

    completamente em um SDO_GEOMETRY do tipo Polygon with holes.

    Quanto indexao espacial, ele utiliza os mtodos fornecidos pela extenso, R-tree e

    Quadtree. Neste caso, o desenvolvedor escolhe o tipo de indexao mais apropriada para seus

    dados geogrficos. Alm disso, este driver utiliza funes disponveis nesta extenso para

    avaliar a performance dos ndices criados (ANALYZE_RTREE) e para reconstruir um antigo

    ndice, depois de inserir novas geometrias (ALTER INDEX REBUILD). As consultas

    espaciais utilizam os operadores e funes espaciais disponveis. Por exemplo,

    SDO_RELATE para consultar relaes topolgicas entre geometrias, SDO_BUFFER para

    retornar uma nova geometria a partir de outra e SDO_DISTANCE para retornar a distncia

    entre duas geometrias. Neste caso, o driver monta a consulta em SQL utilizando osoperadores e funes correspondentes, e o passa para o SGBD computar.

    3.3.2. Driver PostgreSQL. O driver para banco de dados PostgreSQL utiliza os tiposPOINT, PATH, POLYGON e BLOB para armazenar em uma tupla os tipos de dados

    TePoint, TeLine2D, TeLinearRing e TeRaster respectivamente. Cada anel (TeLinearRing) de

    uma instncia de um TePolygon armazenado em uma tupla, pois o tipo POLYGON no

    permite o armazenamento de polgonos com ilhas. Quanto indexao, este driver no utiliza

    a R-Tree padro do PostgreSQL devido s suas limitaes, empregando a R-Tree construda

    sobre o GiST.

    Os mtodos de consultas espaciais deste driver utilizam uma estratgia de duas etapas

    para o seu procesamento. Primeiramente, feito um filtro pelo retngulo envolvente da

    geometria atravs de operadores que utilizam o ndice espacial do SGBD. Na segunda etapa, o

    resultado avaliado com os operadores espaciais do kernel, que computam a geometria exata.

    Isso feito porque o PostgreSQL no apresenta suporte para todos os operadores topolgicos.

    Futuramente, este driver ser construdo sobre o PostGIS, de forma a delegar a esta extenso

    tanto os recursos de indexao e tipos de dados quanto os operadores espaciais.

    4. TerraViewO TerraView, desenvolvido pela DPI/INPE, um aplicativo open source construdo

    sobre a TerraLib, utilizando a arquitetura apresentada neste trabalho. As Figuras 05 e 07ilustram sua interface grfica. Este software contm as seguintes caractersticas: Interface com diferentes SGBDs: possibilita que o usurio selecione o SGBD a ser

    utilizado, instanciando o driver correspondente e fazendo a conexo com o servidor de

    dados. Suporte a tipos de dados espaciais: o software suporta diferentes tipos de dados espaciais,

    incluindo polgonos, linhas, redes, clulas, pontos, imagens e superfcies. Ferramentas de visualizao: permite a visualizao do dado geogrfico, de sua

    componente espacial atravs do um canvas e de seus atributos afanumricos atravs de

    uma tabela. Alm disso, possuem algumas ferramentas como zoom in e zoom out.

  • 8/2/2019 Arquitetura de Software para Construo

    9/11

    65

    XVII Simpsio Brasileiro de Banco de Dados

    Integrao de dados espaciais: possibilita a integrao de layers de diferentes tipos(superfcies, pontos, etc.) combinados em um mesmo frame.

    Importao de dados: permite a importao de dados a partir de arquivos em formatosproprietrio (como por exemplo, shape file e mif) para o esquema definido no SGBD.

    Consultas espaciais: disponobiliza alguns tipos de consultas que podem ser aplicadas aosdados de um nico layer ou de dois layers distintos.

    Figura 05: Interface Grfica do Aplicativo TerraView

    Na Figura 05, mostrado a visualizao de dois PIs, setores e ruas, ambos formados

    por dados de representao vetorial, um por polgonos e o outro por linhas, respectivamente.

    Um tipo de consulta espacial feita sobre o plano setores mostrado na parte superior do PI,

    onde todos os setores adjacentes a um especfico, selecionado pelo usurio diretamente no

    canvas, foram retornados e preenchidos por branco. H ainda opes de fazer consultas entreos dados de dois PIs distintos, como por exemplo, retornar todas as ruas que cruzam as

    fronteiras de um setor especfico. Esta consulta ilustrada na Figura 06, onde as ruas

    retornadas so pintadas de branco. A Figura 07 mostra a visualizao de uma imagem no

    TerraView, utilizando os recursos dos drivers para armazenar e recuperar dados matriciais.

  • 8/2/2019 Arquitetura de Software para Construo

    10/11

  • 8/2/2019 Arquitetura de Software para Construo

    11/11

    67

    XVII Simpsio Brasileiro de Banco de Dados

    [4] Egenhofer, M. (1999). Spatial Information Appliances: A Next Generation of

    Geographic Information Systems. First Brazilian Workshop on GeoInformatics, Campinas,

    Brazil.

    [5] Egenhofer, M. and J. Herring (1991). Categorizing Binary Topological Relationships

    Between Regions, Lines, and Points in Geographic Databases. Orono, ME, Department of

    Surveying Engineering, University of Maine.[6] Flannery, R. M. (2000). Informix Handbook, Informix Press.

    [7] Geschwinde, E. and H.-J. Schoenig (2001). Postgresql : Developer' s Handbook. New

    York, SAMS Publisher.

    [8] Hellerstein, J. M., J. F. Naughton, et al. (1995). Generalized Search Trees for Database

    Systems. Proc. 21st Int' l Conf. on Very Large Data Bases, Zrich.

    [9] Mullins, C. S. (2000). DB2 Developer' s Guide. New York, SAMS Publisher.

    [10] Ramsey, P. (2002). PostGIS Manual. 2002.

    [11] Ravada, S. and J. Sharma (1999). Oracle8i Spatial: Experiences with Extensible

    Databases. SSD' 99. R. H. Guting, D. Papadias and F. Lochovsky. Berlin, Springer-Verlag:

    355-359.

    [12] Stonebraker, M. and L. A. Rowe (1986). The Design of POSTGRES. ACM-SIGMODInternational Conference on the Management of Data. Washington, D.C.: 340-355.