Wizualizacja danych przestrzennych i map geograficznych w aplikacjach Oracle ADF



Podobne dokumenty
1 Wprowadzenie do J2EE

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych

Załącznik techniczny przedmiotu zamówienia komponentu

Programowanie w Javie 2. Płock, 26 luty 2014 r.

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Oracle Application Express -

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Kartografia multimedialna krótki opis projektu. Paweł J. Kowalski

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Web frameworks do budowy aplikacji zgodnych z J2EE

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

ERDAS ADE Suite edytor baz danych Oracle Spatial

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Wybrane działy Informatyki Stosowanej

Przykłady zastosowao rozwiązao typu mapserver w Jednostkach Samorządu Terytorialnego

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Wybrane działy Informatyki Stosowanej

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Business Intelligence Beans + Oracle JDeveloper

POMOC / INSTRUKCJA OBSŁUGI

Język UML w modelowaniu systemów informatycznych

OPIS PRZEDMIOTU ZAMÓWIENIA

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Zarządzanie danymi przestrzennymi

Wykład I. Wprowadzenie do baz danych

Programowanie obiektowe

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Zastosowanie Oracle Business Intelligence Beans w budowaniu aplikacji OLAP

Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

WYKONANIE OPROGRAMOWANIA DEDYKOWANEGO

Część I Rozpoczęcie pracy z usługami Reporting Services

Informator nawigacyjny dla Górnej Odry i Kanału Gliwickiego INSTRUKCJA OBSŁUGI

Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Fazy i typy modernizacji zbiorów w w IIP. Uniwersytet im. Adama Mickiewicza Wydział Nauk Geograficznych i Geologicznych Poznań:: r.

GEO-SYSTEM Sp. z o.o. ul. Kubickiego 9 lok. 5, Warszawa, tel./fax , geo-system@geo-system.com.

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

WYKORZYSTANIE GIS W SERWISIE INTERNETOWYM SAMORZĄDU WOJEWÓDZTWA MAŁOPOLSKIEGO

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Shapefile, GeoPackage czy PostGIS. Marta Woławczyk (QGIS Polska)

OpenLaszlo. OpenLaszlo

1.1 Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:

Wprowadzenie do technologii Business Intelligence i hurtowni danych

OfficeObjects e-forms

Programowanie Komponentowe WebAPI

Spis treści. Przedmowa

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Dziennik Urzędowy Unii Europejskiej L 274/9

Szczegółowy opis zamówienia:

PHP: bazy danych, SQL, AJAX i JSON

Generowanie raportów

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Zastosowanie Oracle Designer/2000 do projektowania i implementacji aplikacji WWW

serwisy W*S ERDAS APOLLO 2009

Jak stworzyć Geoportal

p r o j e k t ROZPORZĄDZENIA MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

EXSO-CORE - specyfikacja

Przestrzenne bazy danych. Wstęp do przestrzennych baz danych

GUI - projektowanie interfejsów cz. II

Oferta szkoleniowa Yosi.pl 2012/2013

Krzysztof Kadowski. PL-E3579, PL-EA0312,

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Bazy danych 2. Wykład 1

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

System internetowego udostępniania zawartości bazy danych w postaci tekstowej i graficznej

BalticBottomBase. Instytut Morski w Gdańsku Gdańsk,

Programowanie urządzeń mobilnych. projekt 6 ( )

Relacyjne bazy danych a XML

Dodawanie operacji dodatkowych w WAPRO Mag.

TOPWEB Microsoft Excel 2013 i PowerBI Przygotowanie danych, analiza i efektowna prezentacja wyników raportów

Technologia informacyjna

Monitoring procesów z wykorzystaniem systemu ADONIS

P&I Scout Pro Wygodne i proste tworzenie raportów

DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA

Webowy generator wykresów wykorzystujący program gnuplot

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Transkrypt:

XV Konferencja PLOUG Kościelisko Październik 2009 Wizualizacja danych przestrzennych i map geograficznych w aplikacjach Oracle ADF Maciej Zakrzewicz Politechnika Poznańska, PLOUG mzakrz@cs.put.poznan.pl Abstrakt. Obserwowany obecnie wzrost popularności aplikacji prezentujących geograficzne dane przestrzenne przekłada się na coraz większe zainteresowanie programistów technologiami wizualizacji map opartych o dane gromadzone w bazach danych. Artykuł zawiera analizę architektury i funkcjonalności dostępnych rozwiązań interaktywnej wizualizacji map dla platformy Oracle ADF, obejmujących komponenty ADF Geographic Map oraz integrację z Google Maps.

Wizualizacja danych przestrzennych i map geograficznych w aplikacjach Oracle ADF 21 1. Wstęp Obserwowany w ostatnich latach wzrost zainteresowania przechowywaniem, przetwarzaniem i wizualizacją danych przestrzennych staje się inspiracją dla twórców aplikacji biznesowych, którzy coraz częściej wyposażają swoje aplikacje w mechanizmy wspomagające geolokalizację i geonawigację w oparciu o mapy geograficzne. Najczęściej mechanizmy takie opierają się na publicznych mapach bazowych, na które dynamicznie nanoszone są specyficzne dla danej aplikacji opisy obiektów przestrzennych. Pojawiają się opinie, że technologie informatyczne umożliwiające realizację takich rozwiązań osiągnęły poziom wystarczającej dojrzałości, niezbędnej do oferowania niezawodnych i efektywnych rozwiązań przestrzennych. Celem tego artykułu jest analiza wybranych rozwiązań technologicznych umożliwiających integrację mechanizmów wizualizacji danych przestrzennych i map geograficznych z logiką biznesową aplikacji Oracle ADF. Struktura tekstu jest następująca. Rozdział drugi zawiera wprowadzenie do technologii umożliwiających przechowywanie, przetwarzanie i wizualizację danych przestrzennych w bazach danych Oracle 11g. W rozdziale trzecim krótko scharakteryzowano technologię Oracle ADF. Rozdział czwarty opisuje dwie metody wizualizacji danych przestrzennych i map geograficznych w aplikacjach Oracle ADF: Google Maps i ADF Geographic Map. Rozdział piąty zawiera podsumowanie. 2. Wprowadzenie do Oracle Spatial i Oracle Locator 2.1. Oracle Spatial i Oracle Locator Oracle Spatial i Oracle Locator to nazwy technologii służących do realizacji mechanizmów przechowywania, przetwarzania i udostępniania danych przestrzennych w systemie bazy danych Oracle [5]. Przez dane przestrzenne rozumie się dane opisujące obiekty osadzone w przyjętym układzie współrzędnych, np. dane geograficzne, geodezyjne. Oracle Locator jest standardowym składnikiem serwera Oracle Database 11g w wersji Standard, Enterprise i Express, natomiast Oracle Spatial podlega licencjonowaniu w obrębie serwera Oracle Database 11g w wersji Enterprise. Oracle Locator obejmuje najbardziej podstawową funkcjonalność obsługi danych przestrzennych, natomiast Oracle Spatial rozszerza ją o zaawansowane funkcje analizy danych, obsługi modeli topologicznych i sieciowych, obsługi danych rastrowych, geokodowania, itd. Bardzo istotną cechą technologii Oracle Spatial i Oracle Locator jest ich ścisła integracja z jądrem serwera bazy danych, co powoduje, że przetwarzanie danych przestrzennych odbywa się po stronie serwera, a nie po stronie aplikacji biznesowej. Dane przestrzenne mogą być przechowywane w bazie danych dzięki użyciu specjalizowanych typów danych, m.in. typu SDO_GEOMETRY. SDO_GEOMETRY to obiektowy typ danych służący do opisu pojedynczego obiektu przestrzennego. Pojedynczym obiektem przestrzennym może być punkt geometryczny, linia łamana, łuk, łańcuch łuków, wielokąt, wielokąt z otworami, zamknięty łańcuch łuków, itp. W celu utworzenia obiektu SDO_GEOMETRY konieczne jest wyspecyfikowanie współrzędnych (2D lub 3D) wszystkich punktów wierzchołkowych, połączenie ich krawędziami oraz wskazanie użytego układu współrzędnych (rys. 1). Obiekty SDO_GEOMETRY są zwykle przechowywane w tabelach bazy danych. Kolumny przechowujące obiekty SDO_GEOMETRY nazywane są warstwami przestrzennymi (ang. spatial layers). W celu poprawy wydajności zapytań operujących na warstwach przestrzennych zwykle buduje się dla nich specjalizowane struktury indeksów przestrzennych, np. indeksy R-drzewo.

22 Maciej Zakrzewicz MDSYS.SDO_GEOMETRY(2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1), MDSYS.SDO_ORDINATE_ARRAY(67.06, 56.56, 65.02, 57.57, 54.12, 75.9, 54.86, 78.57, 49.45, 77.89, 47.07, 70.44, 37.56, 70.17, 31.83, 65.70, 26.08, 60.96, 24.24, 50.48, 25.40, 39.29, 29.11, 39.13, 34.61, 34.29, 32.44, 31.19, 37.59, 26.75, 43.69, 29.46, 45.38, 44.70, 54.49, 50.19, 66.72, 54.53, 66.85, 55.13, 67.06, 56.56)) Rys. 1. Przykładowy obiekt SDO_GEOMETRY opisujący kształt województwa wielkopolskiego Oprócz możliwości trwałego przechowywania obiektów przestrzennych w bazie danych, Oracle Spatial i Oracle Locator oferują szereg funkcji ich wyszukiwania i przetwarzania. Takie specjalizowane funkcje języka SQL jak: SDO_FILTER, SDO_RELATE, SDO_WITHIN_DISTANCE, SDO_NN, pozwalają wyszukiwać obiekty przestrzenne spełniające określone relacje topologiczne wobec innych obiektów przestrzennych: zawieranie wewnątrz innego obiektu, otaczanie innego obiektu, stykanie się z innym obiektem, posiadanie powierzchni wspólnej z innym obiektem, rozłączność z innym obiektem, bliskość w stosunku do innego obiektu, itp. Funkcje SDO_UNION, SDO_INTERSECTION, SDO_DIFFERENCE umożliwiają generowanie nowych obiektów przestrzennych w wyniku połączenia lub przecięcia obiektów istniejących. Funkcja SDO_JOIN umożliwia wykonywanie operacji relacyjnego połączenia tabel w oparciu o relacje topologiczne. Dostępnych jest wiele funkcji analizy danych przestrzennych, obejmującej wyliczanie długości, powierzchni, obszarów buforowych, itd. Oracle MapViewer i MapBuilder Pomimo względnej łatwości wprowadzania i przetwarzania danych przestrzennych w systemach baz danych Oracle, często okazuje się, że najtrudniejszym zadaniem jest wizualizacja tych danych w formie map geograficznych. Przypomnijmy, że obiekty przestrzenne są wewnętrznie opisywane za pomocą list współrzędnych punktów wierzchołkowych oraz list łączących te punkty krawędzi. Graficzna prezentacja tak opisanych wielokątów, punktów, linii łamanych, może przysporzyć wiele trudności programistom przywykłym do wizualizacji wyłącznie danych tekstowych i numerycznych. Niezbędne byłoby zdobycie umiejętności praktycznego wykorzystywania graficznych bibliotek programistycznych. Interesującą pomocą w realizacji zadań wizualizacji obiektów przestrzennych w formie map geograficznych może okazać się narzędzie Oracle MapViewer, stanowiące składnik serwera aplikacji Oracle Application Server 10g (w wersji Java, Standard i Enterprise). Oracle MapViewer to zrealizowana w technologii Java EE uniwersalna aplikacja dokonująca wizualizacji map geograficznych w oparciu o obiekty przestrzenne zwrócone przez zapytania SQL zdefiniowane przez programistę. Wizualizowane mapy mogą składać się z wielu warstw przestrzennych, a programista może definiować odrębną stylistykę graficzną dla każdej z warstw. Mapy są interakcyjne pozwalają użytkownikowi na przesuwanie fragmentu mapy w oknie i zmianę skali. Architekturę narzędzia Oracle MapViewer przedstawiono na rys. 2. Przepływ sterowania jest następujący. Aplikacja użytkowa przekazuje do MapViewera żądania XML generowania map graficznych. Żądania XML wskazują źródło danych dla generowania mapy oraz określają stylistykę graficzną dla wizualizowanych warstw przestrzennych. Następnie, MapViewer nawiązuje połączenie ze źródłem danych, za pomocą zapytań SQL pobiera obiekty przestrzenne, a w kolejnym kroku generuje graficzne pliki GIF, JPEG, PNG lub SVG zawierające obrazy map. Obrazy map są przekazywane aplikacji użytkowej, która z sposób interakcyjny prezentuje je użytkownikowi.

Wizualizacja danych przestrzennych i map geograficznych w aplikacjach Oracle ADF 23 aplikacja użytkowa XML GIF, JPEG, PNG, SVG,... MapViewer serwer aplikacji SQL obiekty przestrzenne Rys. 2. Architektura narzędzia Oracle MapViewer W celu umożliwienia współdzielenia definicji stylistyki graficznej warstw przestrzennych i definicji map pomiędzy wieloma aplikacjami użytkowymi, możliwe jest ich predefiniowanie w bazie danych. Służące do tego celu narzędzie Oracle MapBuilder pozwala na zdefiniowanie m.in. kolorystyki, czcionek, ikonografii, rodzajów linii dla każdej warstwy przestrzennej oraz na zdefiniowanie kompozycji warstw przestrzennych w mapy geograficzne. Definicje Oracle MapBuildera są przechowywane w formacie XML w tabelach systemowych dostępnych poprzez perspektywy USER_SDO_STYLES (prymitywne style graficzne), USER_SDO_THEMES (powiązania styli graficznych z warstwami przestrzennymi, tzw. tematami) i USER_SDO_MAPS (powiązania warstw przestrzennych w mapy geograficzne). Dzięki predefiniowaniu map i ich stylistyki graficznej, żądania aplikacji użytkowych wysyłane do Oracle MapViewera mogą być istotnie uproszczone. Wygląd graficznego interfejsu użytkownika narzędzia Oracle MapBuilder przedstawiono na rys. 3. Rys. 3. Interfejs użytkownika w narzędziu Oracle MapBuilder

24 Maciej Zakrzewicz 3. Tworzenie aplikacji Java EE w technologii Oracle ADF Oracle ADF to popularne środowisko szkieletowe służące do implementacji aplikacji Java EE intensywnie korzystających z baz danych [1]. Na Oracle ADF składa się rodzina odrębnych rozwiązań technicznych, obejmująca m.in.: ADF Business Components, ADF Faces, ADF Swing, ADF Bindings. ADF Business Components to uniwersalna warstwa zorientowanego obiektowo dostępu do relacyjnych baz danych. Umożliwia programiście Java realizację zapytań i przetwarzania danych bez potrzeby wykorzystywania konstrukcji języka SQL lecz poprzez użycie obiektowego modelu tych danych. ADF Faces i ADF Swing są bibliotekami komponentów wizualnych służących do konstrukcji graficznego interfejsu użytkownika w aplikacjach JavaServer Pages i w aplikacjach klient-serwer. Oferują ponad sto gotowych komponentów: pola tekstowe, przyciski wyboru, przyciski akcji, zakładki, paski postępu, listy rozwijane, tabele, rozwijane menu, wykresy, itd. Warto nadmienić, że komponenty ADF Faces korzystają z mechanizmów AJAX w celu poprawy stopnia interakcyjności. ADF Bindings to technologia deklaratywnego kojarzenia komponentów wizualnych z ich źródłami danych. Dzięki niej np. powiązanie wyświetlanego na ekranie pola tekstowego ze źródłową kolumną tabeli w bazie danych nie wymaga programowania kodu w języku Java lecz polega jedynie na zapisaniu referencji do kolumny tabeli jako atrybutu komponentu pola tekstowego. ADF Bindings może współpracować zarówno z ADF Business Components, jak i z alternatywnymi warstwami zorientowanego obiektowo dostępu do relacyjnych baz danych: JPA Entities, Hibernate, TopLink, WebServices, itp. Przykład aplikacji zrealizowanej w technologii Oracle ADF został przedstawiony na rys. 4. Rys. 4. Przykładowa aplikacja zrealizowana w technologii Oracle ADF 4. Wizualizacja danych przestrzennych w aplikacjach Oracle ADF 4.1. Google Maps API Dane przestrzenne stanowiące zasoby platformy Google Maps mogą być wizualizowane w aplikacjach ADF za pomocą bibliotek Google Maps API [3][4]. Google Maps API to zbiór klas języka Java Script, których wywołania mogą być osadzane wewnątrz dowolnych dokumentów HTML, w tym dokumentów generowanych dynamicznie przez aplikacje Oracle ADF. Treść prezentowanej mapy Google Maps może być dynamicznie pozycjonowana, powiększana i pomniej-

Wizualizacja danych przestrzennych i map geograficznych w aplikacjach Oracle ADF 25 szana, wyposażana w odnośniki (np. opisane przez obiekty przestrzenne w bazie danych), obsługę zdarzeń, itp. Niepożądanym skutkiem ubocznym uniwersalności tego rozwiązania jest konieczność osadzania dużych fragmentów kodu Java Script wewnątrz aplikacji Oracle ADF. Przykład użycia Google Maps API w aplikacji Oracle ADF pokazano na rys. 5.... <trh:script source= "http://maps.google.com/maps?file=api&v=2&key=..."> </trh:script>... <trh:script> function load() { var map = new GMap2(document.getElementById("map")); map.addcontrol(new GLargeMapControl()); var MapTypes = map.getmaptypes(); MapTypes[0].getName= function() {return "Mapa";} MapTypes[1].getName = function() {return "Satelitarna";} MapTypes[2].getName = function() {return "Hybrydowa";} map.addcontrol(new GMapTypeControl()); map.addcontrol(new GOverviewMapControl()); map.addcontrol(new GScaleControl()); map.setmaptype(g_hybrid_map); } </trh:script>... Rys. 5. Przykład użycia Google Map API w aplikacji Oracle ADF 4.2. ADF Geographic Map Interesujące funkcje wizualizacji map opartych o obiekty przestrzenne SDO_GEOMETRY zgromadzone w bazie danych Oracle oferuje komponent wizualny ADF Geographic Map [1][2]. Komponent ten współpracuje z narzędziem Oracle MapViewer w celu generowania obrazów graficznych map, które zostały predefiniowane przez programistę za pomocą narzędzia Oracle MapBuilder. Wygenerowane obrazy map geograficznych są interakcyjnie prezentowane użytkownikowi przez komponent ADF Geographic Map, któremu zwykle towarzyszy też pomocniczy komponent narzędziowy MapToolbar (zarządzanie mapą). Obraz mapy geograficznej prezentowany użytkownikowi końcowemu może być wzbogacony o dynamicznie nakładane warstwy informacyjne. Dostępne są trzy rodzaje warstw informacyjnych: warstwy kolorystyczne, warstwy punktowe, warstwy wykresowe. Warstwy kolorystyczne umożliwiają nałożenie na mapę barwnych wielokątów, których kolor jest uzależniony od wartości danych opisowych w bazie danych, np. od liczby mieszkańców danego kraju. Warstwy punktowe służą do nanoszenia punktów, których współrzędne (XY lub adresowe) pobierane są z bazy danych, np. lokalizacji oddziałów firmy. Z kolei warstwy wykresowe umożliwiają nałożenie wykresów kołowych lub słupkowych na obszary geograficzne mapy w celu prezentacji opisowych wartości liczbowych pobieranych z bazy danych, np. poziomu sprzedaży w każdym województwie. Nakładane warstwy informacyjne umożliwiają programiście obsługę zdarzeń inicjowanych przez użytkownika, np. kliknięcia myszką w miasto lub województwo w celu wyświetlenia jego danych opisowych. Zasadę kompozycji mapy z użyciem nakładanych warstw informacyjnych przedstawiono na rys. 6. Natomiast przykład użycia komponentu ADF Geographic Map w aplikacji Oracle ADF znajduje się na rys. 7.

26 Maciej Zakrzewicz dane dla warstwy info nakładana warstwa informacyjna mapa bazowa MapViewer obraz wygenerowany przez ADF Geographic Map dane dla mapy bazowej Rys. 6. Kompozycja mapy z użyciem nakładanych warstw informacyjnych Rys. 7. Przykład użycia komponentu ADF Geographic Map Komponent ADF Geographic Map, z pomocą elementu MapToolbar, oferuje wiele wbudowanych funkcji użytkowych, obejmujących powiększanie/pomniejszanie wybranego obszaru mapy, pomiar odległości na mapie, pomiar pola powierzchni kształtu narysowanego na mapie (rys. 8), wyświetlanie legendy, podgląd otoczenia wyświetlanego fragmentu mapy.

Wizualizacja danych przestrzennych i map geograficznych w aplikacjach Oracle ADF 27 Rys. 8. Funkcja pomiaru pola powierzchni kształtu narysowanego na mapie Użycie komponentu ADF Geographic Map wymaga określenia szeregu parametrów jego pracy. Parametry te obejmują między innymi: źródło danych przestrzennych dla narzędzia MapViewer (datasource), adres URL narzędzia MapViewer, stanowiącego element składowy serwera aplikacji Oracle Application Server 10g (mapviewerurl), nazwa mapy wcześniej zdefiniowanej za pomocą narzędzia MapBuilder (basemapname), początkowe położenie mapy na ekranie, określone za pomocą współrzędnych XY (startingx, startingy), początkowe powiększenie mapy na ekranie, określone jako współczynnik powiększenia (mapzoom), identyfikator wykorzystywanego układu współrzędnych (srid), jednostki miary dla pomiaru odległości i pola powierzchni (unit), źródła danych dla nakładanych warstw informacyjnych (<dvt:mappointtheme>), opcjonalnie, adres URL narzędzia Oracle Geocoder, umożliwiającego translację adresów pocztowych na współrzędne geograficzne. Poniżej przedstawiono kod źródłowy aplikacji JavaServer Pages dokonującej wizualizacji mapy z rys. 7. Definicja mapy bazowej ELOCATION_MERCATOR.WORLD_MAP oraz parametry połączenia z narzędziem Oracle MapViewer zostały pominięte. Autor korzystał z publicznych map z http://elocation.oracle.com/mapviewer. <?xml version='1.0' encoding='windows-1250'?> <jsp:root xmlns:jsp="http://java.sun.com/jsp/page" version="2.0" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich" xmlns:dvt="http://xmlns.oracle.com/dss/adf/faces"> <f:view> <af:document> <af:form> <af:panelwindow closeiconvisible="false" title="oracle Maps in JDeveloper 11g"> <dvt:maptoolbar mapid="map"/> <dvt:map id="map" startingx="0.0" mapserverconfigid="mapconfig1" basemapname="elocation_mercator.world_map" mapzoom="0" startingy="0.0" unit="meters"> </dvt:map> </af:panelwindow> </af:form>

28 Maciej Zakrzewicz </af:document> </f:view> </jsp:root> 5. Podsumowanie W artykule przedstawiono dwa rozwiązania technologiczne, umożliwiające twórcom aplikacji Oracle ADF łatwą wizualizację danych przestrzennych i map geograficznych. Rozwiązanie oparte na Google Maps wymaga implementacji fragmentów kodu źródłowego aplikacji w języku Java Script, pozwala jednak na korzystanie z bogatej publicznej mapy geograficznej Google. Z kolei rozwiązanie oparte na ADF Geographic Map pozwala wizualizować dowolne dane przestrzenne Oracle Spatial i Oracle Locator zarówno w formie mapy bazowej, jak i w formie dynamicznie nakładanych warstw informacyjnych, a ponadto, nie wymaga bezpośredniego stosowania interfejsów języka Java Script. Niedogodnością ADF Geographic Map jest konieczność korzystania z serwera aplikacji Oracle Application Server i jego modułu MapViewer. Bibliografia [1] Dokumentacja techniczna: Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) [2] Andrejus Baranovskis, Oracle Maps in JDeveloper 11g - Even More Simple, http://andrejusb.blogspot.com [3] Dokumentacha techniczna: Google Maps API Concepts, http://code.google.com [4] Dokumentacha techniczna: Google Maps API Reference, http://code.google.com [5] Dokumentacja techniczna: Oracle Spatial User's Guide and Reference