Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GeoServer OGC APIs: introduction to the OGC Web APIs, features, tiles, and styles

GeoServer OGC APIs: introduction to the OGC Web APIs, features, tiles, and styles

Simone Giannecchini
PRO

August 29, 2019
Tweet

More Decks by Simone Giannecchini

Other Decks in Technology

Transcript

  1. GeoServer WFS3:
    introduction to the RESTful,
    schemaless,
    JSON first download service
    Ing. Andrea Aime
    GeoSolutions
    What I planned to present in early 2019!

    View Slide

  2. GeoServer OGC APIs:
    introduction to the OGC Web APIs,
    features, tiles,
    and styles
    Ing. Andrea Aime
    GeoSolutions
    What I'm actually presenting!

    View Slide

  3. GeoSolutions

    Italian SME

    Expertise
    • Image Processing, GeoSpatial Data Fusion
    • Java, Java Enterprise, C++, Python
    • JPEG2000, JPIP, Advanced 2D visualization

    Supporting/Developing FOSS4G projects

    GeoServer, MapStore

    GeoNetwork, GeoNode, Ckan

    Clients

    Public Agencies

    Private Companies

    http://www.geo-solutions.it
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  4. WFS3 in a nutshell
    https://github.com/opengeospatial/WFS_FES
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  5. OpenAPI
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  6. But it's not called WFS3 anymore…
    How did we get here?
    A bit of history

    View Slide

  7. WFS3 history in a nutshell
    FOSS4G 2019, August 26th/30th, Bucharest
    WFS3 Hackaton
    Testbed 14
    Vector Tiles Pilot
    Testbed 15
    API Hackaton

    View Slide

  8. WFS3 hackaton, 6-7 March 2018
    • https://github.com/geoserver/geoserver/tree/master/
    src/community/wfs3
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  9. WFS3 hackaton – GeoServer WFS3
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  10. Testbed 14 – March/December 2018
    • https://github.com/opengeospatial/ets-wfs30
    FOSS4G 2019, August 26th/30th, Bucharest
    Teamengine
    WFS3 Tests
    GeoServer
    WFS3
    LD-Proxy
    WFS3
    Cubewerx
    WFS3

    View Slide

  11. Vector tiles pilot – End of 2018
    FOSS4G 2019, August 26th/30th, Bucharest
    SLD interpreted client
    side to render vector tiles

    View Slide

  12. Vector tiles pilot – End of 2018
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  13. API Hackaton, London 2018
    FOSS4G 2019, August 26th/30th, Bucharest
    API Commons
    Features Coverages Maps & Tiles Processes
    Catalogs Styles More!

    View Slide

  14. API Hackaton, London 2018
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  15. Testbed 15
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  16. Ok, so what does a
    OGC API look like?

    View Slide

  17. OGC API (OAPI) Common
    FOSS4G 2019, August 26th/30th, Bucharest
    https://github.com/opengeospatial/oapi_common

    View Slide

  18. Links, links everywhere!
    FOSS4G 2019, August 26th/30th, Bucharest
    /collections
    /collections/{collectionId}
    Backlinks to self and alternative
    representations
    (different formats/encodings)
    Links to each collection in each of its formats
    {
    "href":"http://data.example.org/collections.json",
    "rel":"self",
    "type":"application/json",
    "title":"this document"
    }

    View Slide

  19. Very little is mandatory
    FOSS4G 2019, August 26th/30th, Bucharest
    {
    "conformsTo": [
    "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core",
    "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30",
    "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html",
    "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"
    ]
    }

    View Slide

  20. Features API Core

    View Slide

  21. Features API Core
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  22. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  23. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  24. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  25. FOSS4G 2019, August 26th/30th, Bucharest
    …/collections/buildings/items?
    bbox=41,54,42,55
    &datetime=2018-02-12T23%3A20%3A52Z
    &buildingState=good

    View Slide

  26. FOSS4G 2019, August 26th/30th, Bucharest
    [
    {
    "href":"http://example.org/collections/buildings/items.json?limit:50",
    "rel":"prev",
    "type":"application/geo+json"
    },
    {
    "href":"http://example.org/collections/buildings/items.json?limit:50&offset:50",
    "rel":"self",
    "type":"application/geo+json"
    },
    {
    "href":"http://example.org/collections/buildings/items.json?limit:50&offset:100",
    "rel":"next",
    "type":"application/geo+json"
    }
    ]

    View Slide

  27. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  28. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  29. FOSS4G 2019, August 26th/30th, Bucharest
    https://github.com/opengeospatial/WFS_FES/tree/master/
    extensions/crs
    http://docs.opengeospatial.org/per/18-021.html

    View Slide

  30. How does it look in GeoServer?
    An exploration of HTML encoding

    View Slide

  31. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  32. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  33. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  34. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  35. FOSS4G 2019, August 26th/30th, Bucharest
    Paging links

    View Slide

  36. FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  37. One minute view of tiles and styles

    View Slide

  38. Styles API
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  39. Style metadata
    FOSS4G 2019, August 26th/30th, Bucharest
    Basic metadata info
    (yeah, I did not fill it yet, no love lost for metadata!)
    Access to style source, native (CSS)
    and converted (SLD) when possible
    List of layers involved in the style (could have many)
    and attributes used in each (style editor can use them
    to check compatibility with available data)
    The style identifier

    View Slide

  40. Styles API client
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  41. Tiles API
    FOSS4G 2019, August 26th/30th, Bucharest
    https://github.com/opengeospatial/OGC-API-
    Map-Tiles

    View Slide

  42. Some example insertion points
    FOSS4G 2019, August 26th/30th, Bucharest

    View Slide

  43. That’s all folks!
    Questions?
    [email protected]

    View Slide