LEARNING OUTCOMES
The course aims to present the appropriate knowledge connected to basic programming techniques applied for the development of geospatial software applications, utilizing the modern programming language of Python as well as existing geospatial data management tools. Additionally, the course presents modern approaches applied in order to manage and model both geospatial information and geospatial processing algorithms. The course provides the theoretical knowledge required to develop software applications, either as standalone applications or in combination with existing GIS tools. Specifically, the course includes theoretical lectures and practical exercises aiming at a comprehensive understanding of modern approaches for the development of software applications in the field of Geoinformatics as well as the automation of geoprocessing algorithms, utilizing modern environments and Geographic Information Systems tools. Based on the sections designed for the support of the course, students are getting familiar with basic elements connected to related to:
- Object-oriented programming in Python
- the development of applications and toolboxes for the management and processing of geospatial data
- the structure and function of basic geospatial data formats
- the modeling of geoprocessing algorithms in Geographic Information Systems
- best practices towards the development of software tools to support applications in geospatial technology
After the successful completion of the course, students acquire a set of knowledge and skills that allow them to develop software applications to support geospatial analysis problems utilizing modern Geoinformatics tools, such as e.g. Geographic Information Systems as well as modern programming techniques. At the same time, students acquire essential skills for solving simple and complex geospatial technology problems. Additionally, the approaches taught in the course and their practical implementation (through practical exercises) are far too important towards the preparation of dissertations in a set of different subjects which are part of the modern field of Geoinformatics (Geographic Information Systems, Photogrammetry, Remote Sensing, Cartography, Geographical Analysis, & Geodesy). Lastly, the acquired knowledge is essential for their successful integration in the industry.
General Competences
- Search for, analysis and synthesis of data and information, with the use of the necessary technology
- Adapting to new situations
- Decision-making
- Working independently
- Team work
- Criticism and self-criticism
- Production of free, creative and inductive thinking
SYLLABUS
Theoretical part of the Course
- Introduction to Python programming:
• Programming environment
• Interpreters
• Variables assignment
• Basic commands
• Logical operators
• If and for loops - Programming in Python:
• Basic principles of object-oriented programming
• Basic data types (structures) and variables (strings, lists, arrays, tuples, & dictionaries)
• Functions
• Toolboxes utilization and development
• Geospatial data management and processing libraries - File formats for geospatial data:
• Classification of basic data structures for geospatial data modeling
• Vector data formats
• Raster data formats
• Basic compression algorithms for raster data
• Applications programming to support different file formats in both local and web environment - Geoprocessing (modeling) in Geographic Information Systems:
• Review of basic geoprocessing algorithms
• Modeling geoprocessing algorithms in Geographic Information Systems
• Introduction of available commercial software tools and free software/open source software for the development of geoprocessing models
• Models’ parametrization - Programming applications in Geoinformatics:
• General principles of software application design in local and web environment
• Requirements and design of software tools in Geoinformatics
• Examples and best practices of software applications for geospatial technology problems in local and web environment
Lab Part of the Course
- Modeling geoprocessing algorithms in Geographic Information Systems utilizing vector and raster geospatial data
- Development of geospatial data processing libraries in Python language
- Literature review exercises (in both the theoretical and practical aspects of the course)
STUDENT PERFORMANCE EVALUATION
Language of evaluation: Greek
Methods of evaluation:
• Written exam at the end of the semester (multiple choice questionnaires, short-answer questions, & problem-solving questions)
• Homework (practical exercises on both theoretical and practical objectives related to the course)
ATTACHED BIBLIOGRAPHY
1. Βunting P., Clewley D. (2015). Python Scripting for Spatial Data Processing. Teaching Notes, Aberystwyth University.
2. Manis, G., 2015. Introduction to programming using Python (In Greek). [ebook] Athens:Hellenic Academic Libraries Link. Available Online at: http://hdl.handle.net/11419/2745
3. Magoutis, K., Nikolaou, C., 2015. Introduction to object-oriented programming using Python (In Greek). [ebook] Athens:Hellenic Academic Libraries Link. Available Online at: http://hdl.handle.net/11419/1708
4. Toms, S. (2015). ArcPy and ArcGIS–Geospatial Analysis with Python. Packt Publishing Ltd.