• Hem
  • Kategorier
  • Senaste
  • Taggar
  • Populära
  • Användare
  • Grupper
Collapse
Dataportal logo

Community på Sveriges dataportal

Enkel PHP för att hämta kulturhistoriska lämningar från Nationella geodataplattformen

Scheduled Fäst Låst Flyttad Geografiska data
4 Inlägg 2 Posters 87 Visningar
    • Äldst till nyaste
    • Nyaste till äldst
    • Flest röster
Svara
  • Svara som ämne
Logga in för att posta
Det här ämnet har raderats. Endast användare med ämneshanterings-privilegier kan se det.
  • lmdanielL Offline
    lmdanielL Offline
    lmdaniel
    wrote on Senaste redigerad av
    #1

    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());
    

    Daniel Regemar
    Regional geodatasamordnare
    Lantmäteriet

    Ett svar Senaste svaret
    2
  • mattiasM Offline
    mattiasM Offline
    mattias
    wrote on Senaste redigerad av
    #2

    @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 Axell

    lmdanielL Ett svar Senaste svaret
    1
  • lmdanielL Offline
    lmdanielL Offline
    lmdaniel
    replied to mattias on Senaste redigerad av
    #3

    @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! 💡

    Daniel Regemar
    Regional geodatasamordnare
    Lantmäteriet

    Ett svar Senaste svaret
    2
  • mattiasM Offline
    mattiasM Offline
    mattias
    wrote on Senaste redigerad av
    #4

    @lmdaniel Superbra! Kul att höra. Kan verkligen föreställa mig att det efterfrågas, och kan vara bra att göra även om det inte är lagkrav på det för att proaktivt minska admin och kundtjänst kring användning av API:er & data. 😊

    Mattias Axell

    Ett svar Senaste svaret
    1

Finansieras av Europeiska unionen logo
  • Logga in

  • Har du inget konto? Registrera

  • Login or register to search.
  • Första inlägget
    Sista inlägget
0
  • Hem
  • Kategorier
  • Senaste
  • Taggar
  • Populära
  • Användare
  • Grupper
  • Logga in

  • Har du inget konto? Registrera

  • Login or register to search.