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:
torek, 10 - 13 (RU IV/5)
četrtek, 8 - 11 (RU IV/5)

Govorilne ure:
ponedeljek 9 - 10, soba 035

Informacije:
matevz.dolenc@fgg.uni-lj.si

četrtek, 1.10.2020

torek, 6.10.2020

  • Uvod v Python
  • Izvorna koda:
  • Naloga: Namestitev programskega sistema Python na domačem računalniku.

četrtek, 8.10.2020

  • Naloga: V programskem jeziku Python izdelajte program za izračun nekaterih vrednosti v poljubnem pravokotniku naslednjimi zahtevami:
    • Interaktivni vnos podatkov pravokotnika (strinici 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šitev, pravokotnik.py
  • Uvod v Python:
    • Zagon Python skript iz ukazne vrstice.
    • Seznami v Pythonu.
    • for zanka
  • Uvoz tekstovnih podatkov v Excel in risanje razpršenih grafov.
  • Izvorna koda:

torek, 13.10.2020

  • Naloga: V programskem jeziku Python izdelajte program za izpis indeksov elementov poljube matrike:
    • Interaktivni vnos podatkov o velikosti matrike.
    • Izpis elementov matrike v obliki [i,j].
    • Rešitev:
  • Uvod v Python:
    • for in while zanka
    • izpis v datoteko
  • Uvoz tekstovnih podatkov v Excel in risanje razpršenih grafov.
  • Izvorna koda:

četrtek, 15.10.2020

Naloga: V programskem jeziku Python izdelajte program za vnos podatkov o parcelah (katasterska občina, parcelna številka, lastnik, površina, itd.).

  • Program naj omogoča vnos poljubnega števila podatkov.
  • Vnešeni podatki naj se ob koncu vnosa izpišejo na zaslon.
  • Program naj izračuna skupno površino podanih parcel.
  • Izvedba programa mora uporabiti izdelano funkcijo.
  • Program naj omogoča interaktivni vnos podatkov.

Primer rešitve: parcela.py

torek, 20.10.2020

četrtek, 22.10.2020

Naloga: V programskem jeziku Python izdelaj program. Podatki za nalogo za dostopni v TXT datoteki.

Podatki v datoteki so:

  • 1. vrstica: število vrstic s podatki
  • naslednje vrstice:
    • 1. stolpec: ime kraja stalnega bivališča študenta
    • 2. in 3. stolpec: x in y koordinati kraja
    • 4. stolpec: število študentov, ki so iz kraja
    • 5. stolpec: oddaljenost kraja od Ljubljane v km

Funkcionalne zahteve:

  • Program podatke prebere iz tekstovne in jih zapiše v izhodno datoteko druge oblike. Oblika izhodne datoteke ni predpisana.
  • Program naj za podatke izračuna oz. oceni ter izpiše na zaslon naslednje količine (vse količine se izračunajo za en povprečen mesec v študijskem letu):
    • Skupno število prevoženih kilometrov, če se vsi študenti vozijo v Ljubljano vsak dan.
    • Skupno število prevoženih kilometrov, če upoštevate, da se v Ljubljano vozijo le študenti, ki imajo stalno bivališče v kraju, ki je oddaljeno od Ljubljane največ 50 km.
    • Za zgornja primera izračunajte za vsak primer še skupno porabo goriva in skupne stroške goriva. Pri tem upoštevajte povprečno porabo goriva (7l na 100km) in povprečno ceno za liter goriva (1.1 EUR/l)
  • Program naj v izhodno tekstovno datoteko izpiše podatke za grafični prikaz porabe goriva v odvisnosti od kraja. Pri tem upoštevajte, da se vsak študent pelje v Ljubljano sam. Za grafični prikaz uporabite program MS Excel.

Rešitev naloge: izpitna-naloga.zip

torek, 27.10.2020 in četrtek, 29.10.2020

Python:

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:

Izvorna koda:

  • Izpis podatkov v XML datoteko brez uporabe XML knjižnice, txt2xml.py

ponedeljek, 2.11.2020

Python:

  • Branje in zapisovanje XML datotek.

Izvorna koda:

četrtek, 5.11.2020

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. ... 3 + n vrstica: kraj x y # kraj in x in y koordinata kraja v decimalnih stopinjah

Navodila:

  1. 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.
  2. 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
  3. Izdelajte program, ki ga zahteva naloga. Delovanje programa preverite na testnih podatkih.

Datoteke:

Rešitev:


torek, 10.11.2020

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:

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

četrtek, 12.11.2020

Naloga: V programskem jeziku Python izdelajte program z naslednjimi zahtevami.

Podatki:

  • Podatki so dostopni na spletnem naslovu http://www.meteo.si/met/sl/service/
  • Stari podatki: meteo-podatki.txt
  • V tabeli samodejnih vremenskih postaj izberite kraj, ki je najbližje vašemu stalnemu bivališču.
  • Za izbran kraj si podatke lahko ogledate v HTML obliki. Upoštevajte samo prvi (Temperatura) in drugi (Vlažnost) stolpec.

Funkcionalne zahteve:

  • Izbran kraj naj se ob zagonu izdelanega programa izpiše na zaslon.
  • Program podatke prebere iz datoteke in jih izpiše na zaslon.
  • Program za podatke (temperaturo in vlažnost) določi in izpiše na zaslon naslednje vrednosti: povprečno vrednost, standardni odklon, minimalno vrednost, maksimalno vrednost
  • Program izračunane vrednosti zapiše v XML obliki v izhodno datoteko. Za shranjevanje podatkov uporabite XML atribute.

Oddaja programa:

  • Vse potrebne datoteke (podatki, rezultati, program, ...) združite v ZIP datoteko. Datoteko poimenujete po naslednjem vzorcu: priimek_ime-vpisna_številka.zip
  • Datoteko oddate v spletni učilnici.

Rešitev: meteo.zip

torek, 17.11.2020

Ponovitev programiranja v programskem jeziku Python.

Naloga:

  • Podatki:
  • Naloga:
    • V programskem jeziku Python izdelajte program:
      • Program na začetku izpiše na zaslon: datum, vpisno številko študenta ter ime in priimek študenta.
      • Program prebere 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 višino opazovalnic ter vrednosti izpiše na zaslon na dve decimalni mesti natančno.
      • Program pripravi podatke za uporabo v programu tocke-xml2kml.py.
    • Izračunane oz. določene količine preverite v programu Excel. Podatke prenesite v program Excel iz tekstovne datoteke, ki ste jo pripravili v ta namen. V programu Excel narišite graf višin opazovalnic. Tabela v programu Ecel mora vključevati tudi vpisno številko študenta ter ime in priimek študenta.
    • S programom tocke-xml2kml.py ustvarite KML datoteko. Pripravite sliko v formatu JPG s prikazom opazovalnic v programu Google Earth.

Oddaja programa:

  • Vse potrebne datoteke (podatki, rezultati, program, ...) združite v ZIP datoteko. Datoteko poimenujete po naslednjem vzorcu: priimek_ime-vpisna_številka.zip
  • Datoteko oddate v spletni učilnici.

Rešitev: opazovalnice.zip

četrtek, 19.11.2020 in četrtek, 26.11.2020

SciPy: knjižnice NumPy, SciPy in matplotlib

Python in SQL:

Datoteke:

četrtek, 3.12.2020

Ogledali si bomo kako vzpostavimo in uporabimo visoko-propustno računsko okolje, ki je primerno za izvajanje različnih parametričnih študij.

Datoteke:

četrtek, 10.12.2020

Internet / svetovni splet:

četrtek, 17.12.2020

Virtualizacija:

četrtek, 31.12.2020

Predavanja odpadejo! Nadomeščanje bo izvedeno skladno dogovoru s študenti.

četrtek, 7.1.2021

Navidezna in razširjena resničnost:

Internet stvari (angl. Internet of Things - IoT):

Odprto kodni programi - razvoj programov, ...

  • Odprta koda - zgodovina in razvoj, kaj pomeni za končne upodarbnike

Knjiga David Weinberger, “Everything is Miscellaneous: The Power of the New Digital Disorder”

četrtek, 14.1.2021

V programskem jeziku Python izdelajte program.

Podatki:

  • Podatki so dostopni tukaj.
  • Podatki v datoteki so:
    • 1. vrstica: Naslov tekmovanja
    • 2. vrstica: Disciplina
    • 3. vrstica: Število rezultatov
    • Naslednje vrstice:
      • Štartna številka
      • Priimek
      • Ime
      • Država
      • Čas [m:ss.dd]
      • Čas v decimalnih sekundah

Funkcionalne zahteve:

  • Program na začetku izpiše vaš priimek in ime ter vpisno številko
  • Program podatke prebere iz tekstovne datoteke in jih shrani v ustrezne spremenljivke.
  • Program podatke izpiše:
    • ... na zaslon v obliki tabele.
    • ... v XML datoteko. Oblika XML datoteke ni predpisana
  • Program naj določi in na zaslon izpiše:
    • Podatke najhitrejše tekmovalke
    • Povprečen čas vseh tekmovalk in povprečen čas tekmovalk s štartnimi številkami od 16 do 22
  • Izračunane količine preverite v programu MS Excel.

Rešitev: smuk.py

torek, 26.1.2021 @ 9:00

Izpit - navodila za izpit so objavljena v spletni učilnici


Copyright © Matevž Dolenc. All rights reserved.