Title: Diplomov
1Diplomová práce
- Aplikace pro plánování rozvozu zboží
Vedoucí práce ing Jan Ružicka, Ph.
D. Vypracoval Petr Fuks Studijní obor
geoinformatika Studijní skupina G562,
5.rocník Školní rok 2004/2005
2Úkoly
- Nastudujte algoritmy prohledávání síte
- Použijte poznatky z teorie grafu
- Pripravte data a aplikaci (využijte stávající)
pro automatizovaný import do struktur vhodných
pro vyhledávání v silnicní síti - Vytvorte aplikaci, která na základe udání polohy
zákazníka (zákazníku) navrhne trasu rozvozu zboží
(s možnou nakládkou v meziskladech a pobockách
firmy).
3Teorie grafu
- Graf je usporádaná dvojice G (V,E) kde V je
množina vrcholu a E je množina hran množina
vybraných dvouprvkových podmnožin množiny vrcholu -
- Silnicní sít
- souvislý,orientovaný, ohodnocený multigraf
- Rozsah silnicní síte CR graf 22126 vrcholu a
30490 hran ( viz. silnicní databanka RSD ze dne
1.7.2004)
4Algoritmy pro hledání nejkratší cesty
- Problémem hledání cesty (pathfinding) se rozumí
- úloha nalezení podle daných kritérií nejvhodnejší
- cesty z místa A do místa B v mape.
- Príklady algoritmu
- Prohledávání do šírky
- Prohledávání do hloubky
- Dijkstruv algoritmus
- Prohledávání ciste podle heuristiky
- Dijkstruv algoritmus s heuristikou
5Problém obchodního cestujícího
- Je dáno m mest. Nekterá mesta jsou propojena
silnicemi, délka silnic je známa. Úkolem
obchodního cestujícího je navštívit všechna mesta
a vrátit se do výchozího mesta. Naleznete takovou
cestu (permutaci mest), aby délka uražené cesty
byla co nejmenší. - Príklady rešení
- Nalezení nejkratší permutace ze všech permutací
pri vetším poctu mest výpocetne nárocné - Neuronová sít (Hopfieldova sít)
- Genetické algoritmy napodobení systému
biologické evoluce
6Princip hledání cesty
7
O3
5
Z1
Start
4
6
O2
6
Z3
5
3
4
5
Z2
O1
5
O4
7Princip hledání cestyvypocet nejkratších cest
15
Z1
Start
12
15
9
Z3
12
9
Z2
8Princip hledání cestyproblém obchodního
cestujícího
4.
Z1
Start
3.
Z3
1.
2.
Z2
9Princip hledání cestyvytvorení cesty v grafu
silnicní síte
Z1
O3
Start
O2
Z3
Z2
O1
O4
10Data
- Požadavky
- vektorová mapa silnicní síte CR
- dostupnost dat
- Možné zdroje dat
- ArcCR 500
- T-mapy Silnicní sít CR 1 50 000
- DMÚ 25
- silnicní databanka RSD - ZDARMA
11Graf (projekt JGraphT)
- JGraphT - Open source projekt implementující
objekty a algoritmy Teorie grafu - knihovna JGraphT
- optimalizována pro vytvárení datových a
výpocetních modelu -
- obsahuje obecne popsané API funkce které lze
dále rozširovat, modifikovat a specializovat -
- je navržena pro práci s rozsáhlým grafem (v rádu
milionu vrcholu a hran)
12Vytvorení grafu
- Na základe atributu vrstvy úseku a tríd projektu
JGraphT byl - vytovoren graf silnicní síte
Úsek silnicní síte
Hrana grafu
1242 2,5
1242 m
B
B
Silnice II. trídy
A
A
5046 1,5
5046 m
D
D
Silnice I. trídy
C
C
5046 1,5
13Vývoj GUI aplikace
- J2SE 1.4.2 JAVA Swing neobsahuje trídy pro
práce s geodaty - Projekt OpenMap pro vizualizaci nutná
transformace dat ze souradnicového systému
JTSK do WGS 84 - Projekt GeoTools lite obsahuje základní
nastroje pro vizualizaci dat zamerené na
publikaci dat webu - JUMP open source aplikace pro práci
s geodaty, kterou lze jednoduše rozširov
at pomocí pluginu
14Projekt JUMP
- Open source projekt jež vyvíjí snadno
rozširitelné API - funkce a grafického rozhraní pro prohlížení a
manipulaci s - prostorovými daty
- Je rozdelen na tri samostatné projekty
- The JUMP Unified Mapping Platform (JUMP)
- The JTS Topology Suite (JTS)
- The JCS Conflation Suite (JSC)
15Tvorba plugin aplikace JUMP
- Seznámení se s možnostmi projektu JUMP
- Nastudování dokumentace
- Vyzkoušení tvorby jednoduchých pluginu
- Prepsání dosavadní aplikace do podoby
- pluginu
16Vývoj pluginu - Nactení dat
- K nactení vstupních dat je využito existujícího
pluginu LoadDataSet.
Layer úseky
ID
Feature Collection
Length
Orienation
Quality
17Vývoj pluginu nalezení nejkratší cesty
- Vypoctení nejkratší spojení mezi zastávkami
využití implemtace Dijkstrova algoritmu z
projektu JGraphT - Nalezení nejkratší permutace úloha obchodního
cestujícho - Rekonstrukce nalezené cesty prevedení nalezné
cesty grafu na pouslopnost geoprvku
reprezentující cestu v silnicní síti
18Vývoj Pluginu - GUI
19Vývoj Pluginu - GUI
20Použité nástroje a technoligie
- Programovací jazyk Java J2SE v. 1.4.2
- Vývojové prostredí Borland JBuilder X
- Operacní systém Windows/Linux (Fedora 2)
21Literatura
- http//www.rsd.cz
- http//www.tmapy.cz
- http//www.arcdata.cz
- http//www.cs.vsb.cz/ochodkova
- http//sourceforge.net/projects/geotools/
- http//pathlib.hildebrand.cz/doc/Referat/pathref.h
tml - http//www.sys-con.com/story/?storyid36224DE1
- http//www.aic.nrl.navy.mil/galist/src/
- http//sickboy.hyperlink.cz/ctufee/paa/tsp/ascii/t
sp.html - http//java.sun.com/j2se/1.4.2/docs/api/
- http//www.cs.vsb.cz/hlineny/
- http//openmap.bbn.com/
- http//www.jump-project.org/
- http//jgap.sourceforge.net/
22