Skip to content

Tiling Interfaces Code Sprint

doublebyte1 edited this page Jun 19, 2023 · 38 revisions
Organized by: Hosted 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 the this page for more information about sponsorship packages.

Topics 📚

The code sprint will focus on the following standards and specifications:

  • OGC API - Tiles defines building blocks for creating Web APIs that support the retrieval of geospatial information as tiles.
  • OGC API - Maps describes an API that can serve spatially referenced and dynamically rendered electronic maps.
  • Changesets API that is based on Testbed-15 outcomes and provides the foundation for a 'Transactional Tiles API Extension' for OGC API – Tiles.
  • Vector Tiles Extension to GeoPackage that describes a prototype extension of the OGC GeoPackage Standard to support the use of vector tiles technology
  • Variable Width Tile Matrix is a grid suited for the whole globe, that keeps the data in a geographic coordinate reference system.
  • OGC Web Map Tile Service (WMTS) defines a web service that can serve map tiles of spatially referenced data using tile images with predefined content, extent, and resolution. Developers of implementations of the OGC WMTS Standard, DGIWG WMTS profile, and the NSG WMTS profile are encouraged to attend.

If you are new to Code Sprints, please check the mentor streams below.

Period and location 📍

The code sprint will run from 12th to 14th of June, 2023, in an hybrid format.

The in-person component of the meeting will take place at the Moonshot labs of the National Geospatial-Intelligence Agency (St. Louis, MO, US)

Moonshot Labs

911 Washington Avenue, Suite 300

St. Louis, MO 63101

United States of America

Directions to venue (see T-Rex website): https://downtowntrex.org/contact/

Here is a list of recommended hotels:

The virtual component of the code sprint will take place at the OGC events discord server.

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

Schedule 📆

The code sprint will be held on CDT/ UTC-5 (Central Daylight Time). 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
2023-06-12 Day #1: Kick-Off
09:00 - 09:15 Welcome remarks from the Initiative Manager and Event Host - audio for the whole session V:🏛 #Main Stage
09:15 - 09:30 Overview and Sprint Goals for OGC API - Tiles - Jerome St Louis V:🏛 #Main Stage
09:30 - 09:45 Overview and Sprint Goals for OGC API - Maps - Joan Masó V:🏛 #Main Stage
09:45 - 10:00 Overview and Sprint Goals for Changesets API - Jerome St Louis V:🏛 #Main Stage
10:00 - 10:15 Overview and Sprint Goals for Vector Tiles Extension to GeoPackage - Jerome St Louis V:🏛 #Main Stage
10:15 - 10:30 Overview and Sprint Goals for Variable Width Tile Matrix - Jerome St Louis V:🏛 #Main Stage
10:30 - 10:45 Overview and Sprint Goals for OGC WMTS - Joan Masó V:🏛 #Main Stage
10:45 - 11:00 Overview and Sprint Goals for the DGIWG and NSG profiles - Amy Youmans V:🏛 #Main Stage
11:00 - 11:10 Q&A V:🏛 #Main Stage
11:30 - 12:30 Practical Work V:👥 #Breakout Room
12:30 - 13:30 Lunch 🍜
13:30 - 15:45 Practical Work V:👥 #Breakout Room
15:45 - 16:30 Releasable Basemap Tile prototype presentation - AGC V:👥 #Main Stage
16:30 - 17:00 Daily Brief Back V:🏛 #Main Stage
2023-06-13 Day #2
09:00 - 10:00 Practical work V:👥 #Breakout Room
10:00 - 11:00 Stand-up & demos V:🏛 #Main Stage
11:00 - 12:30 Practical work V:👥 #Breakout Room
12:30 - 13:30 Lunch 🍜
13:30 - 14:30 GeoPackage Breakout V:👥 #Breakout Room
14:30 - 15:30 Fixing QGIS and GDAL MVT Support Breakout V:👥 #Breakout Room
13:30 - 16:00 Practical Work V:👥 #Breakout Room
16:00 - 17:00 Daily Brief Back V:🏛 #Main Stage
2023-06-14 Day #3: Final Day
09:00 - 10:00 Practical work V:👥 #Breakout Room
10:00 - 11:00 Stand-up & demos V:🏛 #Main Stage
11:00 - 13:00 Practical work V:👥 #Breakout Room
13:00 - 14:00 Lunch 🍜
14:00 - 15:00 Practical work V:👥 #Breakout 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]()

Feel free to use Jitsi (or another platform) for the meetings, provided the link is stated in the agenda.

Initiative Manager

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

Organising Committee

Gobe Hobona (OGC), Scott Simmons (OGC), Amanda Morgan (NGA) and Amy Youmans (US Army Geospatial Center).

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.

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. For this event (and hopefully future events if it works well), we will have mentors 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. All the mentor streams will take place in the V:🎙 Mentor Room. If you would like to be a mentor for a topic not listed, add a new table below.

Serve Vector Tiles with OGC API - Tiles

This is a mentored walk through of the entire process of getting your pygeoapi server up & running to serve vector tiles. 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 - Tiles and OGC API - Features. We are going to use a sample dataset with local shops and ingredients, from Sawcer. At the end of this session, you should be able to access the published tiles using a web browser, QGIS or any other http client.

Technologies: docker, pygeoapi, elasticsearch, QGIS.

Requirements: Basic knowledge about web APIs and Docker.

Stream leader: Joana Simoes

Proposed schedule: 12th of June, 11:45 - 12:30 CDT - https://www.timeanddate.com/worldclock/meetingtime.html?day=12&month=6&year=2023&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&iv=0

Testing implementations for Compliance to OGC Standards

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

Technologies: TEAM Engine

Requirements:

  • For Exercises 1 and 2 (Basic), a Web Browser is required
  • For Exercise 3 (Advanced), the following are required Java 8, Docker, Maven

Stream leader: Gobe Hobona

Proposed schedule: 12th of June, 13:45 - 14:30 CDT - https://www.timeanddate.com/worldclock/meetingtime.html?day=12&month=6&year=2023&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&iv=0

A closer look at the MiraMon Map Browser

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.

image

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: 12th of June, 14:45 - 15:30 CDT - https://www.timeanddate.com/worldclock/meetingtime.html?day=12&month=6&year=2023&p1=224&p2=179&p3=16&p4=44&p5=240&p6=136&iv=0

Clone this wiki locally