Specifiek type gebouw uit BRT API ophalen

Ik probeer een collectie te maken van alle vuurtorens in Nederland. Volgens mij staat die data in de BRT. Ik had gehoopt die met de API op te kunnen vragen, maar tot nu toe kom ik niet verder dan een call naar https://brt.basisregistraties.overheid.nl/api/v2/gebouwen.
Daar komt dan een 10-tal features op terug, maar ik wil dus specifiek vragen om features van het type vuurtoren. Aan de hand van de API documentatie kom ik er in ieder geval niet uit.

Ik zag ook dat er een GML van 2 GB te downloaden is. Als alternatief zou ik daar dan met FME de data uit kunnen halen. Heeft iemand daar ervaring mee, wellicht met een ander type gebouw.

De REST API mist inderdaad de mogelijkheid om te filteren op gebouw type. Kan me voorstellen dat je niet de enige bent die zo’n filter zou kunnen/willen gebruiken, dus ik heb een item aan ons backlog toegevoegd om het mogelijk te maken.

Daar ben je echter nu niet mee geholpen.

Met de GML heb je in ieder geval alle data in handen, maar over de verdere verwerking kan ik je niet veel vertellen.
Ander alternatief zou het SPARQL endpoint zijn(https://data.pdok.nl/sparql). Met deze eenvoudige query heb je alle vuurtorens te pakken:

prefix brt: <http://brt.basisregistraties.overheid.nl/def/top10nl#>
select * where { 
	?s a brt:Vuurtoren .
} 

Dit zijn de eigenschappen die je daarbij nog op zou kunnen vragen:

brt:bronactualiteit
brt:bronbeschrijving
brt:bronnauwkeurigheid
brt:brontype
brt:objectBeginTijd
brt:tdnCode
brt:tijdstipRegistratie
brt:visualisatieCode
void:inDataset
brt:hoogteniveau
rdfs:label
geosparql:hasGeometry
brt:geometrie
brt:hoogteklasse
brt:status
brt:naam

Bijvoorbeeld alle vuurtorens met een naam en status:

prefix brt: <http://brt.basisregistraties.overheid.nl/def/top10nl#>
select ?vuurtoren ?naam ?status where {
    ?vuurtoren a brt:Vuurtoren ;
        brt:naam ?naam ;
        brt:status ?status .
}

Of alle vuurtorens met hun status, en als er een naam is, die ook:

prefix brt: <http://brt.basisregistraties.overheid.nl/def/top10nl#>
select ?vuurtoren ?naam ?status where {
    ?vuurtoren a brt:Vuurtoren ;
        brt:status ?status .
    OPTIONAL {
    	?vuurtoren brt:naam ?naam ;    
    }
}
1 like

In aanvulling op het antwoord van Robin…
De zelfde SPARQL manier, kan ook door te gaan naar: https://data.pdok.nl/sparql
En dan het tabje “Bunker” te kiezen, en dan in de query het woord “Bunker” te vervangen voor “Vuurtoren”.
(of elk ander gebouwtype: https://brt.basisregistraties.overheid.nl/datamodel#Gebouw)

Je kan het resultaat (28 stuks) ook gelijk als csv downloaden (knopje), of op de kaart bekijken.

image

Bedankt voor de hulp. Die Sparql optie kwam ik later zelf ook nog tegen, maar met jullie informatie was dat wel gemakkelijker om er meer informatie uit te halen.Ook goed om te weten dat het niet met de API kan. Fijn dat het wel op de backlog is gezet. Het is gemakkelijker als het direct met de API kan.
Ik heb het uiteindelijk ook met FME weten te automatiseren dus mijn doel is bereikt.

1 like

Het item heeft iets langer op het backlog gestaan dan de bedoeling was, maar het filter is zojuist toegevoegd.

Op de gebouwen endpoints zit nu een typeGebouw filter. De lijst met mogelijke waarden kan je in de OpenAPI specificatie vinden.

Daarnaast is typeGebouw ook toegevoegd aan de respons.

1 like

Nou, je achternaam doet je eer aan want ik vind het binnen een maand geïmplementeerd hebben best snel. Daar ging ik in ieder geval niet vanuit.

Bedankt dus :grinning:

1 like