Ga naar inhoud

Verkeersborden download API 3.0

API beschrijving

Deze API biedt services voor het ophalen van verkeersborden events. De API bestaat uit twee services:

  1. Een service voor het ophalen van alle aanwezige verkeersborden events in het systeem, per blok van maximaal 100 events.
  2. Een service voor het ophalen van het actuele beeld. Het actuele beeld van de verkeersborden wordt maandelijks bijgewerkt.

    • Er zijn drie mogelijk output voor de actuele beeld:
      1. JSON
      2. GeoJson
      3. CSV

API versie 3.0


Wijziging per 14-01-2024, ten behoeve extra velden in Verkeersbordenbestand en onderborden. Daarnaast een toevoeging van Rijksdriehoek coördinaten en GeoJson formaat.
2.0 versie blijft tot en met 1 juli 2024 in stand. Hierna zullen wij deze versie uit de lucht halen. Tot die tijd kun je van de URL- en Swagger methode met v2 erin gebruik maken.

Beschrijving outputvelden

Veldnaam Json Kolomnaam csv Veldnaam Geojson Beschrijving Datatype met voorbeeld
id id properties.supplierId Identificatiecode die een verkeersbord binnen zijn aanleverbron (bijvoorbeeld de HR groep) uniek identificeert Integer
23
ndw_id ndwid id Identificatiecode die een verkeersbord binnen de NDW database uniek identificeert UUID
e0ace570-8eee-45ef-8083-f6139460c52a
--- --- type Feature String
"Feature"
type type properties.type Gebeurtenistype dat het type wijziging op de verkeersbordgegevens aangeeft Type-veld, mogelijke waardes: created, updated, deleted. Bij het actueel beeld is het het laatste event van dit bord dat verwerkt is
schema_version schemaVersion properties.schemaVersion Versie-indicator van het gegevensschema dat op het event is toegepast versie is momenteel 3.0
validated validated properties.validated Indicator of de gegevens al dan niet gevalideerd zijn Alfanumeriek
n, j
validated_on validatedOn properties.validatedOn Datum waarop de gegevens zijn gevalideerd date
2024-01-24
user_id userId properties.userId Installateur-/onderhouder-ID Integer
38
organisation_id organisationId properties.organisationId Installateur-/onderhouder-organisatie ID Integer
143
rvv_code rvvCode properties.rvvcode Alfanumeriek A1, A1(Zone), A2
black_code blackCode properties.blackCode Zwarte code van het RVV bord, bijvoorbeeld 50 bij snelheid
Deze zit niet in de created event berichten die van de HR groep zijn gekomen.
Deze zijn separaat bepaald door beeldherkenningssoftware en als los event aangeboden
Alfanumeriek
50, L
zoneCode zoneCode properties.zoneCode Geeft aan of een verkeersbord een zonebord is LEEG LATEN: is geen zonebord
ZB: begin zone
ZH: herhaling
ZE: zone einde
ZO: zonebord, maar onbekend type
text_signs --- properties.textSigns Tekst van borden onder het verkeersbord Array met alfanumerieke waardes
[“300m”, “8-19h”]
text_signs[i].type --- properties.textSigns[i].type VRIJ, KEN, RICH, UIT, VOOR, TIJD (vaste waarden)
text_signs[i].text --- properties.textSigns[i].text Array met alfanumerieke waardes
[“300m”, “8-19h”]
--- textSigns --- text (type), meerdere onderborden gescheiden door ;
location.wgs84.latitude latitude geometry.coordinates[1]1 WGS84 breedtegraad Float
52.279
location.wgs84.longitude longitude geometry.coordinates[0]* WGS84 lengtegraad Float
4.77898
location.rd.x x geometry.coordinates[0]* Rijksdriehoek- x Float
113493
location.rd.y y geometry.coordinates[1]* Rijksdriehoek y Float
476951
--- --- geometry.type vaste waarde point
location.placement placement properties.placement Aan de kant van de weg (L) of boven de weg (B) Alfanumeriek
L, B
location.side side properties.side Links of rechts indien van toepassing voor het weggedeelte, anders het kompas van het verkeersbord Alfanumeriek
L, R, Noord, Zuid, West, Oost, NoordWest, NoordOost, ZuidOost, ZuidWest, NoordNoordOost, OostNoordOost, OostZuidOost, ZuidZuidOost, ZuidZuidWest, WestZuidWest, WestNoordWest, NoordNoordWest
location.bearing bearing properties.bearing Tussen 0 en 359 (inclusief) 49
location.nen_turning_direction nenTurningDirection properties.nenTurningDirection Tussen 0 en 359 (inclusief) 55
location.fraction fraction properties.fraction Geeft aan waar op een wegvak je bord staat gerekent vanaf het begin in een fractie.
Tussen 0.0 en 1.0 (includief)
0.42
location.driving_direction drivingDirection properties.drivingDirection Dit is de rijrichting waar een verkeersbord op van toepassing is.
leeg, H, T
H
location.road.name roadname properties.roadName Alfanumeriek Waterwolftunnel
location.road.type roadtype properties.roadType Alfanumeriek 1 (A-wegen) or 2 (N-wegen)
location.road.number roadnumber properties.roadNumber Integer
201
location.road.wvk_id wvk_id properties.wvkID NWB Wegvak ID (dit kan ontbreken) Integer
226354035
location.road.nwb_version nwbVersion properties.nwbVersion ISO 2023-11-01
location.county.name countyname properties.countyName Gemeentenaam Alfanumeriek
Heerlen
location.county.code countycode properties.countyCode CBS gemeente code Alfanumeriek
GM0358
location.county.townname townname Properties.townName Woonplaatsnaam Alfanumeriek
Hoensbroek
location.bgt_code bgtCode properties.bgtCode Alfanumeriek
details.image image properties.image Link naar de afbeelding van het verkeersbord Alfanumeriek
https://...
details.first_seen firstseen properties.firstSeen Eerste keer dat het verkeersbord gezien is date
2024-01-20
details.last_seen lastseen properties.lastSeen Laatste keer dat het verkeersbord gezien is, tot nu toe date
2024-01-20
details.placed placed properties.placed Datum dat het bord is geplaatst in George date
2024-01-20
details.expected_placed expectedPlaced properties.expectedPlaced Datum dat het bord gepland wordt om te plaatsen in George date
2024-01-20
details.expected_removed expectedRemoved properties.expectedRemoved Datum dat het bord gepland wordt om te verwijderen in George date
2024-01-20
details.traffic_order_url trafficorderUrl properties.trafficOrderUrl Url naar bijbehorende verkeersbesluit http://
status Actuele status van het verkeersbord in de NDW database. PLANNED, PLACED, REMOVED
Dit veld is alleen aanwezig in de events Json, niet in het actueel beeld. Of in de queries die eop het actueel beeld gedaan worden.
publication_timestamp publicationTimestamp properties.publicationTimestamp Datum dat de laatste update bij NDW in de database is aangebracht datetime:
2020-04-27t12:34:56.123z

Services

Service GET verkeersborden events blok

Samenvatting

Haal een blok van verkeersborden events op.

Beschrijving

Dit API endpoint biedt een manier om alle gepubliceerde verkeersborden events in blokken te verkrijgen, die worden gespecificeerd door de limit- en offsetqueryparameters. De geretourneerde verkeersbord events worden gesorteerd op hun publication_timestamp, oudste eerst.
Het publication_timestamp van het laatst ontvangen event kan dus worden gebruikt om de volgende reeks events te verkrijgen met behulp van de offsetparameter. Dit biedt een gemakkelijke manier om het ophalen van verkeersborden events te stoppen en op een later tijdstip voort te zetten.

Omdat de publication_timestamp van gebeurtenissen potentieel niet uniek-- is, zullen volgende verzoeken events van de gegeven offsettimestamp bevatten, om potentiële events niet te missen of over te slaan. Merk op dat dit zal resulteren in het ophalen van dubbele events die correct aan de clientzijde moeten worden afgehandeld.

HTTP methode

GET

URL

https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v3/events

Query parameters

Veldnaam Beschrijving
offset Tijdstempel dat het publicatiemoment aangeeft waaruit de verkeersborden events kunnen worden opgehaald.
Deze bewerking omvat ook events met een overeenkomend publication_timestamp.
Vereist: nee
Type: Datetime
Formaat: yyyy-MM-ddTHH:mm:ss.SSSZ
Voorbeeld: 2022-04-27T12:34:56.123Z
Standaardwaarde: 1970-01-01T00:00:00.000Z
limit Maximumaantal geretourneerde verkeersborden (blokgrootte).
Vereist: nee
Type: integer
Voorbeeld: 1
Standaardwaarde: 100
Minimumwaarde: 1
Maximumwaarde: 100
town-code Gemeentecode die kan worden gebruikt om het gebied te beperken waarvandaan verkeersborden worden teruggestuurd.
Alleen verkeersborden met de exact overeenkomende gemeentecode worden geretourneerd.
Zie ook: CBS Gemeentelijke Indelingen
Vereist: nee
Type: string
Voorbeeld: GM0321
Maximumlengte: 6
Standaardwaarde: leeg

Voorbeelden

GET https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v3/events dit zal de standaard queryparameterwaarden gebruiken

GET https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v3/events?offset=2023-04-27T12%3A34%3A56.123Z&town-code=GM0448 dit retourneert de eerste 100 events vanaf 27 april 2023 's middags in gemeente 0448

Response -- 200 OK

De verkeersborden events zijn met succes opgehaald sinds en inclusief de gegeven offsettimestamp, gemaximaliseerd tot de gegeven limit. De geretourneerde verkeersborden events worden gesorteerd op hun publicication_timestamp, oudste eerst.

De body heeft het content-type application/json en is een JSON-array van bovenstaande JSON-objectbeschrijving.

Response -- 400 Bad Request

De client heeft een verzoek verzonden dat niet aan de specificatie voldoet.
De body van de response bevat informatie over de aard van de fout.
Meestal is dit antwoord te wijten aan een fout aan de kant van de client.

Voorbeelden van foutgevallen:

  • offset parameter komt niet overeen met het formaat
  • limit parameter komt niet overeen met de minimum of maximum grootte
  • town-code parameter is groter dan het gewenste formaat, bijvoorbeeld: GM12345 in plaats van GM1234

Response -- 500 Internal Server Error

Het verzoek is niet succesvol verwerkt vanwege een technisch probleem of beperking.
De body van de response kan informatie bevatten over de aard van de fout.

Als u vragen heeft over deze API en het gebruik ervan, dan kunt u contact opnemen met de NDW Servicedesk.

Ook bij vragen over de over de inhoud van de gedownloade bestanden kunt u contact opnemen met de Servicedesk.

Service GET verkeersborden actueel beeld

Samenvatting

In het actuele beeld wordt voor elk verkeersbord de resultante van alle verwerkte events geretourneerd, tenzij het laatst ontvangen event het type "deleted" heeft. In dit geval wordt het verkeersbord niet meer opgenomen in het actuele beeld.

Het wordt eenmaal per etmaal als totaal bestand op de NDW open data omgeving beschikbaar gesteld, zowel als .Json, .GeoJson als als .CSV. Het is te downloaden zonder query parameters

Tussentijds kan door de afnemer het actuele beeld bijgewerkt worden op basis van de service "GET verkeersborden events blok". Intern werkt NDW het actueel beeld continue bij.

Ook kan er een query op het actueel beeld gedaan worden om een kleinere selectie te verkrijgen. Bij gebruik van query parameters wordt niet het opgeslagen bestand gebruikt, maar wordt direct gefilterd op de data zoals die op dat moment bekend is, dus inclusief wijzigingen van die dag. Het (gefilterde) actuele beeld kan in twee formaten opgehaald worden. Standaard wordt het actueel beeld als Json formaat uitgeleverd. Door de Accept header met waarde "text/csv" of de content-type queryparameter met waarde "csv" op het request te zetten, wordt het actueel beeld als CSV formaat uitgeleverd.

Per versie 3.0 van de API zijn er extra kolommen en formatting bij gedaan.

  • je kunt nu formaat GeoJson gebruiken
  • je kunt meerdere RVV codes combineren in een query.
  • er zijn extra kolommen in de output met geplande verwijdering en plaatsing

HTTP methode

GET

URL

https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state

Query parameters

Veldnaam Beschrijving
town-code Gemeentecode die kan worden gebruikt om het gebied te beperken waarvandaan verkeersborden worden teruggestuurd.
Alleen verkeersborden met de exact overeenkomende gemeentecode worden geretourneerd. Zie ook: CBS Gemeentelijke Indelingen
Vereist: nee
Type: string
Voorbeeld: GM0321
Standaardwaarde: leeg
rvv-code RVV code die gebruikt kan worden om het actuele beeld te filteren op basis van de RVV-code die de verkeersborden hebben.
Alle verkeersborden met de opgegeven RVV code (exacte match), worden geretourneerd
Zie ook: Reglement verkeersregels en verkeerstekens 1990 (RVV 1990) Bijlage 1. Verkeersborden
Vereist: nee
Type: string (tekstveld)
Voorbeeld: A1 of A2
Standaardwaarde: leeg
Maximum lengte: 50
je kunt meerdere selecties doen bijv A1 en A2
road-section-ids Lijst van wegvakids waarop gefilterd kan worden in het actuele beeld. De lijst heeft geen limiet voor het aantal wegvakids dat opgegeven kan worden
Alleen verkeersborden met een overeenkomend wegvakid worden geretourneerd. Zie ook: https://nationaalwegenbestand.nl/documenten
- Download ‘Gebruikershandleiding_NWB_Wegen’
- Zoek voor ‘Wegvak-ID’ voor een uitleg over wegvakids
Vereist: nee
Formaat: lijst van integers
Voorbeeld: 234252051,234252052
Standaardwaarde: leeg
status Hier geef je de status van de gewenste verkeersbord aan
Vereist: nee
Type: String
Voorbeeld: PLANNED
Standaardwaarde; Leeg
Mogelijke waardes: Planned, Removed, Placed
crs Formatting van coördinaten
Vereist: Nee
Type: String
Voorbeeld WGS84: http://www.opengis.net/def/crs/OGC/1.3/CRS84
Standaardwaarde; Leeg
Waarde voor Rijsdriehoek: http://www.opengis.net/def/crs/EPSG/9.9.1/28992
content-type Vul met “csv” om het actueel beeld als CSV formaat in plaats van JSON uitgeleverd te krijgen. Let op dat de Accept header met de waarde “text/csv” op het request voor ditzelfde doeleinde gebruikt kan worden.
Voor een uitlevering in GeoJson kun je als header de waarde "application/geo+json" gebruiken. Dit levert je output als een GeoJson aan.
Als de queryparameter leeggelaten wordt of met een verkeerde waarde wordt ingevuld, die niet langer is dan de maximumlengte, zal het actueel beeld als JSON uitgeleverd worden.
Vereist: nee
Type: string
Voorbeeld: csv
Standaardwaarde: leeg
Maxmimum lengte: 3

Voorbeelden- voor Json formaat

Tenzij anders aangegeven krijg je met de url methode standaard een Json output. Alle links kunnen zonder URL ook in je browserbalk gezocht worden.

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state
Dit zal de standaard query parameterwaarden gebruiken

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0096 Levert het actueel beeld van gemeente 0096

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0096&rvv-code=A1 Levert het actueel beeld van A01 verkeersborden in gemeente 0096.

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?road-section-ids=265581002 Levert het actueel beeld op van verkeersborden op wegvakid 265581002.

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0096&rvv-code=A1&road-section-ids=265581002 Levert het actueel beeld van A1 verkeersborden op wegvak 265581002 welke in gemeente 0096 vallen.

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0448&status=PLANNED Levert het actueel beeld van gemeente 0448 welke de status gepland hebben.

LET OP! je krijgt alle borden met een status gepland, maar niet de status in je output velden.

Voorbeelden voor GeoJson en CSV formaat

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?rvv-code=A1&town-code=GM0321--header'Accept:text/csv'
Zet de Accept header om de response als CSV formaat terug te krijgen.

Als u zonder embedded GET eenmalig data wil opvragen gebruikt u in de browserbalk onderstaande: https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?rvv-code=C2&town-code=GM0168&content-type=csv

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?rvv-code=A1&town-code=GM0321--header'Accept:application/geo+json'
Zet de Accept header om de response als GeoJson formaat terug te krijgen.

Ook hier geldt, als u eenmaling data wilt downlodan als GeoJson, dat de aanroep in de browser net iets anders is: https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?rvv-code=A1&town-code=GM0321&content-type=geo+json

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?rvv-code=A1&town-code=GM0321--header'Accept-Encoding: gzip'--output current-state.gz
Zet de Accept-Encoding header om de response als zip formaat te downloaden en wijs een locatie aan om deze op te slaan

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0448&rvv-code=A1&crs=http%3A%2F%2Fwww.opengis.net%2Fdef%2Fcrs%2FOGC%2F1.3%2FCRS84--header'Accept:application/geo+json'
Zet de Accept header om de response als GeoJson formaat terug te krijgen. Levert actuele beeld van gemeente 0448 voor A1 borden met coördinaten in WGS84 formaat.

GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0448&rvv-code=A1&crs=http%3A%2F%2Fwww.opengis.net%2Fdef%2Fcrs%2FEPSG%2F9.9.1%2F28992--header'Accept:application/geo+json'
Zet de Accept header om de response als GeoJson formaat terug te krijgen. Levert actuele beeld van gemeente 0448 voor A1 borden met coördinaten in Rijksdriehoek formaat.

Response -- 200 OK

Het actuele beeld van de verkeersborden events is met succes opgehaald.
De body heeft standaard het content-type application/json en is een JSON-array van de JSON-objectbeschrijving die terug te vinden is onder "Request GET verkeersborden events blok - Response -- 200 OK".
Als de content-type queryparameter gevuld is met "csv" of de Accept header is gevuld met "text/csv" wordt in plaats van JSON een platgeslagen CSV geretourneerd.

Response -- 400 Bad Request

De client heeft een verzoek verzonden dat niet aan de specificatie voldoet.
De body van de response bevat informatie over de aard van de fout.
Meestal is dit antwoord te wijten aan een fout aan de kant van de client.
Voorbeelden van foutgevallen:

  • town-code parameter is groter dan het maximum aantal van 6 tekens
  • rvv-code string/parameter is groter dan het maximum aantal van 50 tekens
  • road-section-ids parameter bevat waarden die niet numeriek zijn
  • content-type parameter is groter dan het maximum aantal van 3 tekens

Response -- 500 Internal Server Error

Het verzoek is niet succesvol verwerkt vanwege een technisch probleem of beperking.
De body van de response kan informatie bevatten over de aard van de fout.

Als u vragen heeft over deze API, de data en het gebruik ervan, dan kunt u contact opnemen met de servicedesk van NDW (mail@servicedeskndw.nu)


  1. Dit is op basis van welk query je opgegeven hebt. Dus bij WGS84 krijg je de waardes van lat en lon, bij Rijsdriehoek de x en y. 

Ga terug naar de vorige pagina