Splošne informacije#
Podatkovni standard XML, uporaba standarda xml v geodeziji (GML in SVG), ontologije, objektno programiranje (programiranje razredov in objektov, knjižnice razredov, izdelava okenskih programov z grafiko, baze podatkov, jezik sql, načrtovanje in programiranje podatkovnih baz), izdelava porazdeljenih informacijskih sistemov (varnost podatkov, elektronski digitalni podpis, avtentikacija, šifriranje podatkov, standardi za varno izmenjavo podatkov, zlorabe podatkov), spletni in storitveni programi (xml spletne storitve, wsdl - jezik za zapis spletnih storitev, soa - servisno orientirana arhitektura, uporaba spletnih storitev v geodeziji), uporaba metod umetne inteligence v geodeziji, strojno učenje z nevronskimi mrežami.
Urnik#
- predavanja/vaje - ponedeljek, 10-13, J-IV/5 RU
- predavanja/vaje - ponedeljek, 13-16, J-IV/5 RU
Kontakt#
- govorilne ure - ponedeljek 9-10, soba 035
- email - mdolenc@fgg.uni-lj.si
Prisotnost#
Predavanja#
1. teden - ponedeljek, 16. 2. 2026#
Uvod:
Razvoj programske opreme:
Uvod v programski jezik Python:
- Zakaj Python?
- Namestitev: python.org, Continuum Analytics - Anaconda
- Programiranje za inženirje: Rešeni primeri v programskem jeziku Python
- Naloga: Namestitev programskega sistema Python na domačem računalniku.

2. teden - ponedeljek, 23. 2. 2026#
Uvod v Python:
- Izvedba in zagon enostavnega Python programa/skripte (Spyder, iPython)
- Seznami v Pythonu - for in while zanka
- Uporabljeni ukazi: input(), print(), float(), import, math.pi
Izvorna koda:
- Python: krog-1.py

3. teden - ponedeljek, 2. 3. 2026#
Naloga: V programskem jeziku Python izdelajte program za izračun nekaterih vrednosti v poljubnem pravokotniku z naslednjimi zahtevami:
Interaktivni vnos podatkov pravokotnika (stranici a in b).
Izračun in izpis ploščine, obsega ter dolžine diagonale podanega pravokotnika.
Izračun in izpis kota med diagonalo in osnovno stranico pravokotnika.
Rešiteve:
- Vnos podatkov v več korakih - pravokotnik-1.py
- Vnos podatkov v eni vrstici - pravokotnik-2.py
- Vnos podatkov ob zagonu programa - pravokotnik-3.py
Uvod v Python:
- while zanka
- Izvorna koda: Izračun ničle funkcije - bisekcija, bisekcija-1.py, bisekcija-2.py, bisekcija-3.py

4. teden - ponedeljek, 9. 3. 2026#
Naloga: V programskem jeziku Python izdelajte program za izpis indeksov elementov matrike z naslednjimi zahtevami:
- Interaktivni vnos št. vrstic in št. stolpcev matrike.
- Vnos podatkov v eni vrstici ali ob zagonu programa.
Uvod v Python:
- Izpis v datoteko
- Uvoz tekstovnih podatkov v Excel in risanje razpršenih grafov.
5. teden - ponedeljek, 16. 3. 2026#
Uvod v Python:
začetek daljšega primera
vnos več podatkov v vrstici
seznami
Izvorna koda:
- Podatki v programu, geokar-1.py
- Branje podatkov s tipkovnico (vsak podatek v svoji vrstici), geokar-2.py
- Branje podatkov s tipkovnico (x in y koordinati v isti vrstici), geokar-3.py
- Branje podatkov iz datoteke, geokar-4.py
- Testni podatki, geokar-podatki.txt
- Izračun ploščine s funkcijo, geokar-5.py
- Vse geometrijske karakteristike, geokar-6.py
- Uporaba modulov, geokar-7.py, geometrijske_karakteristike.py

6. teden - ponedeljek, 23. 3. 2026#
Podatkovni standardi:
- XML - Extended Markup Language
- JSON - JavaScript Object Notation
- IFC - Industry Foundation Classes
Primeri:
- Izdelajte XML/JSON dokument za shranjevanje poljubnega poligonalnega prereza. Točke prereza so podane z oznako in dvema koordinatama: x in y. Rešitve: xml | json
- Izdelajte XML dokument, ki vsebuje podatke o dveh geografskih točkah (ime/naslov, koordinate, nadmorska višina)
Povezave:

7. teden - ponedeljek, 30. 3. 2026#
Samostojno delo.
V programskem jeziku Python izdelajte program in preverite rezultete s programom Excel. Podatki so dostopni v datoteki: podatki.txt. V programskem jeziku Python izdelajte program z naslednjimi zahtevami:
- Python program zapišite v datoteki program.py.
- Program na začetku na zaslon izpiše: datum, vpisno številko študenta ter ime in priimek študenta.
- Program prebere tekstovno datoteko s podatki in jih shrani v ustrezne spremenljivke.
- Program prebrane podatke izpiše na zaslon v obliki tabele.
- Program izračuna oz. določi povprečno, minimalno in maksimalno vrednost podatkov ter jih izpiše na zaslon.
- Izračunane oz. določene količine preverite v programu Excel.
Vsebina datoteke s podatki:
1. vrstica: naslov podatkov
2. vrstica: število vrstic s podatki
Naslednje vrstice:
Leto
Letna poraba sončne energije v TJVsebino naloge - vsi uporabljeni podatki, izdelan program (izvorna koda), Excel datoteka, …, zapakirajte v ZIP datoteko in do 6.4.2026 pošljete na e-naslov mdolenc@fgg.uni-lj.si. ZIP datoteko poimenujte takole: ime-priimek-vpisnaštevilka.zip
8. teden - ponedeljek, 13. 4. 2026#
Uvod v Python:
- zapisovanje in branje XML datotek
Izvorna koda:
- Zapis podatkov o prerezu v XML datoteko, geokar-8-1.py
- Zapis podatkov o prerezu v XML datoteko z uporabo Python XML knjižnice, geokar-8-2.py- - Branje podatkov o prerezu iz XML datoteke, geokar-9-1.py
- Podajanje imena vhodne datoteke s podatko o prerezu v ukazni vrstici, geokar-9-2.py
- Podajanje imena vhodne datoteke s podatko o prerezu v ukazni vrstici, geokar-9-3.py
- Ostale potrebne datoteke … geometrijske_karakteristike.py, geokar-podatki.txt, geokar-podatki.xml

9. teden - ponedeljek, 20. 4. 2026#
Naloga: Izdelajte Python program, ki podane podatke v tekstovni datoteki pretvori v KML zapis. KML datoteko poglejte v programu Google Earth.
Podatki (glej primer KML-podatki.txt):
- 1 vrstica: center x-centra y-centra # ime kraja in x in y koordinata kraja v decimalnih stopinjah
- 2 vrstica: n # število podanih krajev (celo število)
- 3 + n vrstica: kraj x y # kraj in x in y koordinata kraja v decimalnih stopinjah
Navodila:
- Pripravite tekstovno datoteko s podatki oz. uporabite podatke v datoteki KML-podatki.txt. Za podatke si lahko npr. sestavite s podatki o koordinatah krajev od koder so študenti v letniku.
- V programu Google Earth pripravite preprost primer prikaza vaših izbranih podatkov. V programu shranite podatke v datoteko tipa KML (ne KMZ). V ustvarjeni datoteki preverite način zapisa uporabljenih podatkov. Natančno razlago zapisa KML datoteke lahko poiščete v KML dokumentaciji
- Izdelajte program, ki ga zahteva naloga. Delovanje programa preverite na testnih podatkih.
Datoteke:
Rešitev: kml-studenti.py

10. teden - ponedeljek, 4. 5. 2026#
Naloga: Izdelaj program za menjalnico.
Programske zahteve:
- program naj prebere trenutno tečajno listo iz XML datoteke
- za podano vrednost v EUR naj program izpiše vrednosti v vseh ostali valutah
- za podano vredno v izbrani valuti naj program izračuna ustrezno vrednost v EUR
Pomoč:
- Tečajno listo shranite na lokalni disk.
- V XML datoteki lahko odstranite atribute korenskega XML elementa.
Podatki:
Oddaja naloge:
- Vsebino izdelane naloge zapakirajte v paket .zip. Oddate vse uporabljene oz. ustvarjene datoteke (python program, podatki, …).
- Zip datoteko obvezno poimenujte takole: naloga-20260504-priimek-ime-vpisnaštevilka.zip
- Nalogo oddate v spletni učilnici - naloga Menjalnica
Rešitev:
- Primer lokalno shranjene tečajne liste z odstranjenim imenskim prostorom, dtecbs.xml
- Preprosta rešitev z lokalno datoteko in odstranjenim imenskim prostorom - implementiran samo prvi del naloge, ki za podan znesek v EUR izpiše vrednost v vseh ostalih valutah, menjalnica-0.py
- Preprosta rešitev z lokalno datoteko in odstranjenim imenskim prostorom, menjalnica-1.py
- Rešitev z branjem XML datoteke z Interneta, uporaba 2-D seznama, menjalnica-2.py

11. teden - ponedeljek, 11. 5. 2026#
Knjižnice: NumPy, SciPy, matplotlib
Python in SQL:
- Baze podatkov: SQLite, MySQL, …
- Uporaba Python/SQL
- Zapis podatkov v bazo SQLite: geokar-xml2db.py, geokar-podatki.xml
- Iskanje podatkov v bazi SQLite: geokar-10-1.py, geometrijske_karakteristike.py
Python in Excel:
- Uporaba knjižnice openpyxl: mb_primer-1.py, mb_primer-1.xlsx
- Uporaba knjižnice Pandas: mb_primer-2.py, mb_primer-2.xlsx
Python in numerične analize:
- Preprost primer izračuna sistema linearnih enačb, linalg-1.py
- Izračun sistema linearnih enačb:
- Program: linalg-2.py
- Podatki - Matrix Market: info, fidapm37.mtx, fidapm37_rhs1.mtx
Uporaba knjižnice PyPlot:
- Bisekcija: bisekcija-plot.py
- Program za izris prereza: geokar-plot.py
- Podatki: geokar-podatki-1.txt, geokar-podatki-2.txt
Datoteke: numpy-matplotlib-sqlite.zip

12. teden - ponedeljek, 18. 5. 2026#
Priprava na izpit / kolokvij.
13. teden - ponedeljek, 25. 5. 2026#
Kolokvij.
14. teden - ponedeljek, 1. 6. 2026#
Zagovori kolokvijev - po potrebi.
