Skip to content

2024 Joint OGC – OSGeo – ASF Code Sprint

doublebyte1 edited this page Mar 5, 2024 · 109 revisions

Organized by

Hosted by

Catering sponsored by

Call for Sponsors 📣

Organizations are invited to sponsor the Code Sprint. A range of packages are available offering different opportunities for organizations to support the geospatial development community while promoting their products or services. Please check this page for more information about sponsorship packages.

Topics

This sprint will cover several OGC approved and candidate standards. Several OSGeo and Apache projects will participate. If you are new to Code Sprints, please check the mentor streams below.

For a glance at the topics of previous Joint OGC ASF OSGeo Code Sprints, please read the following engineering reports:

Period and location

The code sprint will take place from 26th to 28th of February, 2024.

The meeting will be hybrid and will take place at the Casa Cordovil - Universidade de Évora (Évora, Portugal) and at the OGC events discord server. If you are attending in person, please check also the travel info section.

Centro Tecnológico Gil Eanes - Universidade de Évora, Casa Cordovil, Rua Dom Augusto Eduardo Nunes nº7 Évora

Join Discord from Windows, Mac, iOS or Android: https://discord.gg/3uyaZZuXr3

Discord app download: https://discord.com/download

Most text channels are also bridged on Matrix: https://matrix.to/#/%23ogc:matrix.org

Évora is a UNESCO World Heritage Site and was chosen to be European Capital of Culture in 2027.

Travel Info

Here is a list of recommended hotels:

When arriving in Portugal via airplane to Lisbon, you can reach Évora by public transport, using either train or express bus. In both cases you need to start by coming from the airport to the "Gare do Oriente" transportation hub. Either take a metro from Lisbon airport to the "Oriente" station (three stops from the airport) or take a taxi/uber/bolt (should be about 10 min.) and then either:

  • Board the "Intercidades(IC)" train bound for "Évora". The Journey from "Lisboa - Oriente" to "Évora" station is only about 1,5 hours, but we recommend you to check the train times in advance, as there are only a few trains per day - price is around 15 €.

  • Take an express bus to "Évora". Journey time is also around 1,5 hours and prices in the 5 - 10 € range. Some reliable operators:

If you prefer to drive, Évora is under 1,5 hours from Lisbon on the motorway.

Évora is also reachable from the Faro airport, in the south of Portugal, albeit a bit further, with journey times of about 3,5 hours by either train or bus.

Schedule

The code sprint will be held on Western European Time (WET/UTC/GMT). You can check here the time in other locations.
This is the schedule for the main track. For the mentor stream, please check the detailed schedule here.

Date Time Day/ Activity Discord channel
2024-02-20 Day #0 (pre-event): Welcome Webinar
14:00 - 14:10 Welcome remarks - Joana Simoes - audio for the whole session V:🏛 #Main Stage
14:10 - 14:25 Overview and Sprint Goals for participating OGC standards working groups - Gobe Hobona V:🏛 #Main Stage
14:25 - 14:40 Overview and Sprint Goals for participating OSGeo projects - Tom Kralidis V:🏛 #Main Stage
14:40 - 14:55 Overview and Sprint Goals for Apache projects - Martin Desruisseaux V:🏛 #Main Stage
14:55 - 15:00 Q&A V:🏛 #Main Stage
2024-02-26 Day #1: Kick-Off
09:00 - 10:00 Welcome session V:🏛 #Main Stage
10:00 - 12:30 Practical Work V:👥 #Breakout Room
10:00 - 12:30 Practical Work V:👥 #OSGeo Room
12:30 - 13:30 Lunch 🍜
13:30 - 17:00 Practical Work V:👥 #Breakout Room
13:30 - 17:00 Practical Work V:👥 #OSGeo Room
17:00 - 18:00 Early dinner 🍜
18:00 - 19:00 Practical work V:👥 #Breakout Room
19:00 - 20:00 OGC API Features Breakout V:👥 #Breakout Room
18:00 - 20:00 Practical Work V:👥 #OSGeo Room
20:00 - 21:00 Daily Brief Back V:🏛 #Main Stage Support:TC
2024-02-27 Day #2
09:00 - 10:00 Practical work V:👥 #Breakout Room
09:00 - 10:00 Practical Work V:👥 #OSGeo Room
10:00 - 10:30 Stand-up V:🏛 #Main Stage
10:30 - 12:30 Practical work V:👥 #Breakout Room
10:30 - 12:30 Practical Work V:👥 #OSGeo Room
12:30 - 13:30 Lunch 🍜
13:30 - 18:00 Practical Work V:👥 #Breakout Room
18:00 - 18:30 OGC API Features Breakout V:👥 #Breakout Room
13:30 - 18:30 Practical Work V:👥 #OSGeo Room
18:30 - 19:30 Early dinner 🍜
19:30 - 20:00 Practical work V:👥 #Breakout Room
19:30 - 20:00 Practical Work V:👥 #OSGeo Room
20:00 - 21:00 Daily Brief Back V:🏛 #Main Stage Support:TC
2024-02-28 Day #3: Final Day
09:00 - 10:00 Practical work V:👥 #Breakout Room
09:00 - 10:00 Practical Work V:👥 #OSGeo Room
10:00 - 10:30 Stand-up V:🏛 #Main Stage
10:30 - 13:00 Practical work V:👥 #Breakout Room
10:30 - 13:00 Practical Work V:👥 #OSGeo Room
13:00 - 14:00 Lunch 🍜
14:00 - 15:00 OGC API Features and JSON-FG Breakout V:👥 #Breakout Room
14:00 - 15:00 Practical Work V:👥 #OSGeo Room
15:00 - 17:00 Demos & Wrap-up V::📣 GotoMeet

If you would like to add any items to the schedule, just edit the agenda above and add another row on the relevant section. Example:

| | 11:00 - 12:00 | pygeoapi meeting | [#Jitsi Room]()

Breakout Room schedule

Initiative Manager

Joana Simoes (OGC), ✉️, discord: @doublebyte.

Organising Committee

Gobe Hobona (OGC), Scott Simmons (OGC), Angelos Tzotsos (OSGeo), Tom Kralidis (OSGeo), Martin Desruisseaux (ASF), Brian Proffit (ASF) and Ricardo Garcia (Geobeyond).

Register

Registration is free for everyone. You may register here. At the time of the event, only registered participants will have access to the relevant Discord channels.

Which OGC standards working groups are going to participate?

Which OSGeo projects are going to participate?

Which Apache projects are going to participate?

Which other Geospatial FOSS projects are going to participate?

Collaborate activities

What activities or tasks might OSGeo and Apache projects work on together with OGC working groups during the 2024 joint code sprint?

Post your ideas as comments in this GitHub Issue.

Project and Working Group Pitches

In this section, projects and working groups have the chance to do a five minute pitch to introduce themselves. This is an excellent opportunity to draw attention to the project/working group and invite others to collaborate on specific tasks during the code sprint. If you are interested in doing a pitch, please record a short video (5 mins) and link it below. We would recommend adding your pitch before the pre-event webinar, on the 20th of February at 14 UTC. We will refer to the pitches during the webinar.

Video

OGC API - EDR viewer

Video

OGC API - Moving Features

Video

Sample pitch on youtube

Mentor streams

If you are coming to an OGC Code Sprint for the first time, you may be a little lost and confused about what you should do when you get there. That is why we will have an onboarding day, to help you get started in the OGC Community. In the discord server, you will find a section of called "mentoring", which contains multiple channels. On day 1 of the code sprint, we will feature a stream of tutorials, which will take place at the V:👥 [#Mentor Room].

Mentor Stream Onboarding Session

On the first day of the code sprint, there will be a mentor stream onboarding session at the V:🎙 Mentor Room.

26th of February, 10:10 - 10:30 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

If you would like to present a hands-on, entry level, tutorial, just add an entry bellow, following the same format. Please choose a time slot on day 1 (the 26th), that does not conflict with any of the scheduled events.

What Apache SIS can bring to yours application

Apache Spatial Information System (SIS) is a Java library for building geospatial applications. Apache SIS supports a dozen of OGC/ISO standards, including ISO 19115 metadata, an advanced implementation of referencing services, and GeoTIFF. This tutorial will use a JavaFX application and JShell for showing what Apache SIS can do, together with code snippets giving entry points for using those features.

Stream leader: Martin Desruisseaux

Proposed schedule: 26th of February, 10:40 - 11:20 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

RISCO Web Map solution

RISCO Web Maps is a generic browser-based 2D GIS data visualisation and editing solution oriented for responsiveness and mobile support.

On this workshop, we'll begin building / running a RISCO containerized solution (comprising PostGIS database with sample data, Golang feature server and FastAPI webapp using RISCO JS API) showing a Évora city explorer. Next, we'll add layers, change feature styles, configure info popups and map tips, etc.

If we have enough time, we will explore some edit functionality. At the end, with the help from JavaScript-minded people in the audience, we'll briefly discuss the addition of support for OGC API layers to RISCO JS API.

Please, follow this link to find workshop materials.

Technologies: Docker, PostGIS, PL/pgSQL, Golang (FastHTTP), Python (FastAPI), JavaScript

Requirements: Basic knowledge of spatial databases and web API's

Stream leader: Rui Cavaco Barrosa

Proposed schedule: 26th of February, 11:30 - 12:10 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

Publish Vector Data with #OGCAPI

This is a mentored walk through of the entire process of getting your pygeoapi server up & running to serve vector data. We will ingest vector data into an elasticsearch index and leverage the modular architecture of pygeoapi and OGC API to publish it simultaneously as OGC API - Features and OGC API - Tiles. Then we are going to explore this dataset, by using a HTML/JS client, created with leaflet. At the end of this session, you should be able publish a vector dataset as tiles and features, and consume it using a web browser, QGIS or any other http client. The data and software used in this presentation are a result of the eMOTIONAL Cities project.

Technologies: docker, pygeoapi, elasticsearch, html, java script, leaflet

Requirements: Basic knowledge about web APIs, docker and frontend. command line.

git clone -b vector-ws https://github.com/emotional-cities/openapi-sdi
git clone -b vector-ws https://github.com/emotional-cities/vtiles-example

Stream leader: Joana Simoes and Antonio Cerciello

Proposed schedule: 26th of February, 13:45 - 14:30 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

Testing implementations of OGC API - Tiles for Compliance to the Standard

This tutorial will walk through the compliance testing process to demonstrate how to check whether a product correctly implements the OGC API - Tiles standard. Two approaches will be demonstrated: through the hosted TEAM Engine web application, and through the Eclipse IDE (using Maven).

compliance badge

Technologies: TEAM Engine, Java, Maven

Requirements:

  • TBA

Stream leader: Gobe Hobona

Proposed schedule: 26th of February, 14:40 - 15:20 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

Spatio-Temporal Datacubes: How OGC/ISO Coverages Accomplish Modeling, Accessing, and Processing

This tutorial will introduce the datacube concept, modelled through the joint OGC / ISO coverage standard. We look into the data structures for regular and irregular grids, see where space & time are defined, how the pixel semantics is encoded, and more. Further, we discuss operations and how services can be built on top of datacubes, which is a hot topic of discussion within OGC currently.

Sample services are available for experimenting, running the OGC WCS datacube reference implementation, rasdaman. All material will be made available, including links to further detail information as well as public sandboxes.

This session, led by the main coverage specification editor, is an excellent primer to learn about coverages as served by a variety of APIs addressed at this code sprint.

Technologies: Web, python

Requirements: Basic knowledge about Web services and APIs

Stream leader: Peter Baumann

Proposed schedule: 26th of February, 15:30 - 16:10 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

OGC API - Environmental Data Retrieval (EDR) Viewer: View and analyse EDR datasets quickly.

This tutorial is a quick overview of OGCAPI - EDR . We'll give simple walkthrough of

  • what can be done with OGC API - Environmental Data Retrieval implementations
  • the main resources offered by implementations of OGC API - Environmental Data Retrieval
  • how to retrieve a description of the capabilities of an implementation of OGC API - Environmental Data Retrieval

We'll be explaining our newest Open Source project (edr-viewer) which can allow you to see any EDR data or construct query easily

Technologies: Web, OGC APIs - EDR, React.js, Next.js, leaflet.js

Requirements: Basic knowledge about React.js and OGCAPIs

Stream leader: Krishna Lodha

Proposed schedule: 26th of February, 16:20 - 17:00 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

How to secure pygeoapi and streamline protected OGC APIs

Securing a modern API in an effective way is critical to prevent unauthorized access and ensure the privacy and integrity of data. In general, there are three common mechanisms that can be used for API security:

  • API keys
  • OAuth2/OpenID Connect
  • JSON Web Tokens (JWT)

Each of these mechanisms provides a different level of security and flexibility, depending on the requirements of the API. Modern OGC APIs are agnostic and rely completely on the adoption of OpenAPI security schemes so the implementers can use the mechanism that perfectly fits with their requirements.

fastgeoapi is a new project designed to provide authentication and authorization on top of a vanilla pygeoapi. It uses pygeoapi as a python dependency in a FastAPI application aiming to offer, out-of-the-box, a secured infrastructure in the cloud for OGC APIs which is easily pluggable and developer-friendly. This tutorial gives a basic introduction to API security and describes some recipes to configure and protect a regular pygeoapi with open-source security tools in order to publish protected OGC APIs in a standard manner.

image

Technologies: pygeoapi, FastAPI, Keycloak, Open Policy Agent

Requirements: A basic understanding of authentication and authorization for APIs

Stream leader: Francesco bartoli

Proposed schedule: 26th of February, 18:10 - 18:50 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

Metadata management, publishing and discovery using OGC API - Records, Pub/Sub and GitHub

This tutorial will cover how to manage, verify and publish metadata using GitHub as a management platform. Metadata files are managed as pygeometa MCF records, and GitHub Actions are used to verify, transform and publish notification messages to an MQTT broker.

From here, a metadata registrar is subscribed to the same MQTT broker and, on notification, verifies new/updated metadata and publishes to an OGC API - Records endpoint (powered by pygeoapi) using OGC API - Features - Part 4. The QGIS desktop application is then used to query the OGC API - Records endpoint using its MetaSearch search client.

This session highlights the use of OGC standards with OSGeo software, as well as "no-code" workflow for low barrier metadata management.

image

image

Technologies: OGC API - Records, OGC API - Features - Part 4, QGIS, pygeoapi, pygeometa, GitHub, MQTT, Python

Requirements: A basic understanding of OGC APIs and GitHub is recommended.

Stream leader: Tom Kralidis

Proposed schedule: 26th of February, 19:00 - 19:40 UTC - https://www.timeanddate.com/worldclock/meetingtime.html?iso=20240226&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133

More

This event will be succeeded by the pygeoapi code sprint.

Clone this wiki locally