Zahvala Kazalo Seznam uporabljenih kratic in simbolov 1 Povzetek 2 Abstract 3 Uvod 4 Opis problema 5 Načrt sistema 6 Podatkovni model 7 Geokodiranje 8 Nasprotno geokodiranje 9 Usmerjanje 10 Izkušnje in nadaljnje delo 11 Sklep Dodatek A Navodila za uporabo sistema Literatura
- Naslov
- Razvoj naprednih storitev za GIS
- Del
- Dodatek A Navodila za uporabo sistema
- Datum vsebine
- 21. 11. 2009
- Original
- RazvojNaprednihStoritevZaGIS.pdf
- Vrsta
- diplomska naloga
- Jezik
- slovenščina
- Različica
- 1.0
- Ustanova
- Fakulteta za računalništvo in informatiko, Univerza v Ljubljani
- Študij
- Univerzitetni, računalništvo in informatika, logika in sistemi
- Predmet
- -
- Mentor
- doc. dr. Mojca Ciglarič
- Avtor
- Tine Lesjak
- Ocena
- 10 od 1-10
Gre za celotno diplomsko delo s predstavitvijo.
Dodatne objave dela:
- ePrints.FRI: ID 933
- COBISS: ID 7349844
- predstavitev.pdf
- Predstavitev diplomskega dela na zagovoru (dne 22. 10. 2009).
- projekti.zip
- Vsa izvorna koda v obliki SpringSource Tool Suite projektov (združljivi z Eclipseom) pod licenco Creative Commons Attribution 2.5 Slovenia License
- primeri.zip
- Primeri, predstavljeni kot izvlečki kode v diplomskem delu.
- tinel-gis-geocoding.war
- Storitev geokodiranja.
- tinel-gis-reversegeocoding.war
- Storitev nasprotnega geokodiranja.
- tinel-gis-routing.war
- Storitev usmerjanja.
Kratka navodila za razvoj, testiranje, pakiranje in poganjanje sistema.
Seznam pomembnih uporabljenih orodij in njihovih različic:
- Pogonsko okolje:
- Microsoft Windows XP 32-bit Service Pack 3
- PostgreSQL 8.3.7
- PostGIS 1.3.6
- JDK 1.6.0_16
- Groovy 1.6.3
- Razvojno in testno okolje:
- SpringSource Tool Suite 2.1.0.SR01 na Eclipseu 3.5 s podporo groovyju
- Apache Maven 2.2.1
- JUnit 4.4
- EasyMock 2.5.1
- EasyMock Class Extentions 2.4
- Jetty 6.1.19
- Knjižnice:
- Apache Commons DBCP 1.2.2
- Apache Commons Logging 1.1.1
- GeoTools 2.5.1
- Hibernate Annotations 3.2.1.ga
- Hibernate 3.2.7.ga
- Hibernate Spatial 1.0-M1
- JTS Topology Suite 1.9
- Log4j 1.2.14
- PostgreSQL JDBC 8.3-603.jdbc4
- Spring Framework 2.5.6.SEC01
- Strojna oprema:
- osnovna plošča Intel DP35DP
- CPU Intel Core2 Duo E4400 2 GHz
- pomnilnik DDR2 4 GB
- trdi disk Western Digital WD10EADS 1 TB
Sistem je sestavljen iz trinajstih paketov, ki so hkrati projekti za okolje SpringSource Tool Suite (STS):
- tinel-commons
- tinel-gis-parent
- tinel-gis-model
- tinel-gis-common-client
- tinel-gis-common-server
- tinel-gis-geocoding-client
- tinel-gis-geocoding-compass
- tinel-gis-geocoding-server
- tinel-gis-reversegeocoding-client
- tinel-gis-reversegeocoding-server
- tinel-gis-routing-client
- tinel-gis-routing-server
- tinel-gis-client
Vsi projekti so pripravljeni za uporabo z orodjem Maven (vsi imajo datoteke pom.xml). Projekt tinel-gis-parent je poseben. Je glavni projekt, ki ne vsebuje nobene izvorne kode, le definira sestavo vseh ostalih projektov, ki so v tem smislu njegovi podprojekti.
Sistem potrebuje delujočo podatkovno zbirko. Po namestitvi PostgreSQL-ja z dodatkom PostGIS moramo najprej ustvariti novo zbirko. To najlažje storimo s priloženim orodjem pgAdmin. Za ustvarjanje entitet z relacijami je pripravljena skripta groovy DbSchemaCreator.groovy, ki se nahaja v projektu tinel-gis-model v direktoriju src/main/java. V skripti nastavimo ustrezen naslov do nove zbirke (polje dbUrl), uporabniško ime (polje dbUser) in geslo (polje dbPassword). Nato skripto poženemo v okolju Groovy, pri čemer ne smemo pozabiti na vključitev knjižnice PostgreSQL JDBC. Podatkovni zbirka bi sedaj morala biti pripravljena in čas je, da jo napolnimo s svojimi geografskimi podatki.
Ko uspešno namestimo JDK, Maven in STS, lahko projekte preprosto uvozimo v delovno okolje STS-ja in tam opravimo večino potrebnih nalog. Lahko pa se izognemo STS-ju in sistem zapakiramo lastnoročno, z uporabo Mavena:
V konzoli se postavimo v glavni projekt tinel-gis-parent in preprosto poženemo:
mvn install
V direktorij target od strežnikov tinel-gis-geocoding-server, tinel-gis-reversegeocoding-server in tinel-gis-routing-server bo Maven zapakiral vsak strežnik v obliki WAR. Datoteko WAR samo prenesemo v enega izmed vsebnikov (npr. Tomcat ali Jetty) in sistem bi moral delovati.
Pred pakiranjem (in testiranjem v okolju STS) moramo pregledati še nastavitve. Vsaka storitev posebej vsebuje datoteko db.properties (nahaja se v direktoriju src/main/resources), ki definira dostop do podatkovne zbirke (lokacijo, uporabniško ime, geslo), in datoteko za ostale nastavitve (geocoding.properties, reverseGeocoding.properties, routing.properties), ki jo je smiselno pregledati.
Pri aktivnem testiranju, ki ga je smiselno opravljati le v okolju STS, je na voljo precej testov, ki za delovanje nujno potrebujejo podatkovno zbirko. Zato se ti testi ob pakiranju ignorirajo. Namenjeni so samo razvijalcem (sam sem z njimi opravil vse meritve zmogljivosti), med njimi so celo "testi", ki samo poženejo vdelan vsebnik Jetty. Ti testi se ignorirajo tudi ob ročnem zagonu v okolju STS, zato jim moramo najprej odstraniti oznako @Ignore.