Reprezentarea informaţiilor geospaţiale în sistemele de
baze de date Oracle
Roxana Chiriacescu
16 Iulie 2009
Sumar
• Introducere• Analiza• Proiectare• Implementare• Testare• Concluzii
Introducere
• Tema: reprezentarea informatiilor geospatiale in sistemele de baze de date Oracle
• Cerinte: • Dezvoltarea unei aplicatii de redare a hartii planetare• Aplicatia va permite cautarea si vizualizarea informatiilor
de pe harta, folosind marcaje speciale: geotag-uri
Ciclul de viata al proiectului
Analiza Ce este GIS?
Ce sunt datele spatiale?
•Informatii de business ce contin sau descriu locatii• Adrese postale (clienti, magazine, fabrici, etc)• Vanzari (punctele de vanzare, repartitia clientilor, etc)• Bunuri publice (hidrant, transformator electric, etc)• Trasaturi geografice (drumuri, fluvii, parcuri, etc)
•Orice entitate care are o locatie fizica
Ce este GIS?
Sistemele geografice informatice (Geographic Information Systems) permit:•crearea de hărţi•integrarea informaţiilor geospatiale•vizualizarea de scenarii •dezvoltarea de soluţii efective într-un mod nou, uşor de utilizat.
Aplicatii cu date spatiale
Acces Intranet/Internet la date spatiale•Acces public•Date partajate intre mai multi utilizatori
Punerea afacerii pe harta•Unde sunt localizati clientii?•Unde ar trebui sa deschid un nou magazin?
Intrebari spatiale•Care parcele sunt afectate de revarsarea apei?•Unde se gaseste cel mai apropiat magazin in zona mea?
Servicii bazate pe locatie
Evolutia aplicatiilor GIS
Aplicatie
GIS
Fisiere proprii
SGBDtraditional
MiddlewareSpatial
Aplicatie
API propriu
Baza de date
spatiala
Server de harta
Aplicatie
OpenAPI
Trecut Prezent
StandaloneMiddleware
propriuPlatformaInternet
Analiza Cerintele aplicatiei
Utilizatorul doreste…
• …sa creeze puncte de interes pe o harta interactiva • …sa uploadeze imagini sau fisiere pdf pe care sa le
asocieze geotag-urilor• …sa vizualizeze continutul geotag-urilor prin
apasarea mouse-ului pe harta• …sa exporte un raport al tuturor geotag-urilor
stocate in baza de date• …sa obtina afisarea informatiilor tuturor geotag-
urilor dintr-o zona selectata manual pe harta.
Analiza Instrumente software
Ce este o baza de date spatiala?
Tipuri de date spatiale
Toate datele spatiale sunt
stocate in baza de date
Indexarea spatiala
Fast Access toSpatial Data
Acces spatial prin SQL
Analiza spatiala
• Toate tipurile de geometrii• Puncte, linii, poligoane• 2D, 3D, 4D
• Toate tipurile de indexare• Rtree, Quadtree (fixe sau hibride)
• Toate tipurile de interogari spatiale• Inside, touch, overlap, …
• Cautari de proximitate• Intr-o anumita distanta, cel mai apropiat vecin
• Calcul de distante• Proiectii multiple
Oracle Locator Trasaturi de baza
Inclus in Oracle 10g Standard Edition
siEnterprise Edition
Toate trasaturile necesare aplicatiilor
simple
Oracle Spatial
Locator plus:• Operatii cu geometrii• Functii spatiale• Referentiere liniara• Transformarea sistemului de coordonate • Sisteme de coordonate definite de client
• Management de retea• Topologie• Integrarea imaginilor raster• Geocodificare• “Data Mining” Spatial
Trasaturi avansate
O optiune a Oracle Enterprise Edition
Volume mari de date, multi utilizatori
Interogari complexe, manipulari avansate de
date
Tipurile spatiale din Oracle 10g
Data
Locatii(puncte)
Retele(linii)
Parcele(poligoane)
Rastere(imagini, griduri)
Relatii Topologice(topologie persistenta)
Adrese(puncte geocodate)
Operatori spatiali
• O gama larga de operatori spatiali
• Implementati ca extensii functionale in SQL• Operatori topologici
– Inauntru Contine– Tangent Disjunctie– Acopera Acoperit de– Egal Intersectia contururilor
• Operatori de distanta– Pe o raza de…– Vecinul cel mai apropiat
Inauntru
500 meters
Pe o raza de…
Functii spatiale
• Returneaza o geometrie• Uniune• Diferenta• Intersectie• XOR
• Returneaza un numar• Lungimi• Arii• Distante
Uniune
XOR
Intersectie
Original
Diferenta
Index spatial R-Tree
• Se bazeaza pe conturul dreptunghiular minim MBR (Minimum Bounding Rectangle) al trasaturii spatiale
• Folosit pentru indexarea datelor 2D, 3D, 4D• Se comporta ca un filtru primar al datelor• Ofera acces extrem de rapid la datele spatiale
Datespatiale
Filtrulprimar
IndexspatialR-Tree
Setul redus
dedate
Filtrul secundar
Operatorispatiali
Setulrezultat
Sistemele de coordonate
• Suporta modelul pamantesc (latitudine/longitudine)• Calcule sferice• Calculul corect al distantelor si ariilor (in unitati de masura)• Suporta geometrii care strabat polii si meridianul 180o
• Suporta coordonate proiectate• Calcul cartezian• Calculul corect al distantelor si ariilor pentru suprafete mici
• Suporta coordonate definite de client
Oracle Application Server: MapViewer
• Inclus in toate versiunile Oracle Application Server
• XML, Java si JSP APIs
• Unealta de definire a hartilor
• Definitiile si simbolurile hartii sunt definite in baza de date
• Ilustrarea tematica a hartilor
• Suport pentru PNG, GIF, FLASH, SVG
Oracle10g AS MapViewer
• Componenta/serviciu de vizualizare a hartilor
• Vizualizeaza datele spatiale stocate in baza de date Oracle (Oracle Spatial or Oracle Locator)
• Trasatura standard al Oracle10g AS Release 2
• Ofera un API de servicii de mapare XML accesibil prin HTTP
• Serviciu in conformitate cu standardul J2EE
MapViewer: Harta
• Generata din datele spatiale stocate in baza de date Oracle
• Definita ca o colectie de teme• Poate contine o legenda, un
titlu si o nota de subsol• Userii cer harti prin
intermediul unui MapRequest• MapViewer returneaza o
harta printr-un MapResponse
Nota de subsol
Legenda Teme
Cutremure
Titlu
Arhitectura MapViewer
MapViewer
Baza de date
Oracle Application Server
ClientAplicatie
XML/HTTP
JDBC
Tabelespatiale
Definitiilehartii
Java API
Utilitarul MapBuilder
Comunicarea MapViewer - Client
MapViewer
O cerere de harta poate contine:
• Harta de baza (base map)• Teme statice• Teme dinamice• Forme dinamice
• Pozitie de pe harta
• Formatul si dimensiunea hartii
Clientul hartii Un raspuns de harta:• harta in timp realsau• Adresa URL catre imaginea hartii, incadrata intr-un contur de o anumita dimensiune
Formate de afisare:GIF, PNG, SVG, JPEG
Oracle Spatial
Oracle Application Express (APEX)Dezvoltarea aplicatiilor web de baze de date
• Unealta unica pentru dezvoltarea rapida de aplicatii pentru baza de date Oracle
• Interfata in browser pentru dezvoltare, deployment & utilizare
• Ajuta la construirea aplicatiilor profesionale Web 2.0, rapide si sigure
• Foloseste capabilitatile bazei de date Oracle si integreaza scripturi SQL & PL/SQL
• Componenta a bazei de date
• Optiune gratuita a tuturor versiunilor bazei de date Oracle
Usor de dezvoltat • Usor de instalat • Usor de gestionat
Unelte de dezvoltare APEX
Rapoarte
Formulare
Grafice
Calendare
Template
Navigare
Validari
Procese
Calcule
Ramificatii
Servicii web
Servicii Email
Servicii de traducere
Procesare conditionala
Autentificare
Autorizare
Managementulsesiunilor
Logare & Monitorizare
Integrarea cu alte unelte / serviciiFoloseste intregul spectru de facilitati al bazei de date Oracle:
• SQL• PL/SQL• RAC• Spatial• OLAP• Flashback• Web Services• Text• Multimedia• Analytic Functions• Globalization• XML DB
• eBusiness Suite
Proiectare Schema de functionare
Schema generala de functionare
Proiectare Setul de date
Formatele de livrare a datelor
Structura unei harti navigabile
Straturile unei harti
Tarile incluse in setul de dateAlbania Gibraltar Poland
Andorra Great Britain Portugal
Australia Greece Puerto Rico
Austria Hungary Romania
Belgium Ireland Russia
Bosnia & Herzegovina Italy SanMarino
Bulgaria Latvia Serbia & Montenegro
Canada Liechtenstein Slovak Republic
Croatia Lithuania Slovenia
Czech Republic Luxembourg Spain
Denmark Macedonia Sweden
Estonia Moldova Switzerland
Finland Monaco Ukraine
France Netherlands United States
Germany Norway Vatican City
Proiectare Structura bazei de date
Datele spatiale in tabelele Oracle10g
Road
ROAD_ID
1
2
3
SURFACE
Asphalt
Asphalt
Asphalt
NAME
Fisher Cir.
Coop Ct.
85Th St.
LANES
4
2
2
LOCATION
Tipuri si modele de date:SDO_GEOMETRY
SDO_TOPO_GEOMETRY
SDO_GEORASTER
Vector
Raster
Stocarea geometriilor in baza de date
DRUMURI
DNUME ID TIP ZONA GEOMETRIE
M40
M25
140
141
HWY
HWY
6
4
X Y
x1 y1
x2 y2
x3 y3
x4 y4
x5 y5
Tip abstract de date
Definitiile hartii
• Definitiile hartii stocate in baza de dateUSER_SDO_MAPS
USER_SDO_THEMES
USER_SDO_STYLES
• Hartile se pot defini folosind utilitarul MapBuilder
Metadatelehartii
Implementare
Aspecte generale
• Datele geospatiale folosite sunt stocate intr-o baza de date Oracle Spatial
• Tabela geotag-urilor din baza de date are atribute spatiale, precum si un index spatial
• Harta este accesibila prin intermediul MapViewer • Harta este vizualizata intr-o maniera interactiva prin
intermediul interfetei Oracle Maps bazata pe AJAX• Aplicatia web este realizata in Oracle APEX
APEX: Application Builder
Testare
Aplicatia Geotag
• Aplicatie web, instalata pe un server HTTP• Vizualizeaza o harta a mapamondului• Se pot introduce geotag-uri (puncte de interes)
oriunde pe harta• Se pot asocia fisiere multimedia (jpeg/pdf) geotag-
urilor• Se pot vizualiza toate geotag-urile dintr-o zona de
interes, selectata de utilizator
Pagina de Login
•Se introduce username-ul si parola•Un singur user cu drepturi depline
Vizualizarea hartii (1) Lista tuturor geotag-urilor
Centreaza harta pe geotag
Zoom & deplasare
Vizualizarea hartii (2)
Detaliile geotag-ului “Paris”
Imaginea asociata geotag-ului
Simbolurile geotag-urilor
Vizualizarea hartii (3)
Deschiderea fisierului PDF asociat geotag-ului
Introducerea unui geotag (1)
• Eveniment: Click dreapta oriunde pe harta• Efect: Lansarea paginii nr. 2• Pagina nr. 2: formular pentru introducerea detaliilor
noului geotag• Coordonatele punctului sunt transmise formularului• Utilizatorul completeaza: “Name”, “Description”,
“Author”, “Population”• Utilizatorul incarca un fisier multimedia in campul
“File Name”
Introducerea unui geotag (2)
Completate automat Alege fisierul multimedia de incarcat
“Submit”: •proceseaza formularul•ruleaza procedura PL/SQL•introduce datele in baza
“Cancel”:•redirecteaza catre prima pagina fara sa modifice nimic in baza de date
Zona de cautare (1)
Zona de cautare: dreptunghiulara
Aici va fi raportul geotag-urilor din zona selectata
Zona de cautare (2)
Geotag-uri din zona de cautare
Concluzii
Concluzii
Aplicatia Geotag:
• evidentiaza aspecte legate de vizualizarea datelor geospatiale si analiza de vecinatate.
• este scalabila
• reprezinta scheletul oricarei aplicatii GIS de pe internet, ce foloseste tehnologia Oracle
Imbunatatiri viitoare
• implementarea de analize mai amanuntite asupra setului de date
• schimbarea setului de date cu unul mai detaliat• modificarea aspectului hartii, folosind alte simboluri
pentru marcarea punctelor de interes• clasificarea datelor bazate pe locatia acestora• determinarea de pattern-uri in functie de locatie• determinarea modului in care locatia unui lucru este
corelat cu locatia altuia
"O aplicatie GIS este limitata numai de imaginatia celor care o folosesc.“
(Jack Dangermond, CEO ESRI)