SlideShare a Scribd company logo
Simple APIs for Spatial Data
OGC API - Features
Easy to use Spatial Data
Sampo Savolainen, Spatineo
Geospatial sucks!
💩 Weird abbreviations: OGC, WFS, WFS-T, CSW, WMTS, GML, OWS,
WMS, WCS, WCPS, WPS, TRL, GUF, LAS, GRB, COG, TSML
💩 Indecipherable specifications (WFS 2.0.2 spec is 254 pages!)
💩 XML
💩 Coordinates that are not latitude and longitude - where on earth is
386368.59,6671646.12 ?
💩 MultiLineStrings? MultiPolygons? MultiSurfaces?
… it’s just not designed for everyone
These work great for professional software but make it difficult for
developers not in the field
Web apps, prototypes, data journalists & visualisation tools need
something else:
🐱 Easy instructions
🐱 RESTful APIs
🐱 JSON and GeoJSON
… but geospatial is great!
Geospatial is a universal dimension for data
🌍 Allows to combine different data sets
🌍 Tools and methods to correlate, analyse, and visualise data
🌍 Location can be a point, route, 3D object, or even just an address -
most data has a location one way or another
🌍 Available tools and platforms: Google Maps, OpenStreetMap,
Leaflet, Digitransit (reittiopas backend)
🌍 Context for applications (“where the user is at the moment”)
So how to benefit from this?
OGC API - Features
Upcoming, completely redesigned version of WFS (codename “WFS 3.0”).
OGC API - Features embraces OpenAPI 3.0 (ex Swagger) for providing
machine-readable service capabilities. OpenAPI enables a nice set of
development tools out-of-the-box.
JavaScript Object Notation (JSON) as the primary format for describing
functionality, data offerings, and feature data.
Compliant APIs are browser-accessible: HTML landing page for the
service, HTML encodings for data collections, API operations, and the
offered feature data.
Resource Oriented Data Access
GET /
Landing page (HTML):
GET /collections
Information about the collections of data offered:
GET /collections/{collectionId}/items?bbox=160.6,-55.95,-170,-25.89
Simple queries supported in the core standard:
GET /collections/{collectionId}/items/{featureId}
Each feature referenced with a simple permanent URL
Just another API
Key idea: An OGC API is just an API like anything else on the web
🌟 Any HTTP + JSON client can access OGC APIs
🌟 Easy integration into browser apps - no extra library necessary
🌟 Specialized clients can take advantage of advanced features
The API can include other functionalities as well: the same end-point
may offer both custom application specific functionalities and yet also
be a Features API.
Case:Simple Observation Features
Pilot (SOFP)
Proof-of-concept Features API server for delivering weather and air
quality observation and forecast data.
Define and test encodings for point observation and forecast data that
allow the data to be "put on a map" using existing Web GIS applications
and libraries.
Joint project between Spatineo, Vaisala and the Finnish Meteorological
Institute.
GeoJSON Observation Features
WFS does not define data models for the offered data. Data model &
encoding harmonization required for interoperability.
Issue: Need to share environmental observation data with a variety of
existing GIS client software (OpenLayers, GDAL & QGIS etc.), but
complex feature XML is not well supported in desktop GIS/Web GIS
client applications.
Solution: Define simpler encoding of the Observations & Measurements
(ISO 19156) data model in GeoJSON.
Proposed as an alternative encoding of O&M data in INSPIRE, future
OGC standardization options under discussion.
SOFP Features API Server
OGC API - Features
front-end
WFS 3.0 front-end
WFS 3.0 front-end
Data source 1
Data source 2
Data source 3
Back-end modules
sofp-core
Implemented using node.js
(high-performance server-side JavaScript
engine)
In the FMI weather service case, the
back-end uses the existing SmartMet
Server APIs behind the scenes.
The SOFP front-end server (sofp-core)
project is managed by Vaisala and open
sourced with the MIT license, see
https://github.com/vaisala-oss/sofp-core
SOFP Weather Service demo
http://beta.fmi.fi/data/3/wfs/sofp/
Landing page (HTML)
beta.fmi.fi/data/3/sofp
Landing page (JSON)
beta.fmi.fi/data/3/sofp?f=json
OpenAPI description (HTML)
beta.fmi.fi/data/3/sofp/api.html
OpenAPI description (JSON)
beta.fmi.fi/data/3/sofp/api.json
Data collections (HTML)
beta.fmi.fi/data/3/sofp/collections
Data collections (JSON)
beta.fmi.fi/data/3/sofp/collections?f=json
Opendata_1h collection items (HTML)
beta.fmi.fi/data/3/sofp/collections/opendata_1h/items
Opendata_1h collection items (JSON)
beta.fmi.fi/data/3/sofp/collections/opendata_1h/items?f=json
Simple APIs for Spatial Data (OGC API - Features)
Simple APIs for Spatial Data (OGC API - Features)
Try It Out and Give Feedback
Live SOFP beta service: http://beta.fmi.fi/data/3/wfs/sofp/
Simple Observation Features data model
https://github.com/opengeospatial/omsf-profile
OGC API Hackathon: coverages, map tiles, processing.
Hosted by Ordnance Survey at the Geovation Hub, London on 20th &
21st June 2019 https://www.opengeospatial.org/OGCAPI_Hack2019
Inspire Helsinki 2019
A sea of spatial data
Inspire Helsinki 2019 Challenges
Event will be held in Helsinki October 22-24. Focus on spatial data, tools
and technologies. The event hosts four challenges and a number of
workshops.
🍩 Teams participating in the challenges work on their projects in
September - submission can be an idea, prototype, or data analysis
🍩 Challenge partners and organisers will support teams in September
🍩 Licenses to professional tools (ESRI ArcGIS, FME Platform)
🍩 Winners chosen at the event
🍩 Winning teams will get a trip to Dubrovnik + possible other prizes
The event is organized by the National Land Survey of Finland, the Ministry of Agriculture and
Forestry and supported by the Joint Research Centre of European Commission.
Commuting 2.0
Make planning the day-to-day commuting safer and more pleasant for
pedestrians, cyclers and other light traffic users using weather, air
quality and road condition data.
https://challenge.inspire-helsinki-2019.fi/commuting20.html
Challenge partners
By the Beautiful
Blue Danube
Discover alternative transport routings using the European waterways
and railways instead of road networks for increased efficiency and lower
the CO2 emissions.
https://challenge.inspire-helsinki-2019.fi/schonenBlauenDonau.html
Challenge partners
Find the best
seaside vacation
spot
Develop solutions to find the best location for a seaside vacation
depending on the interests and nature values ensuring sustainable
nature of the planned activities.
https://challenge.inspire-helsinki-2019.fi/seasideVacationSpot.html
Challenge partners
Let's make the
most out of
INSPIRE!
Figure out ways to improve how data is being delivered and encoded in
particular use cases (e.g. building a cross-border dataset, or using a
specific dataset in a particular software product).
Challenge partners
More information + team sign up
More information about the event at https://inspire-helsinki-2019.fi/
Challenge information and sign up
https://challenge.inspire-helsinki-2019.fi/
If you have any questions, go to https://spectrum.chat/inspire-helsinki/
Questions
& Answers

More Related Content

Simple APIs for Spatial Data (OGC API - Features)

  • 1. Simple APIs for Spatial Data OGC API - Features Easy to use Spatial Data Sampo Savolainen, Spatineo
  • 2. Geospatial sucks! 💩 Weird abbreviations: OGC, WFS, WFS-T, CSW, WMTS, GML, OWS, WMS, WCS, WCPS, WPS, TRL, GUF, LAS, GRB, COG, TSML 💩 Indecipherable specifications (WFS 2.0.2 spec is 254 pages!) 💩 XML 💩 Coordinates that are not latitude and longitude - where on earth is 386368.59,6671646.12 ? 💩 MultiLineStrings? MultiPolygons? MultiSurfaces?
  • 3. … it’s just not designed for everyone These work great for professional software but make it difficult for developers not in the field Web apps, prototypes, data journalists & visualisation tools need something else: 🐱 Easy instructions 🐱 RESTful APIs 🐱 JSON and GeoJSON
  • 4. … but geospatial is great! Geospatial is a universal dimension for data 🌍 Allows to combine different data sets 🌍 Tools and methods to correlate, analyse, and visualise data 🌍 Location can be a point, route, 3D object, or even just an address - most data has a location one way or another 🌍 Available tools and platforms: Google Maps, OpenStreetMap, Leaflet, Digitransit (reittiopas backend) 🌍 Context for applications (“where the user is at the moment”) So how to benefit from this?
  • 5. OGC API - Features Upcoming, completely redesigned version of WFS (codename “WFS 3.0”). OGC API - Features embraces OpenAPI 3.0 (ex Swagger) for providing machine-readable service capabilities. OpenAPI enables a nice set of development tools out-of-the-box. JavaScript Object Notation (JSON) as the primary format for describing functionality, data offerings, and feature data. Compliant APIs are browser-accessible: HTML landing page for the service, HTML encodings for data collections, API operations, and the offered feature data.
  • 6. Resource Oriented Data Access GET / Landing page (HTML): GET /collections Information about the collections of data offered: GET /collections/{collectionId}/items?bbox=160.6,-55.95,-170,-25.89 Simple queries supported in the core standard: GET /collections/{collectionId}/items/{featureId} Each feature referenced with a simple permanent URL
  • 7. Just another API Key idea: An OGC API is just an API like anything else on the web 🌟 Any HTTP + JSON client can access OGC APIs 🌟 Easy integration into browser apps - no extra library necessary 🌟 Specialized clients can take advantage of advanced features The API can include other functionalities as well: the same end-point may offer both custom application specific functionalities and yet also be a Features API.
  • 8. Case:Simple Observation Features Pilot (SOFP) Proof-of-concept Features API server for delivering weather and air quality observation and forecast data. Define and test encodings for point observation and forecast data that allow the data to be "put on a map" using existing Web GIS applications and libraries. Joint project between Spatineo, Vaisala and the Finnish Meteorological Institute.
  • 9. GeoJSON Observation Features WFS does not define data models for the offered data. Data model & encoding harmonization required for interoperability. Issue: Need to share environmental observation data with a variety of existing GIS client software (OpenLayers, GDAL & QGIS etc.), but complex feature XML is not well supported in desktop GIS/Web GIS client applications. Solution: Define simpler encoding of the Observations & Measurements (ISO 19156) data model in GeoJSON. Proposed as an alternative encoding of O&M data in INSPIRE, future OGC standardization options under discussion.
  • 10. SOFP Features API Server OGC API - Features front-end WFS 3.0 front-end WFS 3.0 front-end Data source 1 Data source 2 Data source 3 Back-end modules sofp-core Implemented using node.js (high-performance server-side JavaScript engine) In the FMI weather service case, the back-end uses the existing SmartMet Server APIs behind the scenes. The SOFP front-end server (sofp-core) project is managed by Vaisala and open sourced with the MIT license, see https://github.com/vaisala-oss/sofp-core
  • 11. SOFP Weather Service demo http://beta.fmi.fi/data/3/wfs/sofp/
  • 18. Opendata_1h collection items (HTML) beta.fmi.fi/data/3/sofp/collections/opendata_1h/items
  • 19. Opendata_1h collection items (JSON) beta.fmi.fi/data/3/sofp/collections/opendata_1h/items?f=json
  • 22. Try It Out and Give Feedback Live SOFP beta service: http://beta.fmi.fi/data/3/wfs/sofp/ Simple Observation Features data model https://github.com/opengeospatial/omsf-profile OGC API Hackathon: coverages, map tiles, processing. Hosted by Ordnance Survey at the Geovation Hub, London on 20th & 21st June 2019 https://www.opengeospatial.org/OGCAPI_Hack2019
  • 23. Inspire Helsinki 2019 A sea of spatial data
  • 24. Inspire Helsinki 2019 Challenges Event will be held in Helsinki October 22-24. Focus on spatial data, tools and technologies. The event hosts four challenges and a number of workshops. 🍩 Teams participating in the challenges work on their projects in September - submission can be an idea, prototype, or data analysis 🍩 Challenge partners and organisers will support teams in September 🍩 Licenses to professional tools (ESRI ArcGIS, FME Platform) 🍩 Winners chosen at the event 🍩 Winning teams will get a trip to Dubrovnik + possible other prizes The event is organized by the National Land Survey of Finland, the Ministry of Agriculture and Forestry and supported by the Joint Research Centre of European Commission.
  • 25. Commuting 2.0 Make planning the day-to-day commuting safer and more pleasant for pedestrians, cyclers and other light traffic users using weather, air quality and road condition data. https://challenge.inspire-helsinki-2019.fi/commuting20.html Challenge partners
  • 26. By the Beautiful Blue Danube Discover alternative transport routings using the European waterways and railways instead of road networks for increased efficiency and lower the CO2 emissions. https://challenge.inspire-helsinki-2019.fi/schonenBlauenDonau.html Challenge partners
  • 27. Find the best seaside vacation spot Develop solutions to find the best location for a seaside vacation depending on the interests and nature values ensuring sustainable nature of the planned activities. https://challenge.inspire-helsinki-2019.fi/seasideVacationSpot.html Challenge partners
  • 28. Let's make the most out of INSPIRE! Figure out ways to improve how data is being delivered and encoded in particular use cases (e.g. building a cross-border dataset, or using a specific dataset in a particular software product). Challenge partners
  • 29. More information + team sign up More information about the event at https://inspire-helsinki-2019.fi/ Challenge information and sign up https://challenge.inspire-helsinki-2019.fi/ If you have any questions, go to https://spectrum.chat/inspire-helsinki/