Important notice
The course guide is provisional.
The PDF version of the course guide may take a few days to become available in the DDD.

Geo-Application Development
Code: 45549Credits: 6
| Degree programme | Type | Course |
|---|---|---|
| Geoinformation | OP | 1 |
Contact lecturer
- Name :
- Wladimir Szczerban Llatas
- Email :
- wladimir.szczerban@uab.cat
Group languages
You can consult this information at the end of the document.
Prerequisites
It is advisable that the student has basic notions of information technology and programming.
Objectives
1. Learning to programme customized GIS applications for the main current and future platforms, such as web applications and mobile devices.
2. Provide knowledge on the principal object and function libraries for web geospatial application development (e.g., Google, OpenLayers, Leaflet, MapLibre), and on the techniques needed for integrating components, implementing geospatial servers, using geolocation functions and accessing the various sensors available in mobile devices.
Learning outcomes
- CA18 (Organise technical teams to conduct projects for the production and distribution of geospatial information products or services.) Organise technical teams to conduct projects for the production and distribution of geospatial information products or services.
- CA19 (Create ubiquitous and geospatial information-smart web or mobile applications that respond to the needs of an organisation.) Create ubiquitous and geospatial information-smart web or mobile applications that respond to the needs of an organisation.
- CA20 (Solve the requirements and needs of geoinformation users in a given operational and organisational context.) Solve the requirements and needs of geoinformation users in a given operational and organisational context.
- CA21 (Generate and manage projects organised according to content criteria in order to provide the optimal solution for each application case.) Generate and manage projects organised according to content criteria in order to provide the optimal solution for each application case.
- KA18 (Identify mobile, web and client-server application development technologies useful in geoinformation.) Identify mobile, web and client-server application development technologies useful in geoinformation.
- KA19 (Define the principles of usability, ergonomics and human-computer interaction and their application to the design of user interfaces.) Define the principles of usability, ergonomics and human-computer interaction and their application to the design of user interfaces.
- KA20 (Relate function and object libraries to customise interfaces and incorporate geospatial functionality into applications.) Relate function and object libraries to customise interfaces and incorporate geospatial functionality into applications.
- SA23 (Interpret programming procedures and implementation of geospatial applications for different types of platforms (web, mobile,..).) Interpret programming procedures and implementation of geospatial applications for different types of platforms (web, mobile,..).
- SA24 (Propose solutions to the functional and non-functional requirements of geospatial applications in corporate settings or in environments open to the public.) Propose solutions to the functional and non-functional requirements of geospatial applications in corporate settings or in environments open to the public.
Contents
Web geoapplications programming
1. Introduction.
GIS on the Internet.
Historical evolution.
2. Main JavaScript libraries.
3. Main map servers.
4. Web client development with different libraries.
Google API.
OpenLayers.
Leaflet.
ArcGIS API.
MapLibre GL JS.
GeoPython Programming
1. Introduction to developing geospatial applications with Python.
Introduction to the development environment.
Geometries and Spatial Reference Systems (SRS).
Shapely and pyproj.
2. Working with vector data.
Using libraries such as GeoPandas for vector data management.
Data reading and writing.
Joins and spatial joins.
GIS operations: buffering, clipping, etc.
3. Working with raster data.
Using libraries such as Rasterio for raster data management.
Bands.
Cropping.
Raster statistics.
Basic rasterization and vectorization.
4. Spatial analysis.
Using these tools to perform spatial analysis.
Distance analysis.
Nearest neighbor analysis.
5. Visualization.
Using data visualization tools such as Folium and Plotly.
Interactive maps.
HTML export.
Learning activities and methodology
| Title | Hours | ECTS | Learning outcomes |
|---|---|---|---|
| Semester project | 15 | 0.6 | CA19, CA21, KA18, SA23, SA24 |
| Practical exercises | 69 | 2.76 | CA18, CA19, CA21, SA23, SA24 |
| Theoretical and practical lectures | 36 | 1.44 | CA19, CA20, KA18, KA19, KA20 |
Learning is achieved by means of three types of activities:
Directed activities: Directed activities are theoretical and practical lectures in a computer lab. They include solving case studies and practical exercises, using as the main method a problem based learning approach. Lectures serve to systematize all the content, to present the state of the art of the different subjects, to provide methods and techniques for specific tasks, and to sum up the knowledge to learn. Lectures organize also the autonomous and complementary work done by the students.
Supervised activities: Supervised activities are focused on the execution of a semester project, consisting of a real case study, carried out through workshop hours, autonomous work and tutorials. This semester project allows to apply together all the knowledge and technical skills learnt in all the courses of the semester. The semester project is a milestone for the students and the actual demonstration that they had achieved the learning goals of all the courses of the semester. It is also the main evidence for evaluation as students should have to submit at the end of the semester a report that summarizes the whole project and do an oral presentation.
Autonomous activities: Autonomous work of the students includes personal readings (papers, manuals, relevant reports, etc.), data and documentation search, complementary exercises and the personal development of the semester project.
The activities that could not be done onsite will be adapted to an online format made available through the UAB’s virtual tools. Exercises, projects and lectures will be carried out using virtual tools such as tutorials, videos, Teams sessions, etc. Lecturers will ensure that students are able to access these virtual tools, or will offer them feasible alternatives.
Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.
Assessment
Continuous assessment activities
| Title | Weight | Hours | ECTS | Learning outcomes |
|---|---|---|---|---|
| Report submissions | 45 | 13.5 | 0.54 | CA18, CA19, CA21, SA23, SA24 |
| Oral presentations | 25 | 7.5 | 0.3 | CA20, KA18, KA19, KA20, SA24 |
| Practical exercises | 30 | 9 | 0.36 | CA19, CA21, KA18, KA19, KA20, SA23, SA24 |
In the event that assessment activities cannot be taken onsite, they will be adapted to an online format made available through the UAB’s virtual tools (original weighting will be maintained). Homework, activities and class participation will be carried out through forums, wikis and/or discussion on Teams, etc. Lecturers will ensure that students are able to access these virtual tools, or will offer them feasible alternatives.
CONTINUOUS EVALUATION. This subject/module does not incorporate single assessment.
a) Evaluation procedure and activities:
Evaluation of the course is based mostly on the semester project, that comprises two evaluation activities. The elaboration and submission of a synthesis report and the oral presentation of the project done. Given the technical content of the course, the weight assigned to the project report is 45% of the total course grading, assuming that it is the most appropriate means to explain all the technical details of the project, and a weight of 25% at the oral presentation. The course assessment is completed with the evaluation of the practical exercises done along the course, that account for another 30% of the total course grading.
Except when expressly noticed, all the evaluation activities (report and oral presentation of the semester project, as well as practical exercises) have to carried out individually.
Time assigned to each evaluation activity includes the time spent in making all the material evidences for evaluating each activity (e.g., writing of the report, preparing the presentation slides, etc.).
b) Evaluation schedule:
2nd semester project report: Making during all the semester. Submission at the end of semester.
2nd semester project oral presentation: Making during all the semester. Oral presentation at the end of semester.
Course practical exercises: Making and submission weekly or biweekly along the semester.
c) Grade revision:
Once the grades obtained are published, students will have one week to apply for a grade revision by arranging an appointment with the corresponding teachers.
d) Procedure for reassessment:
2nd semester project report: It could be reassessed in the following two weeks after the submission date scheduled. Reassessment will require the submission of a new whole report in case of negative evaluation of the former report submitted.
2nd semester project oral presentation It could be reassessed in the following week after the date scheduled for the oral presentation. Reassessment will require doing again the oral presentation in case of negative evaluation of the former presentation done.
Course practical exercises: Can not be reassessed.
To have right to a reassessment the student will have to have been previously evaluated in a set of activities that account for at least two thirds of the total course grading. Therefore he or she will have to have been evaluated of the 1st semester project report (45%) and of the 1st semester project oral presentation (25%) in the dates scheduled.
The right to a reassessment will only be granted to students that, having not passed the course (e.g., having a total course grade below 5 over 10), had obtained at least a total course grade above 3,5 over 10.
e) Conditions for a ‘Not assessable’ grade:
Students will receive the grade ‘Not assessable’ insteadof ‘Fail’ if they had not submitted neither the 2nd semester project report nordone the 2nd semester project oral presentation. Students will obtain a Not assessed/Not submitted course grade unless they have submitted more than 1/3 of the assessment items.
f) UAB regulations on plagiarism and other irregularities in the assessment process:
In the event of a student committing any irregularity that may lead to a significant variation in the grade awarded to an assessment activity, the student will be given a zero for this activity, regardless of any disciplinary process that may take place. In the event of several irregularities in assessment activities of the same subject, the student will be given a zero as the final grade for this subject..
Assessment acitivities with a zero grade because of irregularities can not be reassessed.
On carrying out each evaluation activity, lecturers will inform students of the procedures to be followed for reviewing all grades awarded, and the date on which such a review will take place.
For this subject, the use of Artificial Intelligence (AI) technologies is permitted exclusively for support tasks. Students must clearly identify which parts have been generated with this technology, specify the tools used, and include a critical reflection on how these have influenced the process and the final outcome of the activity. Non-transparency in the use of AI in this assessable activity will be considered a lack of academic honesty and may lead to a partial or total penalty in the activity's grade, or more severe sanctions in serious cases.
Bibliography
Crickard, Paul (2014) Leaflet.js Essentials. Packt Publishing.
Gratier, Thomas (2015) OpenLayers 3 Beginner's Guide. Packt Publishing.
Purusothaman, Ramanujam (2015) PhoneGap: Beginner's Guide. Third Edition. Packt Publishing.
Dincer, Alper (2013) Google Maps API Cookbook. Packt Publishing.
Shotts, Kerry (2016) Mastering PhoneGap Mobile Application Development. Packt Publishing.
Software
Apache Cordova
Nodejs
Visual Studio Code
Course groups and languages
The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE
| Type of teaching | Group | Language | Semester | Shift |
|---|---|---|---|---|
| (TEm) Theory (master) | 1 | Catalan/Spanish | second semester | morning-mixed |
| (PLABm) Practical laboratories (master) | 1 | Catalan/Spanish | second semester | morning-mixed |