To jest stara wersja strony!


Raport Końcowy

1. 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
  • 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).

2. 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:

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

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.

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.

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.

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).

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.

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)

4. 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.

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 ;

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.

$name="post_test";
$password="";
$name_db="aa2";
$help="pgsql:host=localhost port=5432 dbname=$name_db user=$name password=$password";

5. Napotkane problemy

6. Wnioski

7. Rozwój

8. Pliki źródłowe

9. Żrodło

pl/dydaktyka/sbd/2009/projekty/mpk-gis/raport_koncowy.1268117367.txt.gz · ostatnio zmienione: 2019/06/27 15:55 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0