-
Notifications
You must be signed in to change notification settings - Fork 66
July 2024 Open Standards Code Sprint
Hosted by | Strategic Member support by | Sponsored by |
---|---|---|
Silver-level Sponsor |
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.
This sprint will cover all OGC API approved and candidate Standards. It will also feature three special tracks, for which you can find the details here. If you are new to Code Sprints, please check the mentor streams below.
The code sprint will take place from July 10th-12th, 2024.
The meeting will be hybrid and will take place at Geovation Hub (London, UK) and at the OGC discord server.
Here is a list of recommended hotels:
- Premier Inn London Farringdon (Smithfield) hotel: https://maps.app.goo.gl/ZBmNgG9TRkJwjeoTA
- Hotel nhow London: https://maps.app.goo.gl/ifxPWtggXaUxuimWA
- Marrable's Hotel (formerly The Zetter Hotel): https://maps.app.goo.gl/sbw9qZAfsdu6vjW29
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
The code sprint will be held on British Summer Time (BST/UTC+1). 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 | Room |
---|---|---|---|---|
2024-06-13 | Day #0 (pre-event): Welcome Webinar | |||
14:00 - 14:10 | Welcome remarks - Joana Simoes audio recording for the whole session | V:🏛 #Main Stage | n/a | |
14:10 - 14:20 | Overview and Sprint Goals for participating OGC Standards Working Groups - Gobe Hobona | V:🏛 #Main Stage | n/a | |
14:20 - 14:30 | Overview and Sprint Goals for the Data Quality and Artificial Intelligence Track - Ivana Ivanova | V:🏛 #Main Stage | n/a | |
14:30 - 14:40 | Overview and Sprint Goals for the Validators Track - Frank Terpstra and Joost Farla | V:🏛 #Main Stage | n/a | |
14:40 - 14:50 | Overview and Sprint Goals for the MapML Track - Peter Rushforth | V:🏛 #Main Stage | ||
14:50 - 15:00 | Q&A | V:🏛 #Main Stage | n/a | |
2024-07-10 | Day #1: Kick-Off | |||
09:00 - 10:00 | Welcome session | V:🏛 #Main Stage | Quadrant | |
10:00 - 12:30 | Practical Work | V:👥 #Breakout Room | Quadrant, Hilary | |
12:30 - 13:30 | Lunch | 🍜 | ||
13:30 - 18:00 | Practical Work | V:👥 #Breakout Room | Quadrant, Hilary | |
18:00 - 19:00 | Early dinner | 🍜 | ||
19:00 - 20:00 | Practical work | V:👥 #Breakout Room | Quadrant, Hilary | |
20:00 - 21:00 | Daily Brief Back | V:🏛 #Main Stage Support:TC | Quadrant | |
2024-07-11 | Day #2 | |||
09:00 - 10:00 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing, Hilary | |
10:00 - 10:30 | Stand-up | V:🏛 #Main Stage | Quadrant | |
10:30 - 12:30 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing, Hilary | |
12:30 - 13:30 | Lunch | 🍜 | ||
13:30 - 18:00 | Practical Work | V:👥 #Breakout Room | Quadrant | |
15:00 - 16:00 | SensorThings API and Connected Systems API discussion | Gotomeeting | Hilary | |
15:30 - 16:30 | Data Quality & TrainingDML-AI Discussion | V:👥 #Breakout Room | Tenzing | |
18:00 - 19:00 | Early dinner | 🍜 | ||
19:00 - 20:00 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing, Hilary | |
20:00 - 21:00 | Daily Brief Back | V:🏛 #Main Stage Support:TC | Quadrant | |
2024-07-12 | Day #3: Final Day | |||
09:00 - 10:00 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing, Hilary | |
10:00 - 10:30 | Stand-up | V:🏛 #Main Stage | Quadrant | |
10:30 - 13:00 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing, Hilary | |
13:00 - 14:00 | Lunch | 🍜 | ||
14:00 - 15:00 | Practical Work | V:👥 #Breakout Room | Quadrant | |
14:00 - 14:55 | Digital Twins breakout discussion | V:🏛 #Main Stage | Hilary | |
15:00 - 17:00 | Demos & Wrap-up | V::📣 GotoMeet | Quadrant |
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]()
Joana Simoes (OGC), ✉️, discord: @doublebyte.
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. Registration for in-person participation closes at 05:00 PM UTC+1 on July 3rd. Registration for remote participation will remain open throughout the code sprint.
Travel Support Funding is available for some participants. Participants interested in receiving travel support funding should indicate their interest on the registration form.
- OGC Styles & Symbology
- OGC API - DGGS
- OGC API - Coverages
- OGC API - Tiles
- OGC API - Maps
- OGC API - Records
- OGC SensorThings API
- OGC API - Connected Systems
- OGC API - Features (mostly remote)
- JSON-FG (mostly remote)
The Data Quality and Artificial Intelligence track of the Code Sprint will include activities towards implementing support for the Training Data Markup Language for Artificial Intelligence (TrainingDML-AI) Standard and for a Data Quality Measures Register based on the ISO 19157 series of Standards. The TrainingDML-AI Standard aims to develop encodings for geospatial machine learning training data (OGC 23-008r3). OGC published the conceptual model of the Standard in September 2023 and is considering a proposal for the JSON and XML encodings of the Standard.
This track will be led by Ivana Ivanova and Sam Meek.
In a previous codesprint a linter was developed for JSON-FG https://geonovum-labs.github.io/json-fg-linter/. A linter checks the correctness of code or encoding format inside your editor while you are writing or editing. In this track we want to expand on the previous work creating a linter for at least one standard: OGC API features as well as improving the JSON-FG linter where possible. From Geonovum we will be working on the API features linter and invite other participants to work on linters for other standards where we will support with the expertise we have already gained. The lessons learned from this codesprint can be input on creating generic components that can be reused for other linters.
This track will be led by Frank Terpstra and Joost Farla.
The code sprint will prototype integration of a Map Markup Language (MapML) viewer with implementations of the OGC API Features, Maps and Tiles Standards. The MapML extends the semantics of several HTML Standard elements, and specifies a small set of new, mapping-specific elements, in the HTML namespace ("http://www.w3.org/1999/xhtml"). You can find a video explaining what MapML is and links on the Project and Working Group Pitches Section.
What activities or tasks do you plan to work on during the code sprint?
Post your ideas as comments in this GitHub Issue.
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 June 13 at 14 UTC+1. We will refer to the pitches during the webinar.
MapML resources from the video:
- MapML viewer documentation
- MapML viewer source code repository
- GeoServer MapML plugin documentation
- MapML browser extension repository - Manifest v3 (Chromium-only)
- MapML Experiments and use cases
- MapML home page on geo.ca
- W3C Maps for HTML Community homepage
Sample pitch on youtube
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] and at the Tenzing room (Geovation).
On the first day of the code sprint, there will be a mentor stream onboarding session at the V:🎙 Mentor Room/ Tenzing room (Geovation).
10th of July, 10:10 - 10:30 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
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 10th), that does not conflict with any of the scheduled events.
pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML.
pygeoapi currently supports numerous OGC API standards (OGC API - Features/Records, OGC API - Environmental Data Retrieval, OGC API - Tiles, OGC API - Maps and OGC API - Processes). This tutorial will cover how to implement a new OGC API in pygeoapi.
Technologies: OGC API, pygeoapi, GitHub, Python
Requirements: A basic understanding of OGC APIs and GitHub is recommended. An intermediate understanding of Python is recommended.
Stream leader: Tom Kralidis
Proposed schedule: 10th of July, 10:40 - 11:20 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
Motivation: Millions of sensors record very many different aspects of the environment. Imagine you want to build a Monitoring or Decision Support System of particular purpose, you are facing the challenge to fetch a proper set of base data and then to receive appropriate updates. You for sure should not use polling, as you would request all data each time and regardless how fast or slow the polling time is set, it is never fit for purpose.
For sure, you need the possibility to fetch base data and receive fit-for-purpose live updates potentially across different organizations (platforms) using APIs. One possible solution can be based on OGC’s SensorThings API and the use of W3C WebSub. The combination of SensorThings API and WebSub will allow to fetch base data and receive live updates when it happens via HTTP(S) Webhook.
Technologies: OGC SensorThings API, W3C WebSub
Requirements: The proposal is to create an extension to the SensorThings API called WebSub. Potentially this WebSub extension will have two conformance classes: (i) Core - support for the W3C WebSub discovery, (ii) ODATA - support to add ODATA query to MQTT topic.
Stream leader: Andreas Matheus
Proposed schedule: 10th of July, 11:30 - 12:10 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
OWSLib is a Python package for client programming with OGC interface standards, including the newer OGC APIs. It provides a convenient way to connect to OGC services from a Python application or a Jupyter notebook.
In this tutorial we will explore how to access data on a OGC API - Connected Systems service using OWSLib. The API is intended to act as a bridge between static data (geographic and other domain features) and dynamic data (observations of these feature properties, and commands/actuations that change these feature properties).
Technologies: OGC API, Python, OWSLib
Requirements: A basic understanding of OGC APIs recommended. An intermediate understanding of Python is recommended.
Stream leader: Ian Patterson
Proposed schedule: 10th of July, 13:40 - 14:10 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
In this tutorial, we will explore a loose couple architecture to protect a pygeoapi instance with authentication and authorization.
Technologies: pygeoapi, docker, caddy, authelia
Stream leader: Youssef Harby
Proposed schedule: 10th of July, 14:30 - 15:00 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
Description This tutorial session will review the concepts, markup and API exposed by the <mapml-viewer> and the rest of the MapML polyfill.
Technologies: You can install and use the MapML polyfill via npm. To obtain your own MapML content, it is possible to install and use the GeoServer open source project across a variety of data sources and formats. There may be some useful information for you on the geo.ca MapML portal.
Requirements: Some knowledge of HTML and HTML DOM. Your own API knowledge. Maybe look at the docs for some ideas of what we'll discuss, you may have questions ahead of time.
Stream leaders: Peter Rushforth, Aliyan Haq, Natural Resources Canada
Proposed schedule: 10th of July, 15:10 - 17:10 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
This will be an introduction to the OGC API - Environmental Data Retrieval (EDR) Standard.
OGC API - EDR provides a family of lightweight query interfaces to access spatio-temporal data resources by requesting data at a position, within an area, along a trajectory or through a corridor. A spatio-temporal data resource is a collection of spatio-temporal data that can be sampled using the EDR query pattern geometries.
Stream leader: Chris Little
Proposed schedule: 10th of July, 19:10 - 19:50 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
In this tutorial, we will explore the Training Data Markup Language for Artificial Intelligence (TrainingDML-AI) Standard and its application to storing/retrieving Machine Learning training data.
Technologies: TrainingDML-AI, Python, STAC
Requirements: A basic understanding of Python is recommended but not critical if you're happy to play with some existing code in a Jupyter Notebook.
Stream leader: Sam Lavender
Proposed schedule: 11th of July, 14:30 - 15:00 UTC+1 - https://www.timeanddate.com/worldclock/meetingtime.html?day=10&month=7&year=2024&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&p7=133&iv=0
This page is maintained by the Open Geospatial Consortium (OGC).