-
Notifications
You must be signed in to change notification settings - Fork 68
October 2023 Open Standards Code Sprint
Gold-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 the this page for more information about sponsorship packages.
This sprint will cover all OGC API approved and candidate standards. If you are new to Code Sprints, please check the mentor streams below.
The code sprint will take place from October 30th to November 1st, 2023.
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 times below are in local time in London during the period of the code sprint. Please be aware that on October 29, the clocks will change from BST (UTC+1) to GMT (UTC+0). You can check here the time in other locations and add it to your calendar 📅.
Date | Time | Day/ Activity | Discord channel | Room |
---|---|---|---|---|
2023-10-12 | Day #0 (pre-event): Welcome Webinar | |||
14:00 - 14:05 | Welcome remarks - Joana Simoes - audio for the whole session | V:🏛 #Main Stage | n/a | |
14:05 - 14:15 | Overview of OGC Standards - Gobe Hobona | V:🏛 #Main Stage | n/a | |
14:15 - 14:30 | Introduction to MUDDI and NUAR - Carsten Roensdorf | V:🏛 #Main Stage | n/a | |
14:30 - 14:50 | Introduction to the NGIIS GIMI Profile - Joe Stufflebeam | V:🏛 #Main Stage | n/a | |
14:50 - 15:00 | Q&A | V:🏛 #Main Stage | n/a | |
15:00 - 16:00 | Optional Discussion on GIMI Profile - Joe Stufflebeam | V:🏛 #Main Stage | n/a | |
2023-10-30 | Day #1: Kick-Off | |||
09:00 - 09:15 | Welcome remarks from the Initiative Manager and Event Host | V:🏛 #Main Stage | Quadrant | |
09:15 - 09:30 | Overview of OGC Standards - Gobe Hobona | V:🏛 #Main Stage | Quadrant | |
09:30 - 09:45 | Introduction to MUDDI and NUAR - Amy Manefield and Carsten Roensdorf | V:🏛 #Main Stage | Quadrant | |
09:45 - 10:00 | Introduction to the NGIIS GIMI Profile - Devon Sookhoo | V:🏛 #Main Stage | Quadrant | |
10:00 - 10:30 | Q&A | V:🏛 #Main Stage | Quadrant | |
10:45 - 12:15 | 5-minute introduction per project or working group - more info | V:🏛 #Main Stage | Quadrant | |
10:30 - 12:30 | Practical Work | V:🏛 #Main Stage | Quadrant | |
11:30 - 12:30 | MUDDI Breakout session | V:👥 #Breakout Room | Hilary | |
12:30 - 13:30 | Lunch | 🍜 | Quadrant | |
13:30 - 17:00 | Practical Work | V:👥 #Breakout Room | Quadrant | |
17:00 - 18:00 | Early dinner | 🍜 | Quadrant | |
18:00 - 20:00 | Practical work | V:👥 #Breakout Room | Quadrant | |
20:00 - 21:00 | Sponsors Remarks and Daily Brief Back | V:🏛 #Main Stage | Quadrant | |
2023-10-31 | Day #2 | |||
09:00 - 10:00 | Practical work | V:🏛 #Main Stage | Kitchen, Shingareva | |
09:00 - 10:00 | JSON-FG Breakout session | V:👥 #Breakout Room | Tenzing | |
10:00 - 11:00 | Stand-up & demos | V:🏛 #Main Stage | Kitchen | |
11:00 - 12:30 | Practical work | V:👥 #Breakout Room | Kitchen, Tenzing, Shingareva | |
12:30 - 13:30 | Lunch | 🍜 | Kitchen | |
13:30 - 17:00 | Practical Work | V:👥 #Breakout Room | Quadrant, Tenzing, Shingareva | |
17:00 - 18:00 | Early dinner | 🍜 | Quadrant | |
18:00 - 20:00 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing, Shingareva | |
20:00 - 21:00 | Daily Brief Back | V:🏛 #Main Stage | Quadrant | |
2023-11-01 | Day #3: Final Day | |||
09:00 - 10:00 | Practical work | V:👥 #Breakout Room | Quadrant | |
10:00 - 11:00 | Stand-up & demos | V:🏛 #Main Stage | Quadrant | |
11:00 - 13:00 | Practical work | V:👥 #Breakout Room | Quadrant | |
13:00 - 14:00 | Lunch | 🍜 | Quadrant | |
14:00 - 15:00 | Practical work | V:👥 #Breakout Room | Quadrant, Tenzing | |
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#8420
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.
Please add your working group below.
- OGC API - Tiles, breakout room https://discord.gg/f4MSpMGq4Y
- OGC API - Records, breakout room https://discord.gg/qqRrjDa4R3
- OGC API - Processes, breakout room https://discord.gg/VmjUR9sAhQ
- OGC API - DGGS, breakout room https://discord.gg/aW9bjVSGYp
- OGC API - Maps, breakout room https://discord.gg/T56R8r2tA2
- OGC API - Coverages, breakout room https://discord.gg/bAqcUETRSb
- OGC API - Environmental Data Retrieval (EDR), breakout room https://discord.gg/dEKKwGvBHj
- OGC API - Features, breakout room https://discord.gg/nrKt9HFNms
- OGC SensorThings API, breakout room https://discord.gg/2qwy82bA82
- GeoPose, breakout room https://discord.gg/XXkAjCMst5
- OGC CDB, breakout room https://discord.gg/6jHyX6Eas3
- JSON-FG, breakout room https://discord.com/channels/874597684873400331/1016697694779080786
- OGC Styles & Symbology, breakout room https://discord.gg/hnNeHjkT7E
- MUDDI, breakout room https://discord.gg/wssNrAWDMA
- CityGML, breakout room https://discord.gg/R5crvzcMmR
- IndoorGML, breakout room https://discord.gg/Pbfnw6hTw6
- TrainingDML-AI, breakout room https://discord.gg/G732auXd44
- GEOINT Imagery Media for ISR (GIMI), breakout room https://discord.gg/D9aghuNMGk
NOTE: A common thread across the OGC API Standards work during the code sprint will be Publish/Subscribe approaches for event-driven solutions
The GIMI documentation is here.
An overview of the MUDDI-related work is here.
What activities or tasks do you plan to work in code sprint?
Post your ideas as comments in this GitHub Issue.
At the end the welcome session on the first day, projects and working groups will 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 add the name of the project and your name to the list below. See examples:
- MUDDI - Neil Brammall / Carsten Roensdorf
- OGC API - Records, Peter Vretanos / Tom Kralidis
- OGC API - Processes, Benjamin Pross
- Sensor Things API / STAplus - Joan Masó / Andreas Matheus
- JSON-FG - Clemens Portele / Peter Vretanos
- OGC API - Maps, Joan Masó / Jerome St-Louis
- OGC Styles & Symbology, Jerome St-Louis
- OGC API - Coverages, Jerome St-Louis
- OGC API - DGGS, Jerome St-Louis
- OGC CDB 2.0 and related GeoPackage extensions, Jerome St-Louis
- OGC API - Features - Clemens Portele / Peter Vretanos
- OGC API - EDR (Environmental Data Retrieval) - Chris Little / Mark Burgoyne
- OGC Pub/Sub - Tom Kralidis / Peter Vretanos / Clemens Portele / Steve Olson / Shane Mill / Chris Little / Mark Burgoyne
- GeoPose - James Clarke / Rob Smith
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. For this event, we will have mentors to help you get started in the OGC Community. In the discord server, you will find a section called "mentoring", which contains multiple channels. All the mentor streams will take place in the V:🎙 Mentor Room. If you would like to be a mentor, please add your name and project below. More guidance about mentoring at the code sprint was provided at the "Mentors onboarding session" of the past "Open Standards and Open Software Code Sprint". If you could not attend, you can check out the recording and slide deck. See example:
- pygeoapi - Mentor: Antonio Cerciello (@pascallike)
On the first day of the code sprint, there will be a mentor stream onboarding session at the V:🎙 Mentor Room, room Tenzing.
Proposed schedule: 30th of October, 12:15 - 12:30 GMT (UTC+0)
If you would like to present a tutorial, please add an entry below. Examples of content and formating can be found in mentor streams from past code sprints, for instance here. All tutorials will run on room Tenzing.
OGC API Standards require a description in OpenAPI v3.x From a security perspective, OpenAPI defines different schemes that can be used to protect the deployed endpoint. In the talk, these different schemes are introduced and their use with the OGC APIs is introduced and discussed. Does and don’ts will be named. After the conclusions, the future work section is going to illustrate the approach for implementing confidentiality and integrity with multi user access leveraging the STAplus API.
Technologies: OpenAPI, REST
Requirements: A basic understanding of OGC API is recommended.
Stream leaders: Andreas Matheus, Hylke van der Schaaf
Proposed schedule: 30th of October, 13:30 - 14:10 GMT (UTC)
The MiraMon Map Browser is a visualization, analysis and download tool that runs in modern web browsers. Only based on HTML5 and JavaScript, it uses Open Geospatial Consortium web service and web APIs and show the data to the user in a map format. The JavaScript client is able to combine AJAX, binary arrays with several web services and web APIs including WMS/WMTS protocol. In the case of remote sensing data, the information is structured in coverages.
The source code is available from: https://github.com/grumets/MiraMonMapBrowser
The MiraMon Map Browser is a long term developing effort from the MiraMon team. The aim of the development is to assign to the web browser and the JavaScript engine as much work as possible, limiting interactions to the server the minimum possible and the transfer of information from the server in a format that is as raw as possible. This approach can be surprising, these days where many application prefer to perform processing functionalities in the cloud and not by the client side. Most of the time, the MiraMon Map Browser is the direct responsible to create the visualization on the fly based on the raw data, allowing the user to change visualization properties, perform analysis, statistics or build time series in the client side directly.
The user is able to perform queries to the data in a more dynamic way, apply spatial filters, enhance contrast, changes palettes, create diagrams (e.g. histograms and pie charts), generate animations and graphics of a time series, and performing complex calculations among the coverage bands of the different available datasets.
Several layers of data coming from different servers and using different protocols can be overlaid simultaneously. Some layers represent data from a single dataset while other can be a virtual datasets computed on the flight in each zoom and pan, and created by combining data from more than one dataset and server.
The legend has two functions: on one hand, it provides information on the visualized information in the map viewer and on the other provides control to what is going to be visualized.
Some basic functionalities:
- Raster visualization and query by location by using OGC Web Map Service (WMS), Web Map Tiled Service (WMTS) and OGC API - Maps and OGC API - Tiles.
- Dynamic raster analytics by using OGC WMS by transmiting binary arrays of values, raw or RLE encoded, instead of pictorial representations.
- Pixel based analysis is performed directly in JavaScript in the client side and visualized on the fly.
- Vector visualization and query by location is possible using OGC Web Feature Service (WFS), Sensor Observation Service (SOS) and Sensor Things API (STA) and STA+. The client accepts both XML a JSON formats.
- Direct visualization of GeoJSON and Cloud Optimized GeoTIFF (COG) from the Internet or in local drive.
- Get metadata about the layer.
- Data download directly or using OGC Web Coverage Service v.1.0.
Other functionalities:
- Filters on raster and vector layers, and over on-the-fly calculated layers.
- Animations/video.
- Support to quality and uncertainty specifications from QualityML.
- Compute quality measures.
- GeoSpatial User Feedback (GUF) integrated.
- Layers overlapping (including calculator operations).
- Confusion matrices calculation.
- Raster reclassification.
- Support to quality operations.
- Support to provenance.
- Previous state/view recovery.
- The user can add new layers.
- Reorganization of layers in the legend,
- Change the visualization style of a layer.
- Support to multiple projections.
Technologies: JavaScript
Requirements:
- basic knowledge of web development technologies.
- knowledge about JSON
- a Web Browser
Purpose of the tutorial:
- Use of the MiraMon Map Browser console and the Developer editor network tool to illustrate how the client side dialogues with Web services and Web APIs.
- Illustrate the combination of web services, web APIs and direct file access.
- How to add new services and layers.
- How to use canvas and binary arrays to play with raster data.
Stream leader: Núria Julià
Proposed schedule: 30th of October, 14:25 - 15:05 GMT (UTC)
This workshop is about expriments with air quality sensors related to the work for the European Commision Horizon Europe project CitiObs. One of the goals is to enable seamless collection of air quality data from different frontrunner cities to produce ARD and DRI. Among other approaches, we are evaluating the use of the new OGC Standard STAplus which is a backwards-compatible extension to OGC's SensorThings API Standard, to already collect raw observations from low-cost sensors.
During this workshop, we are deomonstrting the use of a Smart-Citizen-Kit sensor board, as it can be obtained from SmartCitizen.
Credit to Fab Lab Barcelona
This sensor is measuring
Air Temperature
Air Humidity
Atmospheric Pressure
Noise
Light intensity
PM 1
PM 2.5
PM 10
and is usually used to upload data into the smartcitizen.me infrastructure.
To demonstrate the upload of raw observations into a STAplus endpoint, we are using a Raspberry PI, a serial connection cable and Wifi.
On the Raspberry PI, we execute a simple SensorApp prototype written in Python that illustrates the use of STAplus:
- The Python application uses AUTHENIX to fetch an access token to interact with the STAplus endpoint
- First, the application sets up the required STAplus skelleton (STAplus entities) via HTTP. Basically, a Thing, a Sensor 8 Datastreams plus a FeatureOfInterest is created for the user (if it does not exist)
- Next, the application connects to the MQTT broker (via TLS) using the AUTHENIX access token.
- Finally, the application runs in an endless loop pulling data of the sensor and pushing the SensorThings observations every 10s via MQTT.
During the workshop we will demonstrate how to setup the Raspberry PI, connect the sensor board and upload observations, step-by-step.
This sensor board has already travelled to different locations and uploaded observations. Current locations include
- Munich
- Cardener
- Bolzano
- Singapore
- Birmingham
- London
We will finish the workshop with a visualization using the CREAF TAPIS development.
Technologies: FROST-Server, FROST-Server STAplus plugin, FROST-Server Oauth2 Auth Plugin, STAplus SensorApp, Smart Citizen Kit, TAPIS
Requirements: Like to be a Citizen Scientist
Stream leaders: Joan Masó, Andreas Matheus
Proposed schedule: 30th of October, 15:20 - 16:00 GMT (UTC)
This workshop presents the software architecture implemented in the eMOTIONAL Cities research projects, to store and publish experimental data collected through different types of offline sensors. The architecture is based on a stack of FOSS software, orchestrated using docker-compose.
On the first part of the workshop, we will introduce eMOTIONAL Cities and present our technology choices, which addressed the use cases we had in the project.
On the second part of the project, we will run our server side orchestration, which includes the ability to publish sensor data as both, OGC API - Features and OGC Sensor Things API. Then we will show how to ingest sensor data into the server, using a jupyter notebook, and finally how to access the published data through QGIS, using its native functionality and the SensorThings API Plugin.
Technologies: pygeoapi, Frost, docker, docker-compose, python, QGIS
Requirements: No knowledge about OGC standards is required for this workshop, although a basic knowledge of REST APIs is recommended. If you want to follow along the demonstration, you will need docker and docker-compose installed on your machine, along with QGIS and the SensorThingsAPI plugin.
Stream leaders: Antonio Cerciello, Joana Simões
Proposed schedule: 30th of October, 16:15 - 16:55 GMT (UTC)
This tutorial will introduce the OGC GeoPose standard to participants and showcase example implementations from the developer community.
Presenters during the tutorial will include, in sequence:
- James Clarke
- An Introduction to the Hillyfields Bubble - a multipurpose dataset captured in support of the development of OGC prototypes.
- Implementation with Robot Operating System (ROS)
- Rob Smith
Use Cases with WebVMT
- Tracking a cyclist from a moving vehicle with LiDAR in Testbed-17
- Tracking vehicles from roadside video cameras in Testbed-19
- Mikel Salazar
- The GeoPose Sandbox - An Introduction and demonstration on how to install and work with it to create a rudimentary web-based project.
Technologies: Hillfields Bubble - Datasets, ROS, Python. Object Tracking - WebVMT GeoPose Sandbox - Typescript/JavaScript implantation
Requirements:
Stream leaders: Steve Smyth, Rob Smith, James Clarke, Mikel Salazar
Proposed schedule: 30th of October, 18:15 - 18:55 GMT (UTC)
Description
This tutorial will provide an overview of the Publish/Subscribe (PubSub) prototype conformance class for OGC API Standards. Participants will be invited to try out implementing the prototype.
The tutorial will focus on the PubSub implementation for OGC API - Environmental Data Retrieval (EDR).
Speakers, in sequence:
- Chris Little - Introduction (10 mins)
- Steve Olson - Aviation Use Case (10 mins)
- Tom Kralidis - Demonstration (10 mins)
- Questions & Answers (10 mins)
Technologies:
- Big Data
- AsyncAPI
- MQTT
- etc.
Requirements:
Stream leaders:
- Tom Kralidis
- Steve Olson
- Chris Little
Proposed schedule: 30th of October, 19:10 - 19:50 GMT (UTC)
This page is maintained by the Open Geospatial Consortium (OGC).