`Bazy Danych: Rozwój metod i technologii`, Kozielski S
Transkrypt
`Bazy Danych: Rozwój metod i technologii`, Kozielski S
Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Rozdział 29 w Bazy danych w zastosowaniach monitoringu i lokalizacji pojazdów w 1 Wstęp da .b w Streszczenie. Zastosowanie systemu GPS na początku spełniało role nawigacyjne. W obecnych czasach, wraz z rozwojem techniki oraz technologii telekomunikacyjnej znajduje zastosowanie także w monitoringu i lokalizacji pojazdów. System ten podaje informacje na temat położenia geograficznego pojazdu, a także jego cech i parametrów fizycznych, co w połączeniu z gromadzeniem tych informacji w bazie danych znacznie ułatwia zarządzanie flotą pojazdów. 2 Obszary zastosowań systemu GPS pl s. W obecnych czasach najważniejszymi oraz najpowszechniejszymi narzędziami, wspierającymi pracę człowieka, są komputery. Służą one m.in. do gromadzenia i analizy danych, pozyskiwania informacji, opisu obiektów i zjawisk. Dane, które służą do opisu cech obiektów, zjawisk, położenia w przestrzeni nazywamy danymi geograficznymi. W związku z tym powstały tzw. Systemy Informacji Przestrzennej (GIS) [1], które służą do wprowadzania, gromadzenia, przetwarzania oraz wizualizacji danych geograficznych. Systemy informacji przestrzennej w obecnych czasach stały się jednym z najszybciej rozwijających się obszarów zastosowania informatyki. Postęp sprawia, że rośnie zapotrzebowanie na dane przestrzenne o wysokim stopniu aktualności i dokładności. Wprowadzono nowoczesne standardy gromadzenia, udostępniania i używania informacji zorientowanej przestrzennie. W pozyskiwaniu wiarygodnej informacji o terenie pomagają obrazy satelitarne, łączność GPS (Global Positioning System), natomiast w samym przekazywaniu informacji także technologia pakietowego przesyłania danych GPRS (General Packet Radio Service) w połączeniu z systemem telefonii komórkowej GSM (Global System for Mobile Communications). GPS to system nawigacji satelitarnej przeznaczony do szybkiego i dokładnego wyznaczania położenia geograficznego (współrzędnych geograficznych) [7]. Sygnały odbierane są przez Katarzyna Harężlak, Małgorzata Wróbel-Hetman Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska email:[email protected], [email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 K. Harężlak, M. Wróbel w umieszczony w dowolnym miejscu odbiornik GPS. Dostęp do tych sygnałów jest ciągły. Jedynym warunkiem odbioru sygnałów jest to, że odbiornik musi mieć kontakt z satelitą. Zasada działania GPS polega na pomiarze czasu dotarcia sygnału radiowego z satelitów do odbiornika. Dzięki temu, że znana jest prędkość fali elektromagnetycznej, można obliczyć odległość odbiornika od satelitów. Znając położenie satelitów można obliczyć pozycję geograficzną, w której znajduje się urządzenie, wysokość względem układu odniesienia a także z dość dużą dokładnością aktualny czas. To wszystko sprawia, że systemy GPS mogą być wykorzystywane do tworzenia aplikacji oraz oprogramowania GIS. Za pomocą nawigacji satelitarnej można tworzyć wszelkiego rodzaje mapy cyfrowe, plany miast oraz gromadzić informacje kartograficzne, topograficzne i inne. Produkcja map cyfrowych oparta jest na regularnych pracach terenowych. Do przygotowania grafiki planów miast wykorzystywane są zdjęcia lotnicze, a wszystkie dane czerpane są z pomiarów GPS. Nie jest to jednak jedyne zastosowanie tego systemu. Dzięki umieszczeniu odbiorników w pojazdach, można budować aplikacje zajmujące się ich lokalizacją i zarządzaniem. Informacje pozyskiwane z takiego urządzenia mogą również służyć do monitoringu i sprawnego zarządzania pojazdami realizującymi określone usługi. Mogą należeć do nich pojazdy Ratownictwa Medycznego, czy pojazdy realizujące usługi kurierskie. Tworzone są też systemy mające za zadanie gromadzenie informacji o zużyciu paliwa, sygnalizacji stanów awaryjnych pojazdów czy identyfikacji kierowcy [8,9,11]. Pozwalają one sprawdzić, kiedy kierowcy rozpoczęli i zakończyli pracę oraz udostępniają informacje o nieuprawnionym użyciu pojazdu, co może skutkować wysłaniem powiadomienia drogą mailową lub z wykorzystaniem wiadomości sms. da .b w w 3 Wyznaczanie obszaru geograficznego obsługiwanego przez pojazdy Ratownictwa Medycznego pl s. Systemy działające na rynku pokrywają w dużej mierze zapotrzebowanie na produkty umożliwiające sprawne zarządzanie i monitoring pojazdów. Natomiast wraz z rozwojem technologii, zmianami gospodarczymi, a także przystąpieniem do Unii Europejskiej wzrosło zapotrzebowanie na analizę danych i informacji gromadzonych w bazach danych. Przykładem mogą być nowe procedury i normy ściśle określające czas dojazdu karetki do poszkodowanego [5]. Konkretnie, w przypadku pojazdów Ratownictwa Medycznego, poszkodowany powinien otrzymać pomoc w przeciągu 8 minut w terenie zabudowanym i w przeciągu 15 minut w terenie niezabudowanym. Ważnym aspektem stała się możliwość weryfikacji, czy flota pojazdów Ratownictwa Medycznego spełnia wyżej wymienione wymagania. Kolejnym problemem jest trafność decyzji dyspozytora o tym, którą karetkę wysłać do pacjenta i czy ma ona szansę udzielić mu pomocy w żądanym czasie. Odpowiedzią na tak postawiony problem jest system, który na podstawie szczegółowej analizy historii przejazdów karetek będzie umożliwiać precyzyjne rozmieszczenie pojazdów ratowniczych na terenie miasta oraz będzie sprawdzać, czy ich położenie spełnia wymagania czasowe [2,6,10]. Dodatkowym atutem takiego systemu jest wskazanie dyspozytorowi, które z karetek, będących w terenie, znajdują się w wyznaczonym obszarze i są wolne — mogą jechać do nowego zgłoszenia. System taki musi bazować także na aproksymacji niektórych obszarów w przypadku, gdy nie wszystkie tereny miasta zostały zarejestrowane w bazie danych. Z dnia na dzień obszarów aproksymowanych będzie mniej, co pozwoli na bardziej precyzyjną analizę. Ważną cechą takiego systemu jest możliwość generowania raportów podsumowujących 332 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Bazy danych w zastosowaniach monitoringu i lokalizacji pojazdów pracę pojazdów Ratownictwa Medycznego, co może przyczynić się do lepszej organizacji i samokontroli firmy (minimalna liczba karetek, maksymalny obsługiwany obszar). 4 Baza danych systemu lokalizacji i monitoringu pojazdu w Do stworzenia systemu spełniającego omówione wcześniej wymagania wykorzystano bazę danych udostępnioną przez firmę Aksel Sp. z o.o. z Rybnika. Przy projekcie tej bazy danych przyjęto, że każdy pojazd wyposażony w odbiornik GPS może, co 10 sekund, wysyłać paczkę informacji o swoim statusie. Informacje takie, obejmujące między innymi numer rejestracyjny pojazdu, położenie, status, ilość paliwa, numer kierowcy, w celu wygodnej analizy, powinny zostać zapisane w odpowiednio zaprojektowanej do tego bazie danych. Należało uwzględnić w niej możliwość identyfikacji konkretnego pojazdu oraz przestrzeń na gromadzenie skojarzonych z nim danych. Nie bez znaczenia jest tutaj liczba rekordów wprowadzanych do bazy danych. Zakładając, że mamy do dyspozycji 10 pojazdów, można łatwo obliczyć, że w ciągu jednej godziny do bazy danych może maksymalnie trafić 60 min*6 zapisów*10 pojazdów = 3600 rekordów. Przy założeniu minimum ośmiogodzinnego dnia pracy, liczba ta wynosi 28800, a dla całodobowej pracy – 3*28800 wierszy dziennie. Fragment bazy danych wykorzystywanej w projekcie prezentuje rysunek 1. Tabela Pojazd gromadzi dane o karetkach należących do floty Ratownictwa Medycznego i, poza ich identyfikatorem, zawiera między innymi numer pierwszej i aktualnej paczki. Natomiast w tabeli Polozenie_Pojazdu zapisuje się kolejne dane uzyskane w ramach paczki, a w nich między innymi – długość i szerokość geograficzną, prędkość w kierunku wschodnim i północnym, maskę określającą dodatkowe informacje o karetce (sygnał, status zlecenia, rodzaj karetki) oraz czas wpisu mierzony w sekundach od dnia 6.01.1980 r. godz.00:00. da .b w w Polozenie_Pojazdu I F F I LI SI SI I <UNDEF> id_polozenia <pi> Pojazd id_pojazdu akt_nr_paczki first_nr_paczki ..... I I I <UNDEF> pl s. nr_paczki dl_geogr szer_geogr maska czas speed_N speed_E id_polozenia ..... id_pojazdu <pi> Rys. 1. Schemat bazy danych gromadzącej dane o pojeździe 5 Algorytm przeszukiwania bazy danych Algorytm wyznaczający obszar obsługiwany przez pojazdy Ratownictwa Medycznego oparty jest o analizę danych historycznych zawartych w bazie danych i zrealizowany jest w oparciu o rekurencję. Rekurencję taką można realizować na poziomie serwera bazy danych z wykorzystaniem języka SQL lub programowo na poziomie aplikacji. W niniejszym rozdziale omówione zostanie drugie z rozwiązań. 333 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 K. Harężlak, M. Wróbel 5.1 Obliczenia czasowe oraz geograficzne Podczas tworzenia systemu należało przyjąć pewne założenia dotyczące dokładności położenia pojazdów, uwzględnić dane z zakresu geografii Polski, a także zaimplementować weryfikację warunków czasowych. w 5.1.1 Dokładność położenia geograficznego Przyjęta dokładność pobierania z bazy danych współrzędnych położenia karetek została określona metodą doświadczalną. Przy założeniu, że szerokość drogi (pasa ruchu) to około 4 metry, przyjęta dokładność w aplikacji to 10 metrów (2 pasy ruchu + poprawka na błędy przesyłanej pozycji). Biorąc pod uwagę to, że w Polsce przyjmuje się: w − 1 stopień szerokości geograficznej = 111,239km, − 1 stopień długości geograficznej = 71,698km, w łatwo można obliczyć, że 10 metrów to 0,0000898 stopnia szerokości geograficznej lub 0,0001394 stopnia długości geograficznej. Takie wartości były wykorzystywane w trakcie analizy bazy danych. da .b 5.1.2 Obliczanie kierunku jazdy Mając w bazie danych wartości prędkości dla kierunku wschodniego i północnego, łatwo można obliczyć kąt (kierunek) jazdy pojazdu. Należało w tym celu wykorzystać dodawanie wektorów w odpowiednich ćwiartkach układu współrzędnych, a także funkcje trygonometryczne. Przykład: Dane : pred_N – prędkość w kierunku północnym (>0), pred_E – prędkość w kierunku wschodni (<0). Zakładając, że prędkość północna jest wartością dodatnią, a prędkość wschodnia ujemną możemy stwierdzić, że kąt jazdy będzie znajdował się w czwartej ćwiartce układu współrzędnych (rys.2). pl s. 5.1.3 Weryfikacja parametrów jazdy karetki Parametry czasowe, jakie można zmieniać w systemie to: − obszar dojazdu karetki (2/4/6/8/10/12/15 minut), − dzień tygodnia (rozróżniany weekend, piątek, poniedziałek–czwartek), − pora w ciągu dnia (godziny szczytu, godziny poza szczytem). 334 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Bazy danych w zastosowaniach monitoringu i lokalizacji pojazdów c – wektor wypadkowy (kierunek jazdy) c2=|pred_E|2 + |pred_N|2, c pred_N ß = arcsin(pred_N/c), α – kąt jazdy pojazdu, w ß pred_E α = ß + 180º. α w Rys. 2. Kąt jazdy pojazdu da .b w Analizując obszar dojazdu na etapie przeszukiwania bazy danych, nie potrzebna jest weryfikacja czasowa. Jest to parametr, który jedynie informuje jak długo baza danych będzie przeszukiwana, jak obszerny teren należy przeanalizować. W przypadku dwóch kolejnych parametrów wymagane jest sprawdzenie, czy odpowiednie warunki są spełniane dla analizowanej karetki i czy powinna być brana pod uwagę. W bazie danych czas przyjścia paczki, zawierającej informacje o pojeździe, zapisywany jest jako różnica sekund pomiędzy datą obecną, a 06.01.1980r. godziną 00:00. Zatem każda weryfikacja warunków czasowych zmusza do przekształceń matematycznych sprawdzających, czy pobrana z bazy danych wielkość mieści się w obliczonych wcześniej widełkach czasowych. Aby określić ramy dla dni tygodnia, należało zastosować poniższe układy nierówności: pl s. − piątek: 5 <= (MOD(wartość_z_bazy, 604800)/86400) < 6 − sobota, niedziela: (MOD(wartość_z_bazy, 604800)/86400) < 1 lub (MOD(wartość_z_bazy, 604800)/86400) >= 6 − poniedziałek – czwartek 1 <= (MOD(wartość_z_bazy, 604800)/86400)< 5 gdzie: 86400 – liczba sekund w ciągu doby, 604800 – liczba sekund w ciągu tygodnia, MOD(a,b) – funkcja ‘modulo’ zwracająca resztę z dzielenia liczby a przez liczbę b. Ramy czasowe dla pory dnia, wymagały dodatkowo zawężenia zakresów dla dni. Po określeniu dnia tygodnia, przy założeniu, że jest on zgodny z oczekiwanym, poprzez kolejne wywołanie funkcji ‘mod’ można otrzymać liczbę sekund, które minęły od godziny 00:00 danego dnia. − MOD((MOD(wartość_z_bazy,604800)),86400) Następnie, przez odpowiednie porównanie, określa się dokładną godzinę przejazdu pojazdu. Umożliwia to stwierdzenie, czy czas jest zgodny z zadanym (np. czy pojazd jechał w godzinach szczytu): 335 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 K. Harężlak, M. Wróbel − przyjęte godziny szczytu: 06.00-09.00 oraz 15.00-18.00, − przyjęte godziny poza szczytem: 09.00-15.00 oraz 18.00-06.00. 5.2 Rozbudowa bazy danych w Podczas analizy algorytmu, wykorzystującego informacje zawarte w bazie danych, zauważono, że obliczenia dotyczące obszarów, w których może pojawić się karetka, będą się powtarzać. Zmodyfikowano zatem pierwotny schemat bazy danych przez dodanie nowych tabel, zawierających informacje o wcześniej wyznaczonych punktach (rys. 3). Unika się w ten sposób analizy i parokrotnych obliczeń dla tych samych obszarów. w PKT_START LI F F I F F F w Id_pkt dl_geogr szer_geogr par_czas czas_obsz x_double y_double PKT_POSR id_pkt_posr dl_geogr szer_geogr suma_czas LI F F I id_pkt_posr <pi> Id_pkt <pi> da .b Rys. 3. Dodatkowe tabele bazy danych pl s. — Tabela PKT_START – zawiera punkty startowe karetek wyznaczone przez użytkownika oprogramowania: Id_pkt – identyfikator punktu startowego karetki, dl_geogr – położenie punktu startowego (długość geograficzna), szer_geogr – położenie punktu startowego (szerokość geograficzna), par_czas – maska zadanych przez użytkownika parametrów czasowych, 0 bit – sygnał (tak/nie), 1 bit – sygnał nieistotny, 2 bit – godziny szczytu (tak/nie), 3 bit – godziny nieistotne, 4 bit – piątek, 5 bit – weekend, 6 bit – poniedziałek – czwartek, 7 bit – dzień tygodnia nieistotny, czas_obsz – czas obszaru zadanego przez użytkownika [sek], x_double – położenie punktu startowego (stopnie długości geograficznej), y_double – położenie punktu startowego (stopnie szerokości geograficznej), — Tabla PKT_POSR – zawiera punkty pośrednie przejazdu karetek; są to uśrednione punkty położeń pojazdów w określonych obszarach wraz z danymi parametrami czasowymi: id_pkt_posr – identyfikator punktu pośredniego, dl_geogr – położenie punktu pośredniego (długość geograficzna), szer_geogr – położenie punktu pośredniego (szerokość geograficzna), suma_czas – czas dojazdu do tego punktu z punktu startowego [sek]. 336 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Bazy danych w zastosowaniach monitoringu i lokalizacji pojazdów 5.3 Algorytm przeszukiwania bazy danych w Funkcja, szukająca kolejnych miejsc pobytu karetki, wywoływana jest dla punków znajdujących się w odstępie 30 sekund, odpowiednio do pokonanej przez pojazd drogi. Uwzględnione są także kierunki poruszania się karetki tak, aby rekurencja nie była wykonywana niepotrzebnie dwa razy w tym samym kierunku oraz, aby kolejne punkty pobytu karetki nie wskazywały cofania się pojazdu (rys. 4). da .b w w Rys. 4. Kierunki wywoływania rekurencji pl s. Algorytm rekurencyjny wyznaczający obszar dojazdu karetek Czynnością wstępną algorytmu jest sprawdzenie, czy zadany punkt startowy nie znajduje się już w tabeli PKT_START i czy obliczone dla niego punkty pośrednie (tabela PKT_POSR) spełniają zadane warunki czasowe. Jeśli tak, na podstawie zawartości wspomnianych tabel, rysowany jest na mapie poszukiwany obszar. W przeciwnym wypadku wprowadzany jest nowy rekord do pierwszej z tabel i wywoływana jest funkcja działająca zgodnie z następującym algorytmem rekurencyjnym. − W pierwszym jego kroku określa się granice dokładności położenia karetki, jakie mogą być wzięte pod uwagę przy analizie danych (zakłada się dokładność 10 metrów). − Następnie wyznacza się liczbę kierunków, w których ma się odbywać analiza. Po ich ustaleniu, należy pobrać z bazy danych informacje o pojazdach będących w miejscu wskazania karetki. − Kolejny krok to sprawdzenie, czy znaleziona karetka porusza się w jednym z interesujących nas kierunków, czy spełnia zadane parametry czasowe, czy jej prędkość jest większa od zera oraz, czy różnica czasu w pobranych rekordach jest odpowiednia (nie jest zbyt duża, nie wskazuje na błąd zapisu do bazy danych pobranej paczki). − Dla karetek, spełniających wcześniej weryfikowane warunki, uśrednia się ich położenie po 30 sekundach (rekurencja wywoływana jest dla przedziałów 30 sekundowych). 337 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 K. Harężlak, M. Wróbel w − Uśrednione wyniki dla każdego kierunku jazdy wprowadzane są do tabeli PKT_POSR oraz do tabeli tymczasowej. − Po zakończeniu obliczeń uśredniających, dla każdego punktu znajdującego się w tabeli tymczasowej, zaznacza się punkt na mapie pod warunkiem, że spełnione zostały warunki czasowe dotyczące obszaru dojazdu karetki. W przeciwnym przypadku, każdy obliczony punktu pośredni staje się nowym punktem startowym dla rekurencyjnie powtarzanego algorytmu. Istotnym problemem jest sposób określania kierunków wywołań rekurencji (rys. 4). Przy pierwszym wywołaniu funkcji algorytm uwzględnia wszystkie znalezione kierunki (dla skrzyżowania – liczba dochodzących dróg, dla prostej są to dwa kierunki). W każdym kolejnym kroku, z uśrednionej prędkości karetek, otrzymujemy kąt jazdy. Kolejna rekurencja sprawdza, czy znalezione karetki spełniają kierunek jazdy, jeżeli tak, to będą one uwzględnione i zapisane jako kolejne punkty pośrednie, jeżeli nie – zostaną pominięte. Działanie to ma na celu odrzucenie kierunków jazdy, które powodują cofanie się karetki w stronę jej punktu startowego. Zawsze sprawdzane jest położenie punktu pośredniego w celu uzyskania informacji, czy znajduje się on na skrzyżowaniu, czy na prostej (jest to istotne, gdyż uśrednianie zostanie wykonane jedynie dla liczby kierunków równej liczbie dróg dochodzących do danego punktu startowego/pośredniego). Ważnym podkreślenia jest fakt, że wprowadzenie do bazy danych tabel PKT_START oraz PKT_POSR zaowocowało znacznym przyspieszeniem działania algorytmu. W tabelach tych zapisywane są obszary raz obliczone, co powoduje zmniejszenie liczby wykonywanych rekurencji. da .b w w 5.4 Aproksymacja pl s. W przypadku braku danych, bądź ograniczonej ich ilości dla niektórych obszarów (karetki nie jeździły jeszcze na danym terenie), wykonywana jest aproksymacja. Algorytm wyznaczający przybliżone obszary opiera się na danych będących w tabelach głównych, a także tabelach dodatkowych. Aproksymacja wykonywana jest dla każdego punktu startowego, który w bazie danych nie posiada wystarczającej liczby punktów krańcowych wyznaczanego obszaru dojazdu pojazdów Ratownictwa Medycznego. Obejmuje ona następujące działania: − wyznaczenie, na podstawie liczby punktów i ich rozmieszczenia, kierunków wymagających aproksymacji, − sprawdzenie, czy we wskazanych obszarach istnieją jakiekolwiek punkty pośrednie, − obliczenie średniej prędkości na podstawie informacji o punktach pośrednich w aproksymowanych obszarach lub, w przypadku ich braku, na podstawie ogólnej średniej dla systemu, przy zachowanych parametrach czasowych, − ustalenie dystansu, który może przebyć pojazd z uwzględnieniem na trasie przejazdu współczynników gęstości terenów zielonych, wód i ulic. 6 Prezentacja wyników Mapy cyfrowe są najważniejszym elementem każdego Systemu Informacji Geograficznej (GIS). Ich dostępność i dokładność decyduje o tym, jakie analizy można wykonać, i od ich jakości zależy przydatność otrzymywanych wyników. W wielu dziedzinach, takich jak: geomarketing, usługi lokalizacyjne, monitorowanie pojazdów, nawigacja, wspieranie 338 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Bazy danych w zastosowaniach monitoringu i lokalizacji pojazdów dyspozytorów służb ratowniczych, optymalizowanie transportu oraz projektowanie infrastruktury kluczowe jest użycie mapy, na której wiernie odwzorowano rzeczywistość. 6.1 Struktura mapy cyfrowej w Mapa cyfrowa to baza danych, która oprócz różnego typu informacji przechowywanych powszechnie również w innych bazach danych, zawiera jednoznaczne określenie położenia obiektu na Ziemi. Dane o cechach przestrzennych i lokalizacji gromadzone są w postaci grafiki wektorowej. Obrazy graficzne poszczególnych obiektów są połączone z odpowiadającymi im rekordami w tabelach bazy danych. Dzięki takiej budowie, mapy cyfrowe umożliwiają jednoczesne badanie relacji przestrzennych oraz cech jakościowych i ilościowych obiektów. W tworzonym systemie wykorzystana została mapa cyfrowa dostarczana przez firmę IMAGIS. Posiada ona budowę warstwową, co umożliwia selektywny wybór treści wyświetlanej mapy (rys. 5). Obiekty różnych typów – ulice, zbiorniki wodne i rzeki, linie kolejowe i inne – zgromadzone są w osobnych zbiorach. Możliwe jest konfigurowanie warstw w taki sposób, by szczegółowość mapy zmieniała się w zależności od bieżącej skali. Bazy atrybutów dostosowane są do specyfiki obiektów przechowywanych w danej warstwie [4]. da .b w w pl s. Rys. 5. Struktura mapy cyfrowej Dostępne są różnego rodzaju mapy, o różnym stopniu szczegółowości, a także zróżnicowane pod kątem obszaru zainteresowania. Możliwe jest zaopatrzenie się w mapy drogowe Polski, mapy osadnicze, kodów pocztowych, punktów szczególnych lub w mapy administracyjne. W przypadku mapy cyfrowej, którą wykorzystano do prac nad wyznaczaniem obszaru geograficznego, dla konkretnych parametrów czasowych, rozróżniane są takie warstwy jak: − siatka ulic – nazwy ulic; rond; placów; skwerów, − linie kolejowe (typy kolei) – z uwzględnieniem kolei naziemnych i kolei podziemnych, − zieleń miejska i tereny przemysłowe – nazwy własne parków miejskich; cmentarzy; obiektów sportowych; typologia terenów zielonych i przemysłowych (uwzględnienie parków; lasów; sadów; cmentarzy; ogrodów działkowych; lotnisk; stadionów; terenów sportowych; wyrobisk przemysłowych), − wody powierzchniowe – nazwy własne wód powierzchniowych; typologia wód (uwzględnienie rzek; jezior; stawów; kanałów; basenów; oczyszczalni ścieków), 339 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 K. Harężlak, M. Wróbel − granice administracyjne – nazwy jednostek administracyjnych. w Każda warstwa mapy cyfrowej składa się z zestawu plików: − <Nazwa_warstwy>.tab – plik tekstowy opisujący strukturę tabeli, format plików zawierających dane, − <Nazwa_warstwy>.map – plik zawierający opis obiektów graficznych, − <Nazwa_warstwy>.dat – (.mdb, .aid lub .dbf) zawierający dane tabelaryczne, − <Nazwa_warstwy>.id – plik referencyjny, zawierający połączenie danych z obiektami, − <Nazwa_warstwy>.ind – plik indeksowy, umożliwiający szukanie obiektów na mapie, za pomocą jego indeksu. w da .b w Aby można było wykorzystać tak sformatowaną mapę cyfrową, należy stworzyć zbiór, który w nazewnictwie danych cyfrowych określa się jako ‘Geoset’ (*.gst). Jest to kolekcja poszczególnych warstw mapy wraz z ich szczegółowymi ustawieniami. Stworzenie kompletnej mapy to zintegrowanie wszystkich plików należących do poszczególnych warstw. Na potrzeby systemu, do zbioru .gst, dodana została jedna warstwa, dzięki której wszystkie obiekty narysowane przez program znajdują się „na wierzchu” całego zbioru. Efekty działania algorytmu wyznaczania obszaru dojazdu karetek na mapie cyfrowej prezentuje rysunek 6. Na rysunku tym punkt startowy karetki zaznaczony został specjalną ikoną reprezentująca pojazd, natomiast obszar zakreskowany określa miejsca dojazdu karetki w ciągu 2 minut. 7 Podsumowanie pl s. Zaprezentowana w artykule tematyka dowodzi, że coraz powszechniejsze zastosowanie systemu GPS stwarza nowe obszary zastosowań dla baz danych. Coraz powszechniej stosowane są aplikacje zajmujące się lokalizacją i monitoringiem, a dzięki temu, sprawnym zarządzaniem pojazdami realizującymi określone usługi, w tym tak ważnych służb, jakimi są Jednostki Ratownictwa Medycznego. W systemach realizujących takie funkcje podstawowym elementem jest baza danych gromadząca informacje przekazywane z pojazdów za pomocą urządzeń GPS. Te dane zawarte w bazie danych służą prowadzeniu określonych analiz i podejmowaniu ważnych decyzji, często dokonywanych pod presją czasu. Dobrze zaprojektowana baza danych, umożliwiająca przechowywanie i przetwarzanie dużej ilości informacji, będzie odgrywać w takich przypadkach znaczącą rolę. Przykładem może być prezentowany problem trafnego rozmieszczenia czy wyboru karetki, którą należy wysłać do nagłego zgłoszenia. Wprowadzenie dodatkowych tabel gromadzących raz przetworzone informacje znacząco wpływa na czas realizacji algorytmu wyznaczania obszarów dojazdu karetek, a co za tym idzie, na szybkość reakcji dyspozytora, dającą szansę na udzielenie pomocy w żądanym czasie. 340 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Bazy danych w zastosowaniach monitoringu i lokalizacji pojazdów w da .b w w Rys. 6. Przykładowy rezultat działania systemu Literatura Co to jest GIS , http://www.mapinfo.pl/konc/gis.php, Copyright by IMAGIS 2007. Ross K., Wright C.: Matematyka dyskretna, PWN, 2003. MapX_50_DevGuide.pdf, www.mapinfo.pl, 2007. Mapy_IMAGIS.pdf, www.imagis.pl, 2007. NFZ: Jak długo czekać na karetkę pogotowia? http://www.nfz.gov.pl/new/drukuj.php?artnr=2109&czartnr=0&drukuj=1, 2007. 6. Shekhar S., Chawla S.: Spatial Databases: A Tour, Prentice Hall, 2003. 7. Skrócony opis systemu GPS, http://www.wolinpn.pl/gora/sip/www_gps/gps/tresc.htm, 2007. 8. System GPS Combo, Vector, http://www.systemygps.pl/?page_id=14, 2007. 9. System sprzedaży mobilnej, Elte, http://elte.f.pl/?menu=oferta&id=produkt8&co=ssm&cel=cel2, 2007. 10. Wilson R. J.: Wprowadzenie do teorii grafów, PWN, 2004. 11. XTrack FLOTA, XTrack TRANSPORTA, http://www.xtrack.pl/?gclid=CPX3rOySipECFQE9gQodcHEkAw, 2007. pl s. 1. 2. 3. 4. 5. 341 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 w da .b w w pl s. (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008