Large scale professional and commercial processing and analysis of data require automation for time-saving and cost-effective application of GIS. This module covers geo-application development issues with the main focus on mobile and desktop applications development which include tools, models, scripts, and extensions. The module is structured with increasing difficulty of programming skills. The students will start with searching and downloading existing solutions, then continue with visual programming, and finish by advanced scripting for data management and analysis. The module also follows the logical procedure of typical GIS project which consists of data collection, data management and data analysis and visualization.
At the beginning of the course, the students will learn about several types of GIS applications, the development, and existing sources of GIS applications. The students will will be taken through the GIS mobile applications development with practical exercises using OpenDataKit solution. The development of the task- oriented desktop application will be designed in visual programming languages for GIS in open source software QGIS and commercial ArcGIS software which are suitable for novice programmers and experts in other fields like an environmentalist, utility engineers, etc. At the end of this course, students will learn how to create and modify scripts for application development using Python Programming Language.
Introduction to GIS App Development: Web/Mobile/Desktop Geo-application; Extensions, scripts, toolboxes, API; Overview of selected Geo-app; ArcGIS Resources, ArcGIS for Developers, GitHub.
GIS App for Data Collection: Survey123 for ArcGIS, Collector for ArcGIS, GIS Cloud, EpiCollect5, Open Data Kit; Field GIS data collection.
Automatic Data Processing: Automatic Data Processing by Visual Programming Language (VPL); Survey of Visual Programming Language in GIS software.
Processing Data in ModelBuilder: Basic programming terminology – value, variable, cycle, loop, iteration; Creation of workflows by ModelBuilder for ArcGIS, custom toolbox; Creation of parametrical models, using variables in model.
Data Iteration in ModelBuilder: Automatics processing of dataset, loops; Automatics processing of rasters and feature classes.
Spatial analysis for GIS App development: Interpolation and Spatial Statistics; Surface Analysis; Multi Criteria Analysis.
Scripting for Geodata: Conversion of VPL diagram to Python scripts; Extension of automatically converted scripts.
Python Scripting: Basic setting (environments, modules,…) in scripts; Adopting scripts as tools in Toolbox.
Enumeration Methods and Implementation of Scripts: Automatic editing of attribute data by scripts; Inserting data by scripts; Creation of help; Result messages and messages to users.
GIS App Development: Software engineering, Software development; Software release life cycle; Project management, Time Management; Business Model, Product Pricing; Software Maintenance and User Support.
Expected Learning Outcomes
On completion of this course, the participants are expected to have learned the Creation of GIS mobile apps as well customization and branding thereof. Additionally, participants will develop proficiency in software development and release life cycles; Project and Time Management; Business Model, Product Pricing; Software Maintenance and User Support.