
8 min read
Dutch cadastral map: find your plot via PDOK, step by step
Get your plot from the Dutch cadastral map via PDOK, with the actual responses for one address. Depending on its label, the boundary can be 10 to 80 cm off.
Getting your plot from the Dutch cadastral map takes two public requests. The PDOK Locatieserver turns your address into a point in Dutch grid coordinates. The Kadaster's map service on PDOK returns every parcel around that point, and you keep the one the point lies in. Tuinontwerp.app lays out your plot this way once you enter your address.
PDOK is the Dutch government's platform for open geodata, and the Kadaster is the Dutch cadastre. A map with lines shows what is registered, not where it comes from. Below are the requests and the literal responses for one known address: Hofstraat 110 in Apeldoorn, the head office of the Kadaster itself. Every URL works in your own browser, with no account and no key.
If you only want to see your boundary, without any URLs, open the cadastral map in the PDOK Viewer. The next section covers how accurate that line is. The requests follow, for anyone who wants to see where the line comes from.
How accurate is the boundary on the cadastral map?
Accurate enough to lay out a garden on, not to set out a fence by. The Kadaster says so itself: the cadastral map shows no exact boundaries and no exact measurements. From version 5 of the map, each boundary carries a quality label. That label gives the margin by which the drawn line can differ from the boundary on the ground.
| Label | Margin either side of the boundary |
|---|---|
| B | 10 cm |
| C | 20 cm |
| D | 40 cm |
| E | 80 cm |
| G | cannot be determined |
The design tool requests only the Perceel (parcel) layer, without those
labels. So read the line in the app with that margin: in 95% of cases the real
boundary lies within the label's distance. The label of your own boundary is on
the cadastral map itself, because the Kadaster shows it there beside each
boundary.
There is a second difference. The boundary in use, the line you treat as the edge of your garden, sometimes differs from the cadastral boundary, for example when a fence, a gate or an extension does not stand exactly on the legal boundary. Your fence therefore does not prove where your plot ends.
If you need to be sure, the Kadaster marks the boundary on the ground again with a boundary reconstruction (grensreconstructie). Prices start at €559, for a boundary length of up to 500 metres. For a layout, the map boundary is the starting point. For a fence on the boundary, the reconstruction is.
How do you turn an address into coordinates?
With two requests to the PDOK Locatieserver, PDOK's address search. The first
finds the address, the second fetches its details. suggest returns
suggestions for addresses and other places that match a search term. lookup
asks for detailed information about one object.
https://api.pdok.nl/bzk/locatieserver/search/v3_1/suggest?q=Hofstraat%20110%20Apeldoorn&fq=type:adres&fq=bron:BAG&rows=1
The two fq filters restrict the answer to addresses from the BAG, the Dutch
national register of addresses and buildings. Without a filter, the
service also returns municipalities, towns, roads and postcodes. The response, shortened:
"numFound": 1,
"docs": [
{
"type": "adres",
"weergavenaam": "Hofstraat 110, 7311KZ Apeldoorn",
"id": "adr-cd8ae950d6870241e8f3a2208e6fd086"
}
]
The second step starts from that id. It asks for exactly the fields the rest
of the process needs:
https://api.pdok.nl/bzk/locatieserver/search/v3_1/lookup?id=adr-cd8ae950d6870241e8f3a2208e6fd086&fl=id,weergavenaam,straatnaam,huis_nlt,postcode,woonplaatsnaam,centroide_rd,nummeraanduiding_id,adresseerbaarobject_id
"weergavenaam": "Hofstraat 110, 7311KZ Apeldoorn",
"postcode": "7311KZ",
"nummeraanduiding_id": "0200200000007079",
"adresseerbaarobject_id": "0200010000090244",
"centroide_rd": "POINT(194315.783 469449.074)"
The field that counts is centroide_rd. That is a point in the Amersfoort /
RD New system (EPSG:28992), the Dutch national grid, which works in metres. So
the Kadaster office lies 194,315.783 metres east and 469,449.074 metres north
of that grid's origin. In metres, the next step is much simpler to work out
than in degrees.
While you type, the design tool's address field shows a list of matches from
suggest. Pick one and the form sends exactly that address line. Press Enter
without picking, and the tool takes the top match for the text you typed. So
add your postcode and house number, to make that top match your own address
rather than the same street name in another town.
Which parcels lie around your address?
Every parcel that touches a square of 120 by 120 metres around the address
point. The design tool draws that square 60 metres out on each side of the
point. Next it requests the Perceel layer of the cadastral map through PDOK's
WFS, a standard web service for map features. PDOK updates the
cadastral boundaries and parcel numbers in that service daily.
https://service.pdok.nl/kadaster/kadastralekaart/wfs/v5_0?request=GetFeature&service=WFS&version=2.0.0&typeNames=kadastralekaartv5:Perceel&bbox=194255.783,469389.074,194375.783,469509.074,urn:ogc:def:crs:EPSG::28992&outputFormat=application/json&count=500
The four numbers in bbox are the address point minus and plus 60 metres:
first the lower-left corner, then the upper-right one. count=500 caps the
response at 500 parcels. Around the Kadaster office 18 come back, as the
response reports "numberMatched": 18.
Each parcel is a GeoJSON feature with an outline and a set of properties. Here is one of them, shortened:
"id": "perceel.150eba51-2df1-4cb8-b4c5-92f993204296",
"properties": {
"kadastraleGemeenteWaarde": "Apeldoorn",
"sectie": "U",
"perceelnummer": 9833,
"kadastraleGrootteWaarde": 905.0,
"soortGrootteWaarde": "Vastgesteld"
},
"geometry": {
"type": "Polygon",
"coordinates": [[[194321.601, 469465.106], [194320.879, 469466.065]]]
}
Cadastral municipality, section and parcel number together make up the cadastral designation: Apeldoorn U 9833. The area is given in square metres, marked as established (vastgesteld). The outline is a list of corner points in the same RD grid as the address point, so the two line up without any conversion.
The design tool runs that search with the square the moment you enter your address. There is no URL for you to build and no coordinate to copy.
Which of those parcels is yours?
The parcel whose outline contains the address point. Of the 18 parcels around Hofstraat 110, that is Apeldoorn U 9833, with an established area of 905 square metres. A search box of half a metre around the point returns exactly that one parcel.
The design tool runs that test for each parcel: does the point lie inside the outline? One extra rule applies. A parcel can have holes, and a point in such a hole does not count as inside. If your house sits in a cut-out of a larger parcel around it, that larger parcel drops out.
What remains is the id of that parcel: the word perceel, a full stop and a
UUID of 36 characters. That id goes into the address bar of your design. A
design saved in your browser normally opens without a single request to the
Kadaster. When someone opens the link in a browser without that saved design,
the tool fetches the parcel again by exactly that id, with no search box:
https://service.pdok.nl/kadaster/kadastralekaart/wfs/v5_0?request=GetFeature&service=WFS&version=2.0.0&typeNames=kadastralekaartv5:Perceel&featureID=perceel.150eba51-2df1-4cb8-b4c5-92f993204296&outputFormat=application/json
That response contains one feature. If the id no longer exists at PDOK, the tool reports that the parcel was not found.
The outline of Apeldoorn U 9833 has 28 corner points. The JSON lists 29, because a GeoJSON ring ends on its first point. The whole shape fits in a box of about 41 by 48 metres. The head office is far from a narrow garden plot, but for a terraced house the steps are exactly the same.
Try the requests yourself
A browser is all you need. Neither service asks for an account or a key. Work in this order:
- Paste the
suggestURL and replaceHofstraat%20110%20Apeldoornwith your own street, house number and town.%20stands for a space. - Copy the
idfrom the response into thelookupURL, in place of the id of the Kadaster office. - Take the two numbers from
centroide_rd. Subtract 60 from both for the first twobboxvalues, and add 60 to both for the last two. - Paste the WFS URL with your
bbox. The response lists every parcel in the square. - Shrink the box to half a metre around your point and request it again. Normally only your parcel is left, with its section, number and area.
- Copy the
idof that parcel into thefeatureIDURL. The design tool makes that request when someone opens your link in a browser without your saved design.
If your address point lies exactly on a boundary, step 5 can return two parcels. In that case, make the box smaller. For laying out the garden itself, see the garden design section of the blog.
From parcel to garden design
The parcel outline is where the design starts. Start at the address field at the bottom of this page. Tuinontwerp.app asks PDOK the same two questions and lays out your plot to scale. Around it go the buildings from the BAG, with their heights from 3DBAG, the open dataset of measured building heights for the Netherlands. On top you draw your terrace and borders and place your plants, each at a grown plant's width. Loading your plot and drawing on it costs nothing.
The plan also shows, for each plant, the most sun its spot can get. The plot boundary counts in that figure as a wall of 1.8 metres, even before you have drawn anything. The working behind that figure is explained in garden sun hours, calculated per spot. For what a designer or landscaper charges to build the plan, see what garden design costs.
The line you draw on stays the Kadaster's map boundary, with the margin of its label. With that margin in mind, you lay out the rest of your plot, from terrace to border.
Frequently asked questions
Can I look up my plot boundaries for free?
Yes. The cadastral map is open data on PDOK, and tuinontwerp.app loads your plot from it at no cost once you enter your address. In 95% of cases the drawn boundary lies within 10 to 80 centimetres of the real one, depending on its label. With label G the margin is unknown. Keep that margin in mind as you lay out your garden on your own plot in the app.
How accurate is the plot boundary on the Dutch cadastral map?
Not exactly: the Kadaster states that the cadastral map contains no exact boundaries or measurements. Each boundary carries a quality label. In 95% of cases the real boundary lies within 10 centimetres for label B, 20 for C, 40 for D and 80 for E. Label G means the quality cannot be determined.
Which PDOK services does tuinontwerp.app use for my plot?
The PDOK Locatieserver turns your address into a point, and PDOK's cadastral WFS returns the parcel that point lies in. On that parcel the app lays out your plan to scale, with the buildings from the BAG and their heights from 3DBAG around it. On it you draw your terrace, borders and plants.
Is my fence on the legal boundary?
Not always. The boundary in use, the line you treat as the edge of your garden, sometimes differs from the cadastral boundary, for example because of a fence, a gate or an extension. With a boundary reconstruction the Kadaster marks the boundary on the ground again, from €559 for a boundary length of up to 500 metres.


