Community på Sveriges dataportal
Enkel PHP för att hämta kulturhistoriska lämningar från Nationella geodataplattformen
-
Nedan visas en enkel PHP för att hämta kulturhistoriska lämningar i form av referensobjekt från Nationella geodataplattformen. Det sker inget urval utifrån attribut annat än typ. Limit-parametern begränsar hur många objekt som hämtas. Det går att maximalt hämta 10000 objekt åt gången.
PHP-koden hämtar en OAuth2-token från Lantmäteriets API genom att skicka en POST-förfrågan med dina konsumentnycklar. När token har hämtats, används den för att autentisera en annan POST-förfrågan till Lantmäteriets API för att hämta data om kulturhistoriska lämningar. Slutligen skrivs den hämtade datan ut i JSON-format.
header('Content-Type: application/json'); function getToken() { return json_decode(file_get_contents('https://apimanager.lantmateriet.se/oauth2/token', false, stream_context_create([ 'http' => [ 'header' => [ 'Authorization: Basic ' . base64_encode('consumerKey:consumerSecret'), 'Content-Type: application/x-www-form-urlencoded' ], 'method' => 'POST', 'content' => 'grant_type=client_credentials' ] ])), true)['access_token'] ?? exit('Error fetching token'); } function searchData($token) { return file_get_contents('https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/kulturhistorisklamning/v1/search', false, stream_context_create([ 'http' => [ 'header' => [ 'Authorization: Bearer ' . $token, 'Content-Type: application/json' ], 'method' => 'POST', 'content' => json_encode([ 'query' => ['feature.typ' => ['eq' => 'kulturhistorisk lämning']], 'limit' => 10 ]) ] ])) ?? exit('Error fetching data'); } echo searchData(getToken());
-
@lmdaniel Snyggt. Fråga för denna tråd och liknande trådar från dig som har kodsnuttar: Kommer koden läggas upp på någon lämplig plattform för kodhantering t.ex. har Lantmäteriet en instans av Git-plattform som kan dela extern kod?
Eller kan LM kanske ordna en organisation med kodförråd på EU-ägda Git-plattformen Codeberg?
-
@mattias
Jag ska vara transparent och säga att jag försöker driva på just den här frågan internt inom Lantmäteriet om hur myndigheten bättre skulle kunna bidra med kod-exempel på någon Git-plattform eller egen plattform. Vi vet att det är något som efterfrågas. Kanske kan det hända något framöver.I väntan på något ställningstagande provar jag att bidra här!