Het Dataplatform van gemeente Amsterdam gaat het gebruik van een API key bij het gebruik van API's verplicht stellen. Hiermee wil het Dataplatform inzicht krijgen wie gebruik maakt van haar APIs, zodat het Dataplatform kan communiceren over updates en wijzigingen in de API's. Eventuele wijzigingen in de API's kunnen dan tijdig geïmplementeerd worden in uw systemen. Dit gaat gelden voor alle zogenaamde 'DSO API's' van het Dataplatform van gemeente Amsterdam.

Het gebruik van een API key bij de aanroep van een API van het Dataplatform van gemeente Amsterdam is vanaf half september optioneel. In overleg met de dataorganisatie wordt een deadline vastgesteld voor het moment vanaf wanneer de API keys verplicht worden. U kunt de API's van het Dataplatform dan niet meer gebruiken zonder een API key mee te geven.

Dit heeft gevolgen voor uw systemen!

Vraag tijdig een API key aan om uw systemen hierop aan te passen. U kunt met dit formulier een API key aanvragen.

Werken met QGIS

Eenmalige lokale setup

Let op, een eenmalige setup van de qgis-auth.db in je locale profiel is nodig voordat je de API endpoints toevoegt. Onthoudt jouw gebruikersnaam en wachtwoord goed.

WFS

De WFS-lagen zijn beschikbaar onder de volgende URL's:

https://api.data.amsterdam.nl/v1/wfs/{<dataset>}/

Gebruik zo'n URL in QGIS:

Voorbeeldafbeelding van QGIS

In de bovenstaande afbeelding wordt QGIS gekoppeld met de BAG dataset: https://api.data.amsterdam.nl/v1/wfs/bag/

Vector tiles (MVT)

QGis heeft geen ingebouwde ondersteuning voor TileJSON. Deze is wel beschikbaar via de MapTiler plugin: https://plugins.qgis.org/plugins/tags/tilejson/. Vervolgens kan je de TileJSON inladen:

  • https://api.data.amsterdam.nl/v1/mvt/<dataset>/tilejson.json.

De standaard QGis functionaliteit vereist dat je handmatig een "X/Y/Z-tegel" of "Vectortegel" URL opgeeft:

  • In de Browser (linker tabblad), rechtermuisklik op Vector Tiles, dan Nieuwe algemene verbinding (New Generic Connection).
  • De URL is https://api.data.amsterdam.nl/v1/mvt/<dataset>/<tabel>/{z}/{x}/{y}.pbf. Vervang <dataset> en <tabel> door de namen in kwestie, maar laat {z}/{x}/{y} staan, inclusief de accolades.
  • Min. zoomniveau (Min. Zoom Level) staat standaard op 0. Zet dit op 1.

Een lijst van datasets die vector tiles ondersteunen is beschikbaar op: https://api.data.amsterdam.nl/v1/mvt/.

Autorisatie

Voor gesloten datasets moet ook een autorisatieconfiguratie worden toegevoegd. Dit kan door op het groene kruisje in het bovenstaande menu te klikken. Selecteer OAuth2-authenticatie, met 'implicit' grant flow. Vul bij 'request url' https://iam.amsterdam.nl/auth/realms/datapunt-ad/protocol/openid-connect/auth en bij 'token url' https://iam.amsterdam.nl/auth/realms/datapunt-ad/protocol/openid-connect/certs in. De client id is qgis, Scope is email en access method is header. QGIS zal bij het activeren van een kaartlaag een browserscherm openen, waarin gebruikersnaam en wachtwoord kunnen worden ingevoerd.

Voor acceptatie vervang je in bovengenoemde URLs "datapunt-ad" met "datapunt-ad-acc".

Voorbeeldafbeelding van QGIS-authenticatie

In de bovenstaande afbeelding wordt authenticatieconfiguratie ingevoerd in QGIS.

Hierna zijn de gegevens te raadplegen, te filteren en te combineren:

Stadsdelen weergegeven in QGIS

Queries op relaties

Om object-relaties uit te lezen in WFS (momenteel niet ondersteund door MVT) kun je de volgende optie toevoegen aan de URL:

  • ?embed={relatienaam},{...} zal een veld platgeslagen invoegen.
  • ?expand={relatienaam},{...} zal een veld als "complex feature" invoegen.

Gebruik deze URL in QGIS, of een ander GIS-pakket.

Als voorbeeld: de BAG feature type buurt een relatie met een stadsdeel. Deze kan op beide manieren geconfigureerd worden in een GIS-pakket:

Deze parameters kunnen gecombineerd worden met de OUTPUTFORMAT parameter, zodat het export formaat ook geneste relaties bevat.

Datasets met meerdere geometrieën

Indien een tabel meerdere geometriëen bevat, zal deze voor ieder geometrieveld los opgenomen worden in de WFS. Zodoende kunnen GIS-pakketten op beide geometrieën weergeven op de kaart.

Via MVT kan alleen de hoofdgeometrie (mainGeometry) van een dataset worden geladen.

Dit is bijvoorbeeld te zien bij Horeca-exploitatievergunningen: er wordt een aparte laag voor het pand, en de bijbehorende terrassen beschikbaar gesteld. Zodoende kunnen beide geometriën uitgelezen worden. De data van beide lagen is identiek; alleen de volgorde van geometrie-velden is aangepast.