Strumenti Utente

Strumenti Sito


783AA Geospatial Analytics A.A. 2023/24



  • Giuliano Cornacchia, PhD student, University of Pisa
  • Giovanni Mauro, PhD student, University of Pisa
  • Daniele Gambetta, PhD student, University of Pisa

Hours and Rooms

Day of Week Hour Room
Thursday 09:00 - 11:00 Room Fib M1
Friday 09:00 - 11:00 Room Fib M1
  • Beginning of lectures: 21 September 2023
  • End of lectures: 7 December 2023
  • Possible lessons recovered: 8–15 December 2023

The lectures will be only in presence and will NOT be live-streamed

News and communications

  • APPELLI: The date of exams are the following (remember to register for the appello in time):
    • May, 28th, 2024, 14:00, room FIB L1 at the Department of Computer Science of University of Pisa
    • March, 18th, 2024, 09:00, room C29 (aula Faedo) at ISTI-CNR
    • February, 2nd, 2024, 09:00, room C29 (aula Faedo) at ISTI-CNR
    • The project should be sent through this form five days before the date of the exam.
  • Big Mobility Data Analytics workshop: Students interested in submitting a paper to the workshop (possibly out of your exam project), please contact teachers. Deadline for submission January 13 (with possible extension to Jan 20).
  • List of available projects
  • Temporary fixes for scikit-mobility library
    • some users of the library might experience issues due to updates in shapely (2.0.0). The quick fix for that is to modify line 635 of file “utils/” (in the library folder) into “vertices = [list(zip(*p.exterior.xy)) for p in gway.geoms]” – basically, add a “.geoms”.
    • the NYC foursquare dataset was recently moved. To use it with the load_dataset() function, you should update the URL to the new one: “url”:“”. This is currently used by datasets foursquare_nyc and flow_foursquare_nyc
    • Both issues above will be soon fixed in the library.

Learning goals

The analysis of geographic information, such as those describing human movements, is crucial due to its impact on several aspects of our society, such as disease spreading (e.g., the COVID-19 pandemic), urban planning, well-being, pollution, and more. This course will teach the fundamental concepts and techniques underlying the analysis of geographic and mobility data, presenting data sources (e.g., mobile phone records, GPS traces, geotagged social media posts), data preprocessing techniques, statistical patterns, predicting and generative algorithms, and real-world applications (e.g., diffusion of epidemics, socio-demographics, link prediction in social networks). The course will also provide a practical perspective through the use of advanced geoanalytics Python libraries.

The assessment of the course consists of: (1) an oral exam, aimed to test the knowledge acquired by the student during the course; (2) exercises to be done during the course; (3) the development of a project to test the practical ability acquired during the course.


  • Spatial Reference Systems
  • Data formats
  • Trajectory and Flows
  • Spatial Tessellations
  • Open-source tools for geospatial analysis
  • Digital spatial and mobility data
  • Preprocessing mobility data
  • Privacy issues in mobility data
  • Individual and collective mobility laws
  • Next-location and flow prediction
  • Trajectory and flow generation
  • Applications

Module 1: Spatial and Mobility Data

  • Fundamentals of Geographical Information Systems
    • Geographic coordinates systems
    • Vector data model
    • Trajectories
    • Spatial Tessellations
    • Flows
    • Practice: Python packages for geospatial analysis (Shapely, GeoPandas, folium, scikit-mobility)
  • Digital spatial and mobility data
    • Mobile Phone Data
    • GPS data
    • Social media data
    • Other data (POIs, Road Networks, etc.)
    • Practice: reading and exploring spatial and mobility datasets in Python
  • Preprocessing mobility data
    • filtering compression
    • stop detection
    • trajectory segmentation
    • trajectory similarity and clustering
    • Practice: data preprocessing with scikit-mobility

Module 2: Mobility Patterns and Laws

  • individual mobility laws/patterns
  • collective mobility laws/patterns
  • Practice: analyze mobility data with Python

Module 3: Predictive and Generative Models

  • Prediction
    • Next-location prediction
    • Crowd flow prediction
    • Spatial interpolation
  • Generation
    • Trajectory generation
    • Flow generation
  • Practice: mobility prediction and generation in Python

Module 4: Applications

  • Urban segregation models
  • Routing and navigation apps
  • Traffic simulation with SUMO


Day Topic Slides/Code Material Teacher
1. 21.09 09:00-11:00 Introduction to the Course [slides] About the course; [slides] Introduction to Geospatial Analytics [book chapter] Introduction to geographic information systems, Chapter 1; [paper] Human Mobility: Models and Applications, Section 1 Pappalardo, Nanni
2. 22.09 09:00-11:00 NO LESSON
3. 28.09 09:00-11:00 Fundamental Concepts (theory) [slides] Fundamental Concepts [book chapter] Introduction to geographic information systems, Chapter 2 (Coordinate Systems); [paper] A survey of deep learning for human mobility, Section 2.1, Appendix A; Essentials of Geographic Information Systems,Chapter 4, Section 4.2 (Vector Data Models); [video] Intro to coordinate systems and UTM projection Pappalardo
4. 29.09 09:00-11:00 Fundamental Concepts (practice) [code] Introduction to shapely, geopandas, folium, and scikit-mobility [book chapter] Automating GIS-processes, Lesson 1 (Shapely and geometric objects); [article] Analyze Geospatial Data in Python: GeoPandas and Shapely; [paper] scikit-mobility: a Python library for the Analysis, Generation, and Risk Assessment of Mobility Data, Sections 1, 2; Pappalardo, Mauro
5. 05.10 09:00-11:00 Geographic and Mobility data (theory) [slides] Geospatial and Mobility data [paper] A survey of deep learning for human mobility , Appendix C.1, C.2, C.3; [paper] Evaluation of home detection algorithms on mobile phone data using individual-level ground truth , Section 1 “Introduction”, Section 2 “Mobile phone datasets”; [paper] A survey of results on mobile phone datasets analysis , Section 1 “Introduction”, Section 3 “Adding space - geographical networks”; [paper] Urban Human Mobility: Data-Driven Modeling and Prediction, Section 2.2 “Popular Urban Data”; Nanni
6. 06.10 09:00-11:00 Geographic and Mobility data (practice) [code] Geospatial and Mobility data in Python [paper] scikit-mobility: a Python library for the Analysis, Generation, and Risk Assessment of Mobility Data, Section 4 “Plotting”; [video] scikit-mobility data module; [tutorial] OSMnx: Python for Street Networks; [paper] OSMnx: New methods for acquiring, constructing, analyzing, and visualizing complex street networks; [book chapter] Intro to Python GIS, Retrieving OpenStreetMap data ; Nanni
7. 12.10 09:00-11:00 Data preprocessing (theory) [slides] Trajectory preprocessing [paper] Review and classification of trajectory summarisation algorithms: From compression to segmentation; [paper] Algorithms for the reduction of the number of points required to represent a digitized line or its caricature (Douglas-Peucker); [paper] A Trajectory Segmentation Map-Matching Approach for Large-Scale, High-Resolution GPS Data; [paper] Hidden Markov Map Matching Through Noise and Sparseness Nanni
8. 13.10 09:00-11:00 NO LESSON, for atheneum ordinance
9. 19.10 09:00-11:00 Data preprocessing (theory and practice) [slides] Semantic Enrichment, [code] Preprocessing Mobility data [paper] Analysis of human mobility patterns from GPS trajectories and contextual information; [paper] Using Mobile Positioning Data to Model Locations Meaningful to Users of Mobile Phones; [paper] Dynamic population mapping using mobile phone data; [paper] Inferring human activities from GPS tracks Nanni
10. 20.10 09:00-11:00 Alternative Routing (theory and practice) [slides] Alternative Routing; [code] Alternative Routing in Python [paper] Shortest-Path Diversification through Network Penalization: A Washington DC Area Case Study; [paper] One-Shot Traffic Assignment with Forward-Looking Penalization; [paper] Comparing Alternative Route Planning Techniques: A Comparative User Study on Melbourne, Dhaka and Copenhagen Road Networks Pappalardo
11. 26.10 09:00-11:00 Individual Human Mobility Laws and Models (theory) [slides] Individual Mobility Laws and Models [paper] The scaling laws of human travel; [paper] Understanding individual human mobility patterns; [paper] Human Mobility: Models and Applications, Sections 3.1 and 4; [paper] Returners and Explorers dichotomy in Human Mobility; [paper] Limits of predictability in human mobility; [paper] Modelling the scaling properties of human mobility; Pappalardo
12. 27.10 09:00-11:00 Individual Human Mobility Laws and Models (practice) [code] Mobility laws and models scikit-mobility documentation: measures, scikit-mobility documentation: models Pappalardo, Mauro
13. 02.11 09:00-11:00 Mobility Patterns (theory) [slides] Mobility Patterns [paper] A Survey on Trajectory Data Management, Analytics, and Learning, Section 3; [paper] Swarm: Mining Relaxed Temporal Moving Object Clusters; [paper] Computing longest duration flocks in trajectory data; [paper] Trajectory pattern mining; [paper] On Discovering Moving Clusters in Spatio-temporal Data Nanni
14. 03.11 09:00-11:00 Collective Mobility Laws and Models (theory and practice) [slides] Collective mobility laws and models [paper] Human Mobility: Models and Applications, Section 4.2; [paper] A universal model for mobility and migration patterns; [paper] Systematic comparison of trip distribution laws and models: [paper] A Deep Gravity model for mobility flows generation Pappalardo
15. 09.11 09:00-11:00 Spatial segregation models (theory) [slides] Segregation Models [paper] Dynamic models of segregation, Schelling; [paper] Mobility constraints in segregation models; Mauro
16. 10.11 09:00-11:00 Spatial segregation models (practice) [code] Implementing the Schelling model with MESA [tutorial] Introduction to MESA Mauro, Gambetta
17. 16.11 09:00-11:00 Next-Location Prediction (theory) [slides] Slides HMMlearn library; [paper] Mobility Prediction: A Survey on State-of-the-Art Schemes and Future Applications; [paper] A Survey on Trajectory-Prediction Methods for Autonomous Driving, Sections IV and V; [book chapter] Speech and Language Processing, Chapter A - Hidden Markov Models; [paper] Do Fielders Know Where to Go to Catch the Ball...? Nanni
18. 17.11 09:00-11:00 Next-Location Prediction (theory and practice) + Introduction to QGIS (practice) [code] HMM notebook Nanni, Özge Öztürk
19. 23.11 09:00-11:00 Traffic Simulation with SUMO (theory and practice) [slides] Traffic simulation with SUMO; [code] Traffic simulation with SUMO Cornacchia
20. 24.11 09:00-11:00 Traffic Simulation with SUMO (theory and practice) [code] Routing on road networks Cornacchia
21. 30.11 09:00-11:00 Presentation of projects Pappalardo, Nanni, Cornacchia, Mauro, Gambetta
22. 01.12 9:00-11:00 NO LESSON (Laurea sessions)
23. 07.12 9:00-11:00 Seminars by PhD students Gambetta, Landi

Previous Geospatial Analytics websites

geospatialanalytics/gsa/start.txt · Ultima modifica: 26/05/2024 alle 10:27 (3 settimane fa) da Luca Pappalardo