Skip to content
Back to blog

Technology & data

Which data does Schaduwplan use? 3DBAG, BAG, AHN4 and PDOK

11 min read
Layered axonometric drawing: at the bottom a height-data raster with dots (AHN4), above it a parcel boundary and address (BAG), above that a 3D volume of a terraced house with a roof addition (3DBAG), and along the top a thin amber sun arc with a solar disc.

Schaduwplan runs on four open government sources: 3DBAG for 3D building models, BAG for address and parcel data, AHN4 for ground and object heights, and PDOK for geocoding. The same data that professional firms and the Council of State accept, with weekly updates and vertical accuracy down to 5 cm.

Which data does Schaduwplan use?

Schaduwplan uses four public Dutch government sources: 3DBAG (3D building models from TU Delft and 3DGI), the Key Register of Addresses and Buildings (BAG) from the Kadaster, AHN4 (Actueel Hoogtebestand Nederland from Rijkswaterstaat and the water authorities), and PDOK Locatieserver for geocoding addresses. These sources are open, free to use without an API key, and accepted as authoritative by the Council of State and professional firms.

The combination is no accident. They are specifically designed to work together: BAG provides the exact parcel boundary and building ID, 3DBAG adds the 3D volume with its roof shape, AHN4 fills in the ground level, and PDOK ties the whole to a Dutch address. All four use the same coordinate system (Rijksdriehoekstelsel, EPSG:28992), which makes the projection possible without conversion discrepancies. That is exactly the kind of data stack that HoeveelZon, DGMR and Peutz also base their sunlight studies on.

3DBAG: building models from TU Delft and 3DGI

3DBAG (at 3dbag.nl) is an open dataset of automatically reconstructed 3D models for all roughly 10 million buildings in the Netherlands. The models are available at two levels of detail. LoD1 is a simple flat extrusion: the BAG footprint pulled up to the average roof height from AHN. LoD2.2 is far richer — it contains real roof shapes (gable roof, hip roof, flat roof, lean-to roof), gutter lines and ridge heights. Schaduwplan uses LoD2.2 because the roof shape makes a material difference at a low sun angle (February, October).

The dataset is built by a joint team from TU Delft (the 3D Geoinformation group) and 3DGI. Source material: BAG footprints combined with AHN height points through a reconstruction algorithm. Updates are weekly. The current beta version (v2025.09.03) covers the whole of the Netherlands. The attribution “3DBAG by tudelft3d + 3DGI” is required in reports — Schaduwplan places this in the methodology appendix by default.

For the report you submit to the municipality, the LoD2.2 accuracy is relevant. In Voorburg (5 April 2023, ECLI:NL:RVS:2023:1329) the Council of State ruled that a height discrepancy of 3 cm on a ridge height of 8.24 m is “negligible” — a signal that the AHN-derived 3DBAG heights sit well below any legally relevant threshold.

BAG: Dutch address and building register (Kadaster)

The BAG (Key Register of Addresses and Buildings) is the authentic source for all Dutch addresses, buildings, dwelling units and parcels. Managed by the Kadaster under the Addresses and Buildings Register Act. Every building has a unique ID (BAG building code) and an exact footprint in Rijksdriehoek coordinates. It also holds metadata: year of construction, use function (dwelling, shop, office), floor area, status (under construction, in use, demolished).

For a sunlight study, the footprint is decisive. The precise position of a building on the parcel determines where shadows are cast. An error of half a metre to the left or right shifts the shadow curve by a few tens of centimetres per hour. With BAG that margin is absent: the Kadaster maintains parcel boundaries to millimetre precision, and 3DBAG takes the footprint directly from it.

A second important detail: BAG distinguishes dwelling units within a single building. An apartment block is one building but contains several dwelling units. For a measurement point in a specific living room, the dwelling-unit ID is more relevant than the building ID. Schaduwplan uses PDOK to resolve an address to both the building and the dwelling unit, so that measurement points are placed on the correct floor.

AHN4: height data from laser surveys

The Actueel Hoogtebestand Nederland (AHN4) is a nationwide raster of height points, captured with aircraft-based laser surveys (LiDAR) between 2020 and 2022. Managed by Rijkswaterstaat and the water authorities. Resolution: 50 cm horizontal, vertical accuracy 5 cm. For Schaduwplan, AHN4 is the source of two types of data: ground level (for correct terrain rendering in the 3D model) and object height (for existing buildings).

The ground level matters more than it seems. A terraced house on sloping terrain gets different shadows than the same house on a flat polder plain. In Limburg or the Utrechtse Heuvelrug, the height difference between two adjacent parcels can run to several metres. Sunlight studies that reckon only with BAG footprints and flatten the ground level miss this effect. Schaduwplan includes the AHN4 ground level in the scene.

AHN4 is currently the latest version. AHN5 has been announced for 2026 with full coverage in 2027. Schaduwplan will migrate automatically as soon as AHN5 is available nationwide through PDOK.

PDOK Locatieserver: from address to geo-ID

The PDOK Locatieserver is an open geocoding service managed by the Ministry of the Interior (BZK). Type in a free-form address (“Prinses Beatrixlaan 12, Rijswijk” or “1234AB 12”), and the service returns: exact coordinates in Rijksdriehoek, the BAG building ID, the BAG dwelling-unit ID, and all metadata from BAG. Even with typos or incomplete addresses (“Beatrixlaan Rijswijk”) it produces a correct match.

For Schaduwplan this is the starting point. When you type an address into the search bar, PDOK retrieves the exact building ID, which is forwarded to the 3DBAG API for the 3D volume, and the AHN4 raster for the surrounding ground level within a 150-metre radius. The whole process takes less than a second. None of these requests require an API key, which means the data supply chain has no dependencies that could fall away or undergo price changes.

The same data as a €500 report — the difference lies elsewhere

An important point to make explicit: the data quality of self-service tools and independent firms is identical. All four price segments in the market (self-service €29.95, small firm €295 to €535, large engineering firm €500 to €5,000) use 3DBAG, BAG and AHN4 as their basis. The difference between the segments lies in interpretation, sign-off and report form — not in the underlying measurement.

ElementSelf-service toolSmall firmLarge engineering firm
3DBAG building modelsYesYesYes
BAG address validationYesYesYes
AHN4 ground levelYesYesYes
Rijksdriehoek projectionYesYesYes
TNO test-date assessmentYes, automatedYes, manualYes, manual
Human sign-offNoYes (consultant)Yes (sworn expert)
Expert witness at a hearingNoDepends on the firmYes

The table shows the crux: the data is identical, the interpretation differs. For the objection phase of an environmental permit — where an official assesses the file on its merits without a hearing — the sign-off rarely plays a role. The file is primarily assessed on methodology, source citation and conclusions, not on who signs it.

How judges test these sources

Three rulings by the Council of State together build the legal framework within which this data stack is accepted. In Ootmarsum (3 July 2013, ECLI:NL:RVS:2013:191) the Council annulled a zoning plan precisely because no sunlight study using this type of data had been carried out. In Almelo (18 January 2023, ECLI:NL:RVS:2023:172) the Council confirmed that TNO standards based on this data are not unusual. In Voorburg (5 April 2023, ECLI:NL:RVS:2023:1329) the Council accepted a height discrepancy of 3 cm as negligible.

Together these three rulings form an implicit seal of approval. A report that combines 3DBAG, BAG and AHN4, with TNO-standard testing and coordinates on the Dutch national grid, sits methodologically in the safe zone. What the court does still test is whether the study is complete: are all relevant buildings included? Is the test-date choice correct? Is the measurement point placed at 75 cm height? For these specifically testable elements, Schaduwplan is automated.

When this data is not enough

Honest about the limits: for roughly 95% of sunlight questions, 3DBAG, BAG and AHN4 suffice. The remaining 5% are situations where additional data is needed and Schaduwplan cannot cover it from its own sources.

  • Building plans that deviate from the BAG registration. A roof addition under construction is not yet in 3DBAG. You have to draw the planned construction manually, based on the building drawings you receive (as an interested party) through the municipality.
  • “Maximum planning possibilities” as the reference. Some municipalities require you to compare the reference not with the existing buildings but with the maximum permitted development under the zoning plan. That demands an interpretation of the legal zoning plan, not just of 3DBAG.
  • Complex building physics. For projects with mirrored façades, double skins or atmospheric light reflection, a full daylight study is needed that goes beyond sun hours. Large engineering firms (DGMR, Peutz, Nieman) cover this.
  • Historic inner cities with specific aesthetic-quality rules. Municipalities such as Amsterdam-Centrum, Utrecht-Binnenstad and Den Haag-Binnenhof may require additional aesthetic-quality advice that does not fit within a sunlight study. There, local expertise adds value.

In those cases Schaduwplan is usually the fastest starting point: first generate an indicative report based on the standard data, and take it to the firm for the more specialised follow-up steps. The firm then saves the initial 3D modelling time, which materially lowers the final turnaround and the final cost.

Sources (12)

We back every article with public sources. Click to see all the original documents, rulings and datasets.

Frequently asked questions

Are these data sources legally recognised in court?
Yes. The Council of State (Almelo, 2023, ECLI:NL:RVS:2023:172) accepted TNO standards based on the same data as "not unusual". In Voorburg (2023, ECLI:NL:RVS:2023:1329) the Council accepted that a height discrepancy of 3 cm at 8 metres is negligible — an implicit confirmation of the accuracy of AHN4 and 3DBAG. In Ootmarsum (2013) the Council even annulled a zoning plan for the absence of a study using these sources.
How up to date is the data?
3DBAG is updated weekly on the basis of new BAG registrations and AHN surveys. BAG is synchronised in real time with the Kadaster — a newly completed building typically appears within four working days. AHN4 dates from surveys in 2020–2022, with a vertical accuracy of 5 cm. The sources are more current than at most independent building consultancies, which often work with monthly snapshots.
What if a recent extension or roof addition is not yet in 3DBAG?
It happens. Structures without a BAG registration do not automatically appear in 3DBAG. In Schaduwplan you can add a missing volume yourself with the drawing tool, exactly as you draw a planned construction. The Council of State (Voorburg, 2023, ECLI:NL:RVS:2023:1329) ordered an additional study when a recently built roof addition was missing — which shows that it is legally sound to add missing buildings manually.
Do you pay for this data?
No. All four sources (3DBAG, BAG, AHN4, PDOK) are open data. No API key, no subscription, no volume limits. 3DBAG is available under CC-BY with the attribution "3DBAG by tudelft3d + 3DGI". BAG is an authentic key register under the Addresses and Buildings Register Act. AHN4 is available through PDOK. That is why Schaduwplan can offer reports at € 29.95 each.
Can I use this data myself without Schaduwplan?
In theory, yes. 3DBAG provides CityJSON and 3D Tiles files that you can import into QGIS, Blender or Rhino. BAG is available through the PDOK WFS feed. AHN4 can be downloaded as GeoTIFF. Combining them, projecting them onto the Dutch national grid, and running a correct sun-hour calculation, however, typically takes a non-specialist 40 to 80 hours of work. Schaduwplan automates this.
What is NOT in this data?
Three categories of element are not included by default. Trees and fences are not in 3DBAG: legally they count as temporary landscape elements and therefore stay outside the formal TNO test (in a neighbour-law dispute their shadow can indeed be weighed — for that you draw them in yourself and Schaduwplan calculates the shadow separately). Interiors and window positions are not modelled in detail — 3DBAG works with roof shapes and volume mass, not with individual windows. Structures without an environmental permit (unauthorised buildings) are usually not registered. For missing elements you use the drawing tool.

The same data as a € 500 report, for € 29

Schaduwplan pulls 3DBAG, BAG and AHN4 straight from public sources. No API key, no paid data packages. Enter your address and, within one minute, see the 3D model that judges rely on.