Προγραμματισμός στη Γεωπληροφορική

Κωδικός Μαθήματος:

GEO9050

Semester:

Θ' Εξάμηνο

Κατηγορία:

Κατ' επιλογή υποχρεωτικά ( ΜΕ )

Ώρες:

4

Μονάδες ECTS:

5



ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Σκοπός του μαθήματος είναι η παρουσίαση και η κατανόηση βασικών τεχνικών προγραμματισμού για την ανάπτυξη εφαρμογών γεωχωρικού λογισμικού, αξιοποιώντας τη σύγχρονη γλώσσα προγραμματισμού Python καθώς και υπάρχουσες εργαλειοθήκες διαχείρισης γεωχωρικών δεδομένων. Επιπροσθέτως, στο πλαίσιο του μαθήματος παρουσιάζονται οι σύγχρονες προσεγγίσεις που εφαρμόζονται με σκοπό τη διαχείριση και τη μοντελοποίηση τόσο της γεωχωρικής πληροφορίας όσο και αλγορίθμων γεωχωρικής επεξεργασίας.

Το μάθημα συνδυάζει τη θεωρητική γνώση που απαιτείται για την ανάπτυξη εφαρμογών λογισμικού, είτε σαν αυτόνομες εφαρμογές ή σε συνδυασμό με υπάρχοντα εργαλεία Συστημάτων Γεωγραφικών Πληροφοριών. Συγκεκριμένα, το μάθημα περιλαμβάνει θεωρητικές διαλέξεις και ασκήσεις πράξης αποσκοπώντας στην ολοκληρωμένη κατανόηση των σύγχρονων προσεγγίσεων για την  ανάπτυξη εφαρμογών λογισμικού στον τομέα της Γεωπληροφορικής καθώς και για την αυτοματοποίηση αλγορίθμων γεωεπεξεργασίας αξιοποιώντας σύγχρονα περιβάλλοντα και εργαλεία Συστημάτων Γεωγραφικών Πληροφοριών.

Ταυτόχρονα, η εξειδικευμένη γνώση και οι δεξιότητες που αποκτούν οι παρακολουθούντες το αντικείμενο φοιτητές δεν οδηγούν σε μία στείρα και αυστηρά θεωρητική κατάρτιση, αλλά μέσω μίας εγνωσμένης και βατής για το μέσο όρο των φοιτούντων στο 7ο επίπεδο σπουδών πολυπλοκότητας των θεμάτων που θίγονται, έρχονται αντιμέτωποι με ζητήματα που θα κληθούν να αντιμετωπίσουν στην αγορά εργασίας. Επιπροσθέτως δε, λαμβάνουν όλα εκείνα τα γνωστικά εφόδια και τις δεξιότητες, που σε συνδυασμό με τα ειδικότερα γνωστικά αντικείμενα της Επιστήμης Γεωγραφικών Πληροφοριών που περιέχονται στο πρόγραμμα σπουδών τους, αποκτούν τη δυνατότητα να διεκδικήσουν τη θέση τους και στον επόμενο κύκλο (8ο) σπουδών.

Σύμφωνα με τις ενότητες που έχουν σχεδιασθεί για την υποστήριξη του γνωστικού αντικειμένου του μαθήματος, οι σπουδαστές εμπεδώνουν βασικά στοιχεία τα οποία συνδέονται με:

α. τον αντικειμενοστραφή προγραμματισμό σε γλώσσα Python

β. την ανάπτυξη εφαρμογών και εργαλειοθηκών για τη διαχείριση και την επεξεργασία γεωχωρικών δεδομένων

γ. τη δομή και τη λειτουργία βασικών μορφότυπων γεωχωρικών δεδομένων

δ. τη μοντελοποίηση αλγορίθμων γεωεπεξεργασίας σε περιβάλλον Συστήματος Γεωγραφικών Πληροφοριών

ε. καλές πρακτικές για την ανάπτυξη λογισμικών εργαλείων για την υποστήριξη εφαρμογών γεωχωρικής τεχνολογίας

Μετά την επιτυχή ολοκλήρωση του μαθήματος, οι σπουδαστές αποκτούν ένα σύνολο γνώσεων και δεξιοτήτων οι οποίες τους επιτρέπουν να αναπτύσσουν εφαρμογές λογισμικού για την υποστήριξη προβλημάτων γεωχωρικής ανάλυσης αξιοποιώντας σύγχρονα εργαλεία Γεωπληροφορικής, όπως π.χ. Συστήματα Γεωγραφικών Πληροφοριών καθώς και μοντέρνες τεχνικές προγραμματισμού. Ταυτόχρονα, οι σπουδαστές αποκτούν ουσιαστικές δεξιότητες για την επίλυση απλών και σύνθετων προβλημάτων γεωχωρικής τεχνολογίας.

Επιπροσθέτως, οι προσεγγίσεις που διδάσκονται στο πλαίσιο του μαθήματος και η πρακτική υλοποίησή τους (μέσω των ασκήσεων πράξης) αποτελούν σημαντικά εφόδια για τη συνέχεια των σπουδών των φοιτητών στα επόμενα ακαδημαϊκά εξάμηνα, καθώς και για την εκπόνηση πτυχιακών εργασιών σε ένα σύνολο διαφορετικών αντικειμένων τα οποία εντάσσονται σύγχρονο πεδίο της Γεωπληροφορικής (Συστήματα Γεωγραφικών Πληροφοριών, Φωτογραμμετρία, Τηλεπισκόπηση, Χαρτογραφία, Γεωγραφική Ανάλυση, & Γεωδαισία). Τέλος, οι γνώσεις που αποκτούνται από τους σπουδαστές στο πλαίσιο το μαθήματος είναι απαραίτητες για την επιτυχή ένταξή τους στη σύγχρονη αγορά εργασίας.

 

Γενικές Ικανότητες

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
  • Προσαρμογή σε νέες καταστάσεις
  • Λήψη αποφάσεων
  • Αυτόνομη εργασία
  • Ομαδική εργασία
  • Άσκηση κριτικής και αυτοκριτικής
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης

 

ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Θεωρητικό Μέρος

  1. Εισαγωγή στη γλώσσα προγραμματισμού Python:
    • Περιβάλλον προγραμματισμού
    • Διερμηνείς
    • Εκχώρηση μεταβλητών
    • Βασικές εντολές
    • Λογικοί τελεστές
    • Έλεγχοι & βρόγχοι επανάληψης
  2. Προγραμματισμός σε γλώσσα Python:
    • Βασικές αρχές αντικειμενοστραφούς προγραμματισμού
    • Βασικοί τύποι (δομές) δεδομένων και μεταβλητών (συμβολοσειρές, λίστες, πίνακες, πλειάδες, & λεξικά)
    • Συναρτήσεις
    • Δημιουργία και αξιοποίηση εργαλειοθηκών
    • Βιβλιοθήκες για τη διαχείριση και επεξεργασία γεωχωρικών δεδομένων
  3. Μορφότυποι γεωχωρικών δεδομένων:
    • Ταξινόμηση βασικών δομών δεδομένων για τη μοντελοποίηση γεωχωρικών δεδομένων
    • Μορφότυποι διανυσματικών (vector) δεδομένων
    • Μορφότυποι κανικοποιημένων/πλεγματικών (raster) δεδομένων
    • Βασικοί αλγόριθμοι συμπίεσης κανικοποιημένων/πλεγματικών (raster) δεδομένων
    • Προγραμματισμός εφαρμογών για την υποστήριξη διαφορετικών μορφοτύπων σε τοπικό και διαδικτυακό περιβάλλον
  4. Μοντελοποίηση γεωεπεξεργασίας σε περιβάλλον Συστήματος Γεωγραφικών Πληροφοριών:
    • Ανασκόπηση βασικών αλγορίθμων γεωεπεξεργασίας
    • Δημιουργία μοντέλων αυτοματοποίησης αλγορίθμων σε περιβάλλον Συστήματος Γεωγραφικών Πληροφοριών
    • Παρουσίαση διαθέσιμων εργαλείων εμπορικού λογισμικού και ελεύθερου λογισμικού/λογισμικού ανοικτού κώδικα για την ανάπτυξη μοντέλων αυτοματοποίησης
    • Παραμετροποίηση μοντέλων διαθέσιμων εργαλείων
  1. Εφαρμογές προγραμματισμού στη Γεωπληροφορική:
    • Γενικές αρχές σχεδιασμού εφαρμογών λογισμικού σε τοπικό και διαδικτυακό περιβάλλον
    • Απαιτήσεις και σχεδιασμός λογισμικών εργαλείων Γεωπληροφορικής
    • Παραδείγματα και καλές πρακτικές εφαρμογών λογισμικού για την επίλυση προβλημάτων γεωχωρικής τεχνολογίας σε τοπικό και διαδικτυακό περιβάλλον

 

Ασκήσεις Πράξης

  1. Εργασίες μοντελοποίησης αλγορίθμων γεωεπεξεργασίας σεπεριβάλλον Συστήματος Γεωγραφικών Πληροφοριών αξιοποιώντας διανυσματικά και κανονικοποιημένα/πλεγματικά γεωχωρικά δεδομένα
  2. Εργασίες ανάπτυξης βιβλιοθηκών επεξεργασίας γεωχωρικών δεδομένων σε γλώσσα Python
  3. Εργασίες βιβλιογραφικής ανασκόπησης (στο θεωρητικό και πρακτικό πλαίσιο του μαθήματος)

 

Μέθοδος Αξιολόγησης

  • Εξέταση γραπτή στο τέλος του εξαμήνου (Ασκήσεις πολλαπλής επιλογής, σύντομης ανάπτυξης και επίλυσης προβλημάτων)
  • Κατ’ οίκον εργασία (εκπόνηση ασκήσεων πράξης πάνω στα θεωρητικά και πρακτικά αντικείμενα που συνδέονται με το περιεχόμενο του μαθήματος)

 

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

  1. Βunting P., Clewley D. (2015). Python Scripting for Spatial Data Processing. Teaching Notes, Aberystwyth University.
  2. Μανής Γ. (2015). Εισαγωγή στον προγραμματισμό με αρωγό τη γλώσσα python. [ηλεκτρ. βιβλ.] Αθήνα: Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών. Διαθέσιμο στο: http://hdl.handle.net/11419/2745
  3. Μαγκούτης Κ, Νικολάου Χ. (2015). Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python: Μια προσέγγιση από την πλευρά των υπολογιστικών συστημάτων. [ηλεκτρ. βιβλ.] Αθήνα: Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών. Διαθέσιμο στο: https://repository.kallipos.gr/handle/11419/1708
  4. Toms, S. (2015). ArcPy and ArcGIS–Geospatial Analysis with Python. Packt Publishing Ltd.
  5. Τσούλος, Λ., Σκοπελίτη, Α., Στάμου, Λ. (2015). Χαρτογραφική σύνθεση και απόδοση σε ψηφιακό περιβάλλον. [ηλεκτρ. βιβλ.] Αθήνα: Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών. Διαθέσιμο στο: http://hdl.handle.net/11419/2506