Van 15 tot en met 17 november 2021 organiseerden OGC en ISO/TC 211 gezamenlijk de November 2021 Geospatial API Virtuele Code SprintDe code sprint richtte zich op het verfijnen van de OGC API – Features Standaard en de ISO-versie, ISO 19168.

OGC API – Features biedt de mogelijkheid om ruimtelijke gegevens op het web te serveren, te maken, te wijzigen en te bevragen. De standaard specificeert vereisten en aanbevelingen voor het maken van API's die een standaard en consistente manier van het delen van feature data volgen. De standaard is verdeeld in verschillende delen, zodat een service alleen die delen hoeft te gebruiken die relevant zijn voor zijn aanbod, waardoor het lichtgewicht en gemakkelijker te ontwikkelen en onderhouden blijft. 

OGC API – Features – Deel 1: Kern (de ISO-versie is ISO 19168-1:2020 Geospatial API voor functies) richt zich op de levering van functie-inhoud. OGC API – Features – Deel 2: Coördinatenreferentiesystemen op basis van referentie (ISO/DIS 19168-2) voegt ondersteuning toe voor andere coördinatenreferentiesystemen dan het enige CRS dat is gespecificeerd in Deel 1, WGS84.

An OGC-codesprint is een collaboratief en inclusief evenement dat wordt aangestuurd door innovatieve en snelle programmering met minimale proces- en organisatorische beperkingen ter ondersteuning van de ontwikkeling van nieuwe toepassingen en kandidaat-normen. 

De afgelopen drie jaar hebben we het proces voor het organiseren en hosten van OGC-codesprints verfijnd. Voor deze Geospatial API Virtual Code Sprint van november 2021 werd een nieuwe aanpak uitgeprobeerd: met behulp van Discord om video-, spraak- en chatfaciliteiten te bieden. Ook een primeur voor de codesprints: we hebben een Mentor Stream parallel aan Breakout rooms voor ervaren ontwikkelaars uitgevoerd. De Mentor Streams zijn ontworpen om ontwikkelaars te helpen aan de slag te gaan met OGC API Features en ISO 19168-1:2020-normen.

Dag 1 begon met een welkomstwoord van Dr. Joana Simoes (OGC DevRel) en Peter Parslow (ISO/TC 211 Chair-elect). Na de welkomstwoorden presenteerden Clemens Portele (interactieve instrumenten) en Panagiotis “Peter” Vretanos (CubeWerx) de doelen van de sprint. Op dag 1 hadden we ook discussies over query's en geometrie vereenvoudiging, en Mentor Stream-sessies op Gegevens delen via OGC API – Features onder leiding van Dr. Joana Simoes (OGC), evenals een andere sessie over Inleiding tot SpatioTemporal Asset Catalogs (STAC) en het gebruik van OGC API-functies onder leiding van Chris Holmes (Planet), Rob Emanuele (Microsoft) en Matthew Hanson (Element 84). Tussen de discussies en de mentor streams door werd er volop gecodeerd.

Op dag 2 hadden we Mentor Stream-sessies over Hoe u featuredata in uw frontend-applicatie laadt onder leiding van Antonio Cerciello (EarthPulse) en Testen van implementaties van OGC API – Features voor naleving van de norm onder leiding van Dr. Gobe Hobona (OGC). Er waren voorlopige demonstraties van geometrievereenvoudiging door OGC API – FeaturesTussen de discussies en de mentorstreams door werd er ook nog veel meer gecodeerd.

Op dag 3 was er nog meer codering, evenals een Features and Geometry JSON Lightning Talk onder leiding van Clemens Portele (interactieve instrumenten) en Peter Vretanos (CubeWerx), evenals een laatste demonstratiesessie. Bekijk de screenshots van de laatste demo aan het einde van dit artikel.

 

Geleerde lessen

  • Er is behoefte aan JSON-FG fallback-geometrie ter ondersteuning van verschillende situaties, bijvoorbeeld wanneer iets aanwezig zou moeten zijn en wanneer niet.
  • Om de geometrie te vereenvoudigen, begonnen de sprintdeelnemers met het zoomniveau, de schaalnoemer en een aantal andere parameters. Aan het einde van de codesprint waren ze het erover eens dat we het zoomniveau moesten gebruiken.
  • De sprintdeelnemers wilden situaties ondersteunen waarin, op basis van het zoomniveau, de server bepaalde functies kon retourneren en niet alle.
  • Er werd ook een use case voor clipping gedemonstreerd. Als u bijvoorbeeld naar New York kijkt, hoeft u niet de hele kustlijn van de VS te bekijken.
  • De sprintdeelnemers boekten ook vooruitgang in het omgaan met JSON-schema's.
  • De sprintdeelnemers zullen een issue indienen in de JSON-FG repo om te zoeken naar een extensie om iets te markeren met de clipbox (kunstmatig segment). MapML heeft de mogelijkheid toegevoegd. Het alternatief is altijd een extra border nodig hebben. Dat is of een clipbox groter mag worden dan de data. Bijvoorbeeld of een werkelijke geometrie in een shapefile verder kan gaan dan de -180 tot 180 graden grenzen.
  • De code sprint was goed voor zowel JSON-FG als OGC API – Features.
  • JSON-FG zou kunnen worden overwogen voor een conformiteitsklasse voor OGC API – Features pas nadat JSON-FG als officiële OGC-standaard is aangenomen.
  • STAC heeft een aantal implementatiepatronen. Een van de patronen onthult een OGC API – Features interface, gebruikt voor zoeken.
  • Het idee is om een ​​afstemming te hebben tussen STAC en OGC API – FeaturesDeze uitlijning zal ook OGC API – Records ten goede komen.
  • Enkele vragen zijn: hoe documenteren/beschrijven we metadata voor de bronnen die door OGC API – Features, ISO 19168-1 en de bijbehorende kandidaat-normen zoals STAC en OGC API – Records.
  • STAC wordt een profiel van OGC API Records. De STAC-community werkt aan een definitie van een Dataset Record voor STAC die zou aansluiten bij het Record-concept van OGC API Records.
  • De Geospatial API Virtual Code Sprint van november 2021 demonstreerde ook de compatibiliteitsmodus. Voorbeeldscenario: als u een 3D-gebouw hebt, kunt u JSON-FG gebruiken, maar als u een eenvoudigere geometrie wilt weergeven, zou de server GeoJSON leveren.

Future Work

De deelnemers deden de volgende aanbevelingen voor toekomstig werk.

Innovatieprogramma

  • Over het leveren MUDDI gegevens met behulp van OGC API – Features en JSON-FG
  • Ontwikkeling van conceptspecificaties voor nieuwe mogelijkheden die in overweging worden genomen voor toekomstige versies.
  • Implementaties van de nieuwe mogelijkheden worden overwogen voor toekomstige uitbreidingen: Common Query Language (CQL), CRUD (Create Replace Update Delete), eigenschapselectie, OpenAPI 3.1, voorwaardelijke verzoeken, webcaching.
  • Beveiliging voor OGC API Standards Pilot (dit kan de verschillende beveiligingsniveaus omvatten, bijvoorbeeld DCS, OpenAPI). Dit zou een goede combinatie kunnen zijn met de CRUD-extensie.
  • Verdere codegeneratietaken in toekomstige codesprints.

Normenprogramma

  • CQL voltooien
  • Verdere afstemming tussen STAC en OGC API – Records
  • Er is een lopende stemming binnen ISO voor Deel 2. Er kan dus een mogelijkheid zijn om een ​​evenement in het Standaardprogramma te organiseren zodra ISO 19168-2 is goedgekeurd.

Conclusies

De code sprint heeft zijn doelstellingen met succes behaald. De sprintdeelnemers konden nieuwe mogelijkheden bespreken en prototypen. De sprintdeelnemers vonden ook dat de tutorials en Lightning Talk in de Mentor Stream nuttig waren.

Met betrekking tot de nieuwe aanpak voor OGC Code Sprints deden de sprintdeelnemers de volgende aanbevelingen:

  • Neem de tutorials op, zodat deelnemers die er een missen, deze later kunnen inhalen.
  • Organiseer een Beginner-to-Expert Mentor Stream die een ontwikkelaar helemaal doorloopt van Getting Started tot meer geavanceerde onderwerpen. Hiervoor is een programma van 3 dagen nodig.
  • Het Discord-idee was echt cool!
  • In de toekomst zouden we de andere tekstkanalen kunnen gebruiken. Misschien zou het eerste bericht moeten uitleggen dat "we dit kanaal op een bepaalde manier gaan gebruiken..."

Voor meer informatie over de Sprint, bezoek de November 2021 Geospatial API Code Sprint GitHub-repository.