Popis: |
V nalogi je predstavljen postopek določitve optimalne poti med dvema točkama, ki je zasnovan na odprtokodnih rešitvah. Pod pojmom »optimalna pot« se razume najkrajšo pot med dvema točkama z upoštevanjem enosmernih cest in prepovedi zavijanja v kompleksnih križiščih. Izdelali smo spletno aplikacijo, ki uporabniku omogoča vnos začetne in končne točke za navigacijo ter ogled rezultata. Vhodni podatki so sloj cest ter sloj prepovedi zavijanja za območje občine Kranj. Podatki so shranjeni v PostgreSQL podatkovni bazi z razširitvijo PostGIS. Izračun optimalne poti je narejen z razširitvijo pgRouting. Razvoj postopka za določitev optimalne poti je ustvarjen v programskem jeziku Python. Povezava na bazo je izvedena preko knjižnice psycopg2. Spletna aplikacija je izdelana s programskima jezikoma Python in JavaScript. Največji izziv je bila kombinacija različnih tehnologij in povezava le-teh v ustrezno strukturo za določitev in prikaz optimalne poti iz podatkov v bazi do spletne aplikacije. The thesis presents the procedure for calculating the optimal route between two points, based on opensource solutions. The term "optimal route" represents the shortest route between two points considering one-way streets and turn restrictions in complex intersections. We created a web application to display the results, allowing user to define start and end points to calculate navigation, and view the result. The input data are roads and turn restrictions for the area of the municipality of Kranj. The data is stored in a PostgreSQL database with PostGIS extension. The optimal path was calculated using pgRouting extension. The whole procedure was developed in the programming language Python. Connection to the database was implemented using Python library psycopg2. The web application is created through Python and JavaScript programming languages. The biggest challenge was in connecting different technologies in correct system structure for optimal path calculation from database to web application. |