`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

Podobne dokumenty