R SDK
Het topolab R-pakket voor het lezen van Topolab dataproducten in sf-objecten, met de GA sf::st_read-equivalent die je vandaag kunt gebruiken.
R SDK
Het topolab R-pakket leest Topolab dataproducten in sf objecten voor ruimtelijke analyse en mapping in R. Het verpakt datasetmetadata en toegang tot functies achter een pipe-vriendelijke interface.
Voorbeeld — de officiële SDK is in preview. De REST- en OGC-API's die het verpakt zijn vandaag algemeen beschikbaar; gebruik de REST/curl-equivalenten hieronder totdat de SDK wordt uitgebracht.
Installeren
install.packages("topolab")
Het pakket is afhankelijk van sf voor geometriebehandeling. Als sf nog niet is geïnstalleerd, lost CRAN het op als een afhankelijkheid; op Linux heb je mogelijk ook de systeem GDAL-, GEOS- en PROJ-bibliotheken nodig die sf vereist.
Maak een client
Stel een client in met je API-sleutel. De sleutel bevat je scope en add-ons — toegang tot functies via OGC vereist GIS_ACCESS. Zie Authenticatie.
library(topolab)
tl <- tl_client(api_key = "tlb_prod_...")
Lees de sleutel uit de omgeving in plaats van deze in een script vast te leggen:
library(topolab)
tl <- tl_client(api_key = Sys.getenv("TOPOLAB_API_KEY"))
Datasets worden aangesproken op hun table naam, bijvoorbeeld nl-domino-poi.
Lees een dataset in sf
tl_dataset() verwijst naar een dataset op tabel; pipe het naar as_sf() om de functies te materialiseren als een sf object met geometrie in WGS84 (EPSG:4326).
poi <- tl_dataset(tl, "nl-domino-poi") |> as_sf()
plot(poi["city"])
Dit vereist de GIS_ACCESS add-on, omdat het functies leest van de OGC API. Het GA-equivalent is om de OGC items-endpoint rechtstreeks te lezen met sf::st_read. De endpoint levert GeoJSON, en de API-sleutel wordt verzonden in de X-API-Key header — zie Items:
curl -H "X-API-Key: tlb_prod_..." \
"https://api.topolab.nl/v1/ogc/collections/nl-domino-poi/items?limit=1000" \
-o nl-domino-poi.geojson
library(sf)
poi <- st_read("nl-domino-poi.geojson")
sf::st_read kan ook de endpoint over HTTP lezen via de GDAL's OGC API - Features driver. Geef de sleutel door als een HTTP-header via de configuratie van GDAL zodat deze niet op schijf wordt geschreven:
library(sf)
Sys.setenv(GDAL_HTTP_HEADERS = "X-API-Key: tlb_prod_...")
poi <- st_read(
"OAPIF:https://api.topolab.nl/v1/ogc/collections/nl-domino-poi"
)
Het resultaat is een standaard sf data frame; geometrie is WGS84 (EPSG:4326). Gebruik sf::st_transform() als je een geprojecteerde CRS nodig hebt, zoals RD New (EPSG:28992) voor lokale analyse.
Fouten
Wanneer een verzoek mislukt, genereert het pakket een R-voorwaarde die de HTTP-status bevat:
| Status | Betekenis |
|---|---|
401 |
Ontbrekende of ongeldige API-sleutel. |
403 |
Sleutel mist de GIS_ACCESS add-on die vereist is voor toegang tot functies. |
404 |
Onbekende collectie of table. |
429 |
Rate limited — zie Rate limits & credits. |
Heb je GIS_ACCESS nodig, of wil je vroege toegang tot de SDK-preview? Neem contact met ons op.
Volgende
- Collecties — lijst de dataproducten die beschikbaar zijn als functiecollecties.
- BBox en filtering — beperk een
sfleesopdracht tot een gebied van interesse. - QGIS-plugin — lees dezelfde collecties in een desktop GIS.
Deze functionaliteit is in preview, de interface kan nog wijzigen.