[[
✎ pl:dydaktyka:sbd:2009:projekty:mpk-gis:raport_koncowy
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
===== Raport Końcowy ===== ====-. Wykorzystane narzędzia,instalacja, konfiguracja ==== === PostgreSQL === PosgtgreSQL jest do wolnodostępny system zarządzania bazą danych. Został wykorzystany w celu przechowywanie i swobodnego dostępu do danych. W projekcie został wykorzystany system w wersji 8.4.2. ==Instalacja, konfiguracja == Należy pobrać pakietów źródłowe, paczki binarne z strony producenta [[http://www.postgresql.org/download/]]. Polecane jest korzystanie z pakietów źródłowych w celu uniknięcia problemu z zależnościami pomiędzy pakietami. Instalację należy przeprowadzić według opisu znajdującego się [[http://www.postgresql.org/docs/8.4/interactive/install-requirements.html]], również znajdują się tam wszystkie wymagane pakiety. === PostGIS === PostGIS dodaje wsparcie do przechowywanie danych geograficznych w obiektowo-relacyjnej bazie danych PostgreSQL . Dodatkowo udostępnia narzędzia ułatwiające manipulację danymi. Jest to zatem GIS (Geographic Information System) służący do przechowywanie, gromadzenia i manipulowania danymi. Został m.in wykorzystany do konstruowania zapytań o przystankach znajdujących w określonym promieniu. Należy pamiętać o wykorzystaniu SRID'u 4326 obowiązującego w Polsce. W projekcie został wykorzystany PostGIS w wersji 1.4.2. == Wymagania == *PostgreSQL w wersji 8.2 lub wyższej * Kompilator gcc * gmake lub make * Biblioteka w Proj4 reprojection w wersji 4.5 lub wyższej * Biblioteka GEOS geometry w wersji 3.0 lub wyższej == Instalacja i konfiguracja == * Pobranie aktualnej wersji PostGIS [[http://postgis.refractions.net/download/postgis-1.5.0.tar.gz]] * Rozpakowanie pobranej paczki * Przejście do powstałego katalogu wykonanie poleceń konfiguracyjnych //./configure, make, make comments, make check// w celu sprawdzenia poprawności * Instalajca PostGIS poleceniem //make install// * Aktywowanie języka PL/pgSQL polecenie //createlang plpgsql [yourdatabase]// * Załadownie funkcji i obiektów PostGIS //psql -d [yourdatabase] -f postgis.sql// znajdujących się w //[prefix]/share/contrib// * Załadowanie funkcji przydatnych do manipulowania współrzędnymi pomiędzy systemami // psql -d [yourdatabase] -f spatial_ref_sys.sql // * Załadowanie podpowiedzi do PostGIS //psql -d [yourdatabase] -f postgis_comments.sql// === Python === Ten uniwersalny język skryptowy wykorzystywany jest w module importującym dane z OpenStreetMap. W związku z tym, że sporo bibliotek (w tym używana do połączenia z bazą danych psycopg) nie zostało jeszcze przeportowancych do standardu 3.0, wykorzystano starszą "linię" 2.6 interpretera. Poza wspomnianym modułem psycopg2, używanym do połączenia z bazą danych, skrypt wykorzystuje również moduł xml.sax, będący częścią biblioteki standardowej, do parsowania plików XML. === Php === Jest to język skryptowy działający po stronie serwera służący do dynamicznego generowania stron internetowych. W projekcie został wykorzystany jako "pośrednik" do interakcji pomiędzy klientem a bazą danych. Wykorzystano Php w wersji 5.32. Pakiet można pobrać z strony [[http://www.php.net/downloads.php]]. Istnieje możliwość skorzystania z XAMPP który zawiera Php, Apache, Perl. Przydatny do testowania aplikacji. === JavaScript === JavaScript obiektowy język skryptowy stworzony do zapewniania interaktywności pomiędzy klientem a aplikacją. W aplikacji wykorzystano framework Jquery, który należy dołączyć do aplikacji. Dostępny jest pod adresem [[http://docs.jquery.com/Downloading_jQuery]]. Do pozyskiwania informacji z serwera bez przeładowywania strony wykorzystano technologię AJAX i JSON. W projekcie wykorzystano także API do GoogleMaps w wersji V.3 dostępne na stronie producenta [[http://code.google.com/apis/maps/documentation/v3/]] === HTML === Pozwala opisać strukturę informacji zawartych na stronie ( prezentacja wyników). === CSS === Pozwala sformatować informację zawarte na stronie ( prezentacja wyników). ====-. Pozyskiwanie danych ==== === Automatyczne === W związku z tym, że ręczne wprowadzenie danych o całej krakowskiej sieci komunikacji miejskiej stanowiłoby nie lada problem stworzony został moduł importujący odpowiednie informacje z OSM. Mimo, że ilość danych dotyczących krakowskiego MPK nie jest zbyt duża (i nie do końca poprawnie zebrana - więcej na ten temat w dalszej części raportu), to moduł pozwala na zebranie części potrzebnych nam informacji. Samo użycie modułu jest dość intuicyjne: <code> src % ./test.py Usage: test.py [options] Options: -h, --help show this help message and exit -f FILENAME, --file=FILENAME name of input XML file, default: map.osm -d DBNAME, --dbname=DBNAME database name, default: db_gis_project -u DBUSER, --user=DBUSER database username, default: kml -c, --create creates db structure -p, --print prints data from xml file -i, --import imports data from xml file to database --update_distance updates time of transfer between small_stops </code> To, czego potrzebujemy, to wyeksportowany z OSM plik XML oraz baza danych z rozszerzeniem PostGIS. ===Ręczne wprowadzanie === Więcej informacji o ręcznym wprowadzeniu danych w punkcie 3. ====-.Interfejs do prezentacji i obsługi danych w oparciu o diagramy FHF, DFD, STD ==== === Interfejs użytkownika === Umożliwia użytkownikowi wyszukiwanie przystanków po wprowadzeniu części nazwy (opcja domyślna). Kolejną opcją jest wyszukiwanie przystanków znajdujących się w określonym promieniu. Odbywa się to po wybraniu opcji Przystanki w okolicy. Użytkownik klika na mapę w celu wybrania środka okręgu. Następnie należy wprowadzić promień poszukiwaniach. Jednostka długości to metr. Jeżeli powyższe zapytania dały wynik pozytywny to użytkownik po kliknięciu w odnośnik ma możliwość edycji danego przystanku. Ostatnia opcja to pokazanie trasy danej linii. Na mapie zaznaczana jest trasa komunikacyjna wraz z istniejącymi przystankami.\\ {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:mpk_gis_user.png?900x500}} \\ == Edycja przystanku == \\ Edycja istniejącego przystanku (rys. poniżej). Użytkownikowi po wybraniu przystanku do edycji wyświetlany jest formularz w celu skorygowania wiadomości w bazie danych. Zmiany wprowadzone przez użytkownika muszą zostać zaakceptowane przez administratora. Współrzędne przystanku można poprawić klikając na mapę w miejsce nowego położenia, informacja o długości i szerokości geograficznej jest automatycznie uaktualniana w polu formularza.\\ {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:mpk_gis_edycja.png?300x200}} \\ === Interfejs administratora === Administrator docelowo ma mieć możliwość importu i eksportu danych . Po kliknięciu zakładki dodaj przystanek, pojawia się formularz dzięki któremu możliwe jest dodanie nowego przystanku do bazy danych. Zmiany zapisywane są od razu. Z kolei w dziale sugestie użytkowników istnieje możliwość zaakceptowania zmian proponowanych przez użytkowników. W tym celu należy zaznaczyć odpowiednie sugestie, a następnie wysłać zapytanie do serwera. Kolejne opcje służą do edycji istniejących przystanków "Usun przystanek" i "Edycja przystanku" zmiany widoczne są natychmiast. (rys. poniżej). \\ {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:mpk_gis_admin.png?900x500}} \\ == Aplikacja służąca dodawaniu nowych linii komunikacyjnych == Celem aplikacji jest umożliwienie użytkownikowi w prosty sposób dodawanie nowych linii. Sposób obsługi jest następujący. Administrator wybiera z rozwijanej listy interesujący przystanek następnie naciska przycisk Dodaj. Przystanek pojawia się na liście przystanków danej linii. Jeżeli istnieje niepewność gdzie znajduje się przystanek należy nacisnąć przycisk Pokaz. Po zaznaczenie przystanków z drugiej listy można je usunąć naciskając przycisk Usun. Po skończonej edycji należy wysłać formularz do serwera.\\ {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:mpk_gis_dodaj_linie.png}} \\ == Aplikacja służąca dodawaniu tras linii komunikacyjnych== Aplikacja działa na podobnej zasadzie jak aplikacja do dodawania nowych linii. Jako numer linii należy wpisać id linii w bazie danych. Jest to wartość pomiędzy nawiasami "( )". (rys. poniżej) \\ {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:mpk_gis_polyline.png}} ====-. Wdrożenie i utrzymanie ==== Warunkiem koniecznym poprawnego działania aplikacji jest posiadanie serwera wraz z oprogramowaniem zamieszczonym w 1 punkcie. Serwer musi być posiadać opcję umożliwiającą zastosowanie ModRewrite w pliku .htaccess. Służy to do posługiwania się adreasami URL przyjaznym użytkownikom. === Konfiguracja bazy danych === Należy uruchomić skrypt "create_db" który jako parametr przyjmuję nazwę nowej tabeli. Należy również wskazać miejsce gdzie znajdują się pliki SQL powiązane z PostGIS. <code> echo $1; createdb $1; createlang plpgsql $1; psql -d $1 -f /usr/local/pgsql/share/contrib/postgis.sql ; psql -d $1 -f /usr/local/pgsql/share/contrib/spatial_ref_sys.sql ; psql -d $1 -f /usr/local/pgsql/share/contrib/postgis_comments.sql ; </code> Po pomyślnym stworzeniu nowej tabeli, należy utworzyć pustą tabelę używając komend zawartych w projekcie logicznym. === Konfiguracja części aplikacji odpowiedzialnej za prezencję danych === W tej części należy dostosować plik include.php. Znajdują się w nim informacje konfiguracyjne dotyczące połączenia z bazą danych. <code php> $name="post_test"; $password=""; $name_db="aa2"; $help="pgsql:host=localhost port=5432 dbname=$name_db user=$name password=$password"; </code> ====-. Napotkane problemy ==== ====-. Wnioski ===== ====-. Rozwój ==== ====-. Pliki źródłowe ==== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:bazy_danych.zip}} ====-. Żrodło ==== *[[http://postgis.refractions.net/]] *[[http://www.postgresql.org/]] *[[http://code.google.com/apis/maps/documentation/v3/]] *[[http://jquery.com/]] *[[http://www.w3schools.com/]]
pl/dydaktyka/sbd/2009/projekty/mpk-gis/raport_koncowy.1268117367.txt.gz
· ostatnio zmienione: 2019/06/27 15:55 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry