Verkeersborden download API 3.0
API beschrijving
Deze API biedt services voor het ophalen van verkeersborden events. De API bestaat uit twee services:
- Een service voor het ophalen van alle aanwezige verkeersborden events in het systeem, per blok van maximaal 100 events.
-
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:
- JSON
- GeoJson
- CSV
- Er zijn drie mogelijk output voor de actuele beeld:
API versie 3.0
Wijziging per 14-01-2024, ten behoeve extra velden in Verkeersbordenbestand en onderborden. Daarnaast een toevoeging van Rijksdriehoek coordinaten 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 komen. Na ontvangst van berichten van de HR goep wordt dit separaat bepaald en als los event aangeboden |
Alfanumeriek 50, L |
zoneCode | zoneCode | properties.zoneCode | Geeft aan of een verkeersbord een zonecode 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, N Z, O, W |
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 | Tussen 0.0 en 1.0 (includief) | 0.42 |
location.driving_direction | drivingDirection | properties.drivingDirection | 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.removed | removed | properties.Removed | Datum dat het verkeersbord niet meer in de datastroom zit | 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 | 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. |
||
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 onderstaande 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.
Bij vragen over de inhoud van de gedownloade bestanden verwijzen we u graag naar de leverancier van deze data. Deze contactgegevens staan in Toelichting open data verkeersborden en FAQ.
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 maand (op de eerste dag van de maand) als totaal bestand op de NDW open data omgeving beschikbaar gesteld, zowel als .Json, .GeoJson als als .CSV.
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. Elke nacht wordt een volledig beeld opgeslagen, deze is te downloaden via de api zonder query parameters.
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 opzoeken
- er zijn extra kolommen 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 Voorbeeld: A1 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 een verkeersbord aan Vereist: nee Type: String Voorbeeld: PLANNED Standaardwaarde; Leeg Mogelijke waardes: Planned, Removed, Placed |
crs | Formatting van coordinaten 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
GET https://data.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state
Dit zal de standaard query parameterwaarden gebruiken
GET https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v3/current-state?town-code=GM0096 Levert het actueel beeld van gemeente 0096
GET https://wegkenmerken.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://wegkenmerken.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://wegkenmerken.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://wegkenmerken.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.
GET https://wegkenmerken.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 Levert actuele beeld van gemeente 0448 voor A1 borden met coordinaten in WGS84 formaat.
GET https://wegkenmerken.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 Levert actuele beeld van gemeente 0448 voor A1 borden met coordinaten in Rijksdriehoek formaat.
Voorbeelden voor GeoJson en CSV formaat
GET https://wegkenmerken.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.
GET https://wegkenmerken.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.
GET https://wegkenmerken.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
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 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 en het gebruik ervan, dan kunt u
contact opnemen met de servicedesk van NDW
(mail@servicedeskndw.nu)
Bij vragen over de inhoud van de gedownloade bestanden verwijzen we u
graag naar de leverancier van deze data. Deze contactgegevens staan in
Toelichting open data verkeersborden en FAQ.
-
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. ↩