Skip to content

Support OGC API - Features #12456

Open
@jjspace

Description

@jjspace

The Spec

This issue is to track adding full support for the OGC API - Features spec as well as any discussion around the process.

The spec currently includes 5 parts with parts 4 and 5 currently under draft. The initial plan will be to support Part 1: Core with others as follow up tasks. I currently do not expect us to support Part 2 which adds CRSs which Cesium already does not do much work with.

Format/Encoding

The spec does not mandate any specific encoding or format but strongly favors HTML and GeoJSON with additional suggestions for GML. We will focus the initial implementation only around GeoJSON (especially since we already support it) with other formats being optional secondary efforts in the future as requested.

Side note: the API does not dictate a specific way to designate what format to serve. I believe most servers will implement this with the content type in headers but another suggestion from the Spec is to use a f=[format] query parameter which I've observed utilized in other libraries and servers so my current assumption is this is one of the more generally accepted methods.

Other implementations

Just listing off some other implementations I've found. Mainly from this list

  • ogcapi-js - lightweight and focused on the Features API
    • Works well but I don't see any way to control authentication beyond adjusting query params for every request. May not work with header auth?
  • ogc-client - supports multiple OGC specs
    • Similar auth concerns. Allows setting global fetch options for the whole client which could make it hard to use multiple sources
    • The API seems more focused on exploring a service completely and may not fit our needs and use case as closely
    • Only works in browser as it relies on window internally

Example data

Just an assortment of data sources from servers that we know support the OGC Features API and we can use for testing during implementation

Dataset sizes/Number of features

These are the sources + collection ids of the links listed above. As you can see we have access to quite a few different sizes of data, especially large datasets, which will be handy for testing.

strassen
      33,754   nullpunkte - Zero points
      31,591   abschnitteaeste - Sections and Branches
      31,464   unfaelle - Accidents
      31,464   unfaelle2 - Accidents (alternative representation)
      11,256   netzknoten - Network nodes
vinyard
       1,585   vineyards - Vineyards
finland-topo (Topographic Database)
  17,246,159   virtavesikapea - Stream narrow
   9,993,979   maastokuvionreuna - Terrain pattern edge
   6,866,135   korkeuskayra - Elevation contour
   5,727,082   rakennusreunaviiva - Building edge line
   5,622,883   rakennus - Building
   3,730,942   tieviiva - Road line
   2,087,881   metsamaankasvillisuus - Forest land vegetation
   1,553,229   kalliosymboli - Rock symbol
   1,550,716   harvalouhikko - Sparse quarry
   1,411,551   suo - Swamp
   1,289,728   kallioalue - Rock area
   1,172,353   paikannimi - Place name
     629,270   soistuma - Swamp
     546,290   vesikivi - Water stone
     505,938   kivi - Stone
     493,539   maasto2kuvionreuna - Terrain pattern 2 edge
     425,224   maatalousmaa - Agricultural land
     212,147   korkeuskayrankorkeusarvo - Elevation contour height value
     209,310   jyrkanne - Cliff
     207,358   muuavoinalue - Other open area
     205,303   viettoviiva - Slope line
     196,532   virtausnuoli - Flow arrow
     167,285   kivikko - Gravel
     159,502   sahkolinja - Power line
     151,233   jarvi - Lake
     149,238   selite - Explanation
     140,752   syvyyskayra - Lake Depth contour
     128,037   vesikuoppa - Water pit
     127,920   syvyyspiste - Depth point
     119,244   vedenpinnankorkeusluku - Water surface elevation value
     109,804   sahkolinjansymboli - Power line symbol
     108,676   karttasymboli - Map symbol
      93,546   luiska - Ramp
      89,391   suurjannitelinjanpylvas - High voltage line pole
      85,670   kaislikko - Reed bed
      83,484   niitty - Meadow
      68,883   muuntaja - Transformer
      64,184   syvyyskayransyvyysarvo - Depth crossing depth value
      57,753   allas - Basin
      53,580   rakennelma - Structure
      46,921   tiesymboli - Road symbol
      45,170   suojelualueenreunaviiva - Protected area boundary
      36,616   lahde - Spring (water source)
      35,196   tienroteksti - Road text
      33,145   vesikivikko - Water gravel
      30,645   tervahauta - Tar pit
      28,772   osoitepiste - Address point
      27,053   aita - Fence
      21,883   luonnonsuojelualue - Nature conservation area
      20,576   virtavesialue - Stream area
      19,095   rautatie - Railway
      18,942   matalikko - Shoal
      15,855   urheilujavirkistysalue - Sports and recreation area
      15,742   koski - Rapids
      13,706   maaaineksenottoalue - Soil extraction area
      13,565   hietikko - Sand
      12,428   rauhoitettukohde - Protected area
      12,188   pistolaituriviiva - Dockline
      11,986   autoliikennealue - Vehicle traffic area
      11,776   maatuvavesialue - Groundwater area
      10,479   vesikulkuvayla - Waterway
       8,800   portti - Gate
       8,446   masto - Mast
       7,991   varastoalue - Storage area
       7,583   mastonkorkeus - Mast height
       5,771   taajaanrakennetunalueenreuna - Edge of the densely built area
       5,680   turvalaite - Safety device
       5,423   taajaanrakennettualue - Densely built area
       4,857   suojanne - Shelter
       3,917   muuntoasema - Transformer station
       3,595   puisto - Park
       3,508   kansallispuisto - National park
       3,413   puurivi - Tree line
       3,299   rautatiensymboli - Railway symbol
       2,875   muistomerkki - Monument
       2,389   ilmaradankannatinpylvas - Aerial railway support pole
       2,265   uittolaite - Rafting device
       2,228   vesikulkuvaylanteksti - Waterway text
       1,933   tulentekopaikka - Campfire site
       1,885   ilmarata - Aerial railway
       1,867   tuulivoimala - Wind turbine
       1,845   tulvaalue - Flood area
       1,791   puu - Tree
       1,790   pato - Dam
       1,558   valtakunnanrajapyykki - National boundary marker
       1,549   louhos - Quarry
       1,534   taytemaa - Fill land
       1,380   hautausmaa - Cemetery
       1,304   savupiippu - Chimney
       1,254   suojametsanreunaviiva - Protective forest boundary
       1,242   lahestymisvalo - Approach light
       1,202   kunnanhallintoraja - Municipal boundary
       1,190   nakotorni - Watchtower
       1,164   meri - Sea
         828   lentokenttaalue - Airport area
         807   metsamaanmuokkaus - Forest land cultivation
         659   vesiasteikko - Water scale
         639   aallonmurtaja - Breakwater
         632   rajavyohykkeentakaraja - Border zone back boundary
         559   rautatieliikennepaikka - Railway traffic area
         493   savupiipunkorkeus - Chimney height
         465   vesikulkuvaylankulkusuunta - Waterway direction
         378   kellotapuli - Bell tower
         361   vesitorni - Water tower
         339   ampumaalue - Shooting range
         309   kunnanhallintokeskus - Municipal administration center
         308   kunta - Municipality
         258   metsanraja - Forest boundary
         206   ankkuripaikka - Anchorage
         195   merkittavaluontokohde - Notable natural site
         190   sisaistenaluevesienulkoraja - Internal water boundary
         137   sulkuportti - Lock gate
         101   ulkojasisasaaristonraja - Outer archipelago boundary
          95   satamaalue - Port area
          82   kaatopaikka - Landfill
          76   hylky - Wreck
          69   aluemerenulkoraja - Area sea boundary
          40   kalliohalkeama - Rock fracture
          36   uittoranni - Rafting shore
          20   luonnonpuisto - Nature reserve
          19   suojaalueenreunaviiva - Protection area boundary
          18   suojaalue - Protection area
          14   hylynsyvyys - Wreck depth
          13   retkeilyalue - Recreation area
           3   aidansymboli - Fence symbol
           0   pelastuskoodipiste - Rescue code point
           0   suojametsa - Protective forest
           0   tunnelinaukko - Tunnel entrance
daraa
       3,694   TransportationGroundCrv - Transportation - Ground (Curves)
         575   UtilityInfrastructurePnt - Utility Infrastructure (Points)
         101   AgricultureSrf - Agricultural (Surfaces)
          82   StructureSrf - Structure (Surfaces)
          73   InformationPnt - Information (Points)
          54   TransportationGroundPnt - Transportation - Ground (Points)
          52   SettlementSrf - Settlement (Surfaces)
          48   SettlementPnt - Settlement (Points)
          38   StructurePnt - Structure (Points)
          33   o2s_l - Other (Curves)
          29   MilitarySrf - Military (Surfaces)
          27   StructureCrv - Structure (Curves)
          26   HydrographyCrv - Hydrography (Curves)
          20   AeronauticCrv - Aeronautic (Curves)
          20   HydrographySrf - Hydrography (Surfaces)
          17   o2s_p - Other (Points)
          14   CultureSrf - Cultural (Surfaces)
          11   UtilityInfrastructureCrv - Utility Infrastructure (Curves)
           9   FacilitySrf - Facility (Surfaces)
           8   AeronauticSrf - Aeronautic (Surfaces)
           8   VegetationSrf - Vegetation (Surfaces)
           6   RecreationSrf - Recreation (Surfaces)
           5   CulturePnt - Cultural (Points)
           5   TransportationGroundSrf - Transportation - Ground (Surfaces)
           4   TransportationWaterCrv - Transportation - Water (Curves)
           3   FacilityPnt - Facility (Points)
           3   RecreationPnt - Recreation (Points)
           3   o2s_a - Other (Surfaces)
           2   HydrographyPnt - Hydrography (Points)
           1   AgriculturePnt - Agricultural (Points)
           1   IndustrySrf - Industry (Surfaces)
           1   PhysiographyCrv - Physiography (Curves)
           1   RecreationCrv - Recreation (Curves)
finland-places (Geographic names)
   1,401,034   mapnames - MapName
     817,962   placenames - PlaceName
     817,962   placenames_simple - PlaceNameSimple
     804,789   places - Place

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions