※ If there are fewer than 5 registered participants, the workshop may be canceled, and as a result, this schedule may be subject to change.

[28 Nov. 09:30-13:00]


[Basic Python for Geospatial]

Venue : Circle Room

Speakers: Feye Andal, Fritz Dariel Andal

This workshop offers a comprehensive introduction to utilizing Python programming for geospatial analysis and visualization. Geospatial data is essential in various domains such as environmental sciences, urban planning, agriculture, and disaster management. This workshop aims to equip participants with foundational skills to harness the power of Python libraries and tools for handling, analyzing, and visualizing geospatial data.
By the end of the workshop, participants will have a solid grasp of the core principles of geospatial data handling using Python. They will be empowered to create their own geospatial projects, capable of ingesting, analyzing, and visualizing spatial data to derive meaningful analysis.


[Doing Geospatial analysis with Python]

Venue : Seoul Archive

Speakers: Krishna Lodha, Jashanpreet Singh

With a low barrier to entry and large ecosystem of tools and libraries, Python is the lingua franca for geospatial development. Whether you are doing data acquisition, processing, publishing, integration or analysis, there is no shortage of solid Python tools to assist in your daily workflows.

This workshop will provide an introduction to performing common GIS/geospatial tasks using Python geospatial tools such as OWSLib, Shapely, Fiona/Rasterio, and common geospatial libraries like GDAL, PROJ, pycsw, as well as other tools from the geopython toolchain. Manipulate vector/raster data using Shapely, Fiona and Rasterio. Publish data and metadata to OGC web services using pygeoapi, pygeometa, pycsw, and more. Visualize your data on a map using Jupyter and Folium. Plus a few extras in between!

The workshop is provided using the Jupyter Notebook environment with Python 3.

  • Requirements for the Attendees

Please see https://geopython.github.io/geopython-workshop for details on how to setup the workshop before you attend.

A Gitter channel exists at https://gitter.im/geopython/geopython-workshop for discussion and live support from the developers of the workshop.

The workshop uses Jupyter Notebooks. Jupyter is an interactive development environment suitable for documenting and reproducing workflows using live code.

As the installation of all dependencies on all platforms (Windows, Mac, Linux) can be quite involved and complex this workshop provides all components within a Docker Image.

The core requirement is to have Docker and Docker Compose installed on the system. Once you have Docker and Docker Compose installed you will be able to install the workshop without any other dependencies.


[Empowering Earth Observation Tasks with STAC and Leafmap: A Hands-On Workshop]

Venue : Taepyeong Hall

Speakers: Sangwoo Ham

In the era of cloud computing, it is important to have a good understanding of cloud-optimized geospatial technologies in order to carry out earth observation tasks effectively. This workshop, led by SI Analytics’ experienced engineers, will provide valuable insights about the current status of cloud-native earth observation technologies.

During the workshop, we will delve into the details of cloud-optimized GeoTIFF (COG), spatio-temporal asset catalog (STAC), TiTiler, and Leafmap. These technologies have the potential to simplify earth observation workflows and make them more efficient. Specifically, we will cover the efficient storage and access of earth observation data using COG and STAC, dynamic tiling using TiTiler, and interactive map visualization using Leafmap.

This workshop is designed for researchers and engineers who are interested in improving their earth observation tasks by using cloud-native geospatial tools. While a basic understanding of Python programming, remote sensing, and GIS is assumed, attendees will have the opportunity to learn and enhance their skills throughout the workshop.


[PyQGIS and plugin development in QGIS for automatic map creation]

Venue : Workshop Room

Speakers: Hamidreza Ostadabbas

In this workshop we will first show you how to get started with plugin installation and plugin development using PyQGIS and related Python packages in QGIS for automatic map generation.
If the participants can follow me, we will follow these instructions.

  1. Plugin installation and plugin builder configuration
  2. Write simple Python code to upload a shape or geo package or PostGIS layer to QGIS desktop and add it to the plugin with the appropriate PyQT design.
  3. some symbols and map creation and creating a special button in plugin to do such actions automatically.

I will consider this workshop for beginner and intermediate level, but understanding of QGIS is necessary.


[28 Nov. 14:00-18:00]


[Environmental Data Retrieval (EDR) for Visualizing Coverage JSON on Maplibre-gl]

Venue : Seoul Archive

Speakers: Nutthapol Jansuri, Sattawat Arab

In the era of geospatial data-driven insights, the ability to efficiently retrieve and visualize environmental data is crucial for informed decision-making. This session, titled “Environmental Data Retrieval (EDR) for Visualizing Coverage JSON on Maplibre-gl,” aims to delve into the process of creating EDR APIs, generating Coverage JSON files, and seamlessly visualizing them on the Maplibre-gl platform.

  • Session Highlights:
  1. Create EDR APIs : Discover how to develop EDR APIs using Python, enabling streamlined access to a variety of environmental datasets. Learn about best practices in designing APIs that facilitate data retrieval.
  2. Generating Coverage JSON : Explore an example code that generates Coverage JSON files, allowing you to encapsulate and represent spatial coverage information efficiently. Understand the structure and content of these files.
  3. Visualizing with Maplibre-gl : Dive into the world of Maplibre-gl, a powerful JavaScript library for interactive maps. Witness the integration of Coverage JSON files with Maplibre-gl and gain insights into effectively rendering complex environmental coverage data.
  4. Utilizing NPM Packages : See how NPM packages can be leveraged to convert Coverage JSON to GeoJSON, enabling seamless integration with various geospatial visualization tools.
  • Tools and Case Studies:

The session will employ Python to demonstrate the creation of EDR APIs. The Maplibre-gl JavaScript library will be showcased for seamlessly visualizing Coverage JSON files on interactive maps. A notable use case, the Dragonfly web application (https://dragonfly.gistda.or.th/) deployed in Thailand, will be highlighted to exemplify the real-world application of the presented concepts.


[FOSS4U — Free and Open Source for Uncrewed Aerial Systems]

Venue : Workshop Room

Speakers: Stephen Mather

The Learning Objective of this session is “understand how to create your own high quality artisinal point clouds, pixels, and triangular meshes with low-cost hardware and open-source software”.

OpenDroneMap is free (libre) and open source photogrammetry toolkit targeted at low flying aircraft and other photogrammetric imagery processing. For the first half of the workshop, we will go over drone mapping basics: hardware, software, and best practices.

The second half of the workshop focuses on software processing of images from the drone in order to make the images usable as geospatial datasets. We’ll take users through installation and use of OpenDroneMap, WebODM, and the processing of datasets, settings, and options therein, and discuss and demonstrate options for hosted and scalable OpenDroneMap solutions.


[Getting Started with GeoServer]

Venue : Circle Room

Speakers: Jody Garnett

GeoServer is a much loved open-source project and one of the most popular web mapping services in the world. This workshop provides a gentle hands-on introduction in setting up and enjoying GeoServer.

This workshop covers the advantages of using GeoServer; looking at the abilities of this open-source technology.

  • We will start with a demonstration of geoserver installation and touch on system requirements and installation of extensions
  • Hands-on publication of spatial data (vector, raster and database).
  • GeoServer styling and web mapping use
  • Preflight check-lists making sure your datasets, and web services, are ready for use.
  • Demonstration of one-click-publishing from Desktop GIS using geocat-bridge tool.
  • For those migrating from ESRI software this workshop offers an opportunity to explore foss4g similarities and differences.

This session is a great way to get started, geared towards those with no prior open source experience. Familiarity with GIS concepts is recommended for attendees, and you are welcome to bring your own data.

This is a hands-on workshop: If you are comfortable installing software on your laptop you are encouraged to do so. If you can not install it is okay – GeoCat will provide a hosted GeoServer (so only a browser is required to attend).


[OGC API – Moving Features, an introduction with MF-API Server based on pygeoapi and MobilityDB]

Speakers: Wijae Cho, Taehoon Kim, Hirofumi Hayashi, Tsubasa Shimizu, Tran Thuan Bang, Kyoungsook Kim

Moving feature data can represent various phenomena, including vehicles, people, animals, weather patterns, and more. Conceptually, Moving Features are dynamic geospatial data that change location and possibly other characteristics over time.

OGC API – Moving Features (OGC API – MF) provides a standard and interoperable way to manage such data, with valuable applications in transportation management, disaster response, environmental monitoring, and beyond. OGC API – MF also includes operations for filtering, sorting, and aggregating moving feature data based on location, time, and other properties.

This workshop will get you started with OGC API – MF and its implementation in MF-API Server that is based on pygeoapi and MobilityDB, covering the following questions:

  • What is the core concept of OGC API – MF (and OGC MF-JSON format)?
  • How to implement OGC API – MF with pygeoapi and MobilityDB?
  • How can we visualize its results with STINUUM (with CesiumJS)?
  • How can we implement a new feature that hasn’t been implemented yet?

The below open sources will be used in this workshop:

Lastly, you can check many helpful information about OGC API – MF here: https://ogcapi.ogc.org/movingfeatures/