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

Govorilne ure:
ponedeljek 9 - 10, soba 035

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

ponedeljek, 1.10.2018

četrtek, 4.10.2018

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

ponedeljek, 8.10.2018

  • 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:

četrtek, 11.10.2018

  • Uvod v Python:
    • for in while zanka
    • izpis v datoteko
  • Uvoz tekstovnih podatkov v Excel in risanje razpršenih grafov.
  • Izvorna koda:

ponedeljek, 15.10.2018

četrtek, 18.10.2018

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 in v izhodno tekstovno datoteko.
  • Program naj izračuna skupno površino podanih parcel.
  • Izvedba programa mora uporabiti izdelano funkcijo.
  • Program naj omogoča interaktivni ali paketni vnos podatkov.

Primer rešitve: parcela.py

ponedeljek, 22.10.2018

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:


četrtek, 25.10.2018

Python:

  • Branje in zapisovanje XML datotek.

Izvorna koda:

ponedeljek, 29.10.2018

Predavanja odpadejo zaradi odsotnosti predavatelja. Nadomeščanje bo izvedeno v dogovoru s študenti.


Naloga: V programskem jeziku Python izdelaj program. Podatki za nalogo za dostopni v TXT | XML 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 oz. XML datoteke 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 (0.9 l/km) in povprečno ceno za liter goriva (1.4 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

ponedeljek, 5.11.2018

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:


četrtek, 8.11.2018

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, 15.11.2018

SciPy: knjižnice NumPy, SciPy in matplotlib

Python in SQL:

Datoteke:

ponedeljek, 19.11.2018

Alternativni načini pisanja dokumentov:

Internet in svetovni splet:

četrtek, 29.11.2018

Internet in svetovni splet:

četrtek, 6.12.2018

četrtek, 13.12.2018

Tokrat bomo obravnavali dve različni temi:

  • Odprto kodni programi (pdf)
  • David Weinberger, “Everything is Miscellaneous: The Power of the New Digital Disorder” (pdf)

četrtek, 20.12.2018

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

Datoteke:

četrtek, 3.1.2019

Virtualizacija:

Navidezna in razširjena resničnost:

četrtek, 10.1.2019

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.

četrtek, 17.1.2019

Ponovitev obravnavanih tem računalništva in informatike:

  • Agilne metodologije
  • Internet in splet
  • Varna komunikacija
  • Inženirska komunikacija
  • Odprtokodni programi
  • Vse je različno
  • Računska okolja in virtualizacija
  • Navidezna in razširjena resničnost

četrtek, 24.1.2019

Primer izpita.


Copyright © Matevž Dolenc. All rights reserved.