Organised Editing/Activities/TomTom/Global - Building Height Imports/Netherlands - 3D BAG Building Heights Import
Overview
TomTom, in consultation with the Dutch OpenStreetMap community, 3DGI, and the 3D geoinformation research group at TU Delft, is supporting a community-reviewed import to enrich existing OSM building footprints with missing height tags. The heights are derived from the 3D BAG dataset produced by TU Delft.
This activity follows an import-style workflow with upfront community consultation, transparent documentation, conservative acceptance rules, and a staged rollout starting with a pilot area (Amsterdam).
Context
The Netherlands contains over 10 million buildings in OpenStreetMap, imported via the BAG (Basisregistratie Adressen en Gebouwen). While building footprints and administrative attributes are well represented, the vast majority of buildings still lack height=* or building:levels tags. Building heights have been a long-standing gap in Dutch OSM data, and the topic has come up repeatedly in community discussions. The 3D BAG dataset by TU Delft now makes adding heights feasible at a national scale.
Adding reliable building heights enables:
- Better 3D map representations and routing
- Urban planning and digital twin use cases
- Environmental modelling (e.g. flood risk, solar analysis)
- AR/VR and visualization applications
This effort is supported by TomTom, which has committed engineering and community resources, in consultation with the Dutch OSM community, 3DGI and the 3D geoinformation research group at TU Delft. Similar building height imports have been completed in other countries, and we hope to learn from those experiences. We welcome everyone to voice, contribute, review and challenge any part of this project.
Data Source
| Field | Details |
| Dataset | 3D BAG (https://3dbag.nl/en/viewer) |
| Producer | 3DGI / 3D geoinformation research group, TU Delft |
| Source data | AHN (Actueel Hoogtebestand Nederland) LiDAR point cloud combined with BAG building footprints |
| Level of Detail used | LoD2.2 (default in pipeline) |
| Formats available | CityJSON, GeoPackage, PostGIS, OGC API Features, WMS |
| Coverage | All approximately 10 million buildings in the Netherlands |
| Update cadence | Tied to AHN flight cycles, currently every 2 to 4 years and increasing in frequency |
| Release date used for this import | 2025-09-03 |
| Documentation | https://docs.3dbag.nl/en/ |
| Download | https://3dbag.nl/en/download |
All height values in the dataset are absolute elevations above NAP (Normaal Amsterdams Peil, the Dutch sea level datum). Both b3_h_dak_70p and b3_h_dak_max therefore give the altitude above sea level, not the height of the building.
License
| Field | Details |
| 3D BAG license | CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) |
| ODbL compatibility | Confirmed. A signed CC BY 4.0 waiver from both rights holders is on file, following the OSMF standard CC BY 4.0 waiver template. Both clauses are agreed: OSM Contributors page accepted as "reasonable manner" attribution under Section 3(a)(1), and Section 2(a)(5)(B) waived as to OpenStreetMap and its users. |
| Waiver process | Complete as of 2 June 2026. Signatures received:
The fully signed copy has been provided to the OSMF Licensing Working Group (legal-questions@otrs.openstreetmap.org) for the confidential legal record. A public copy with the handwritten signatures redacted and a "Published Copy" watermark applied is published below. |
| Public copy of the signed waiver | 3DBAG CC BY 4.0 waiver, signed 2 June 2026 (public copy, signatures redacted) |
| Attribution required | Per the signed waiver, collective attribution via the OSM Contributors page is accepted by the rights holders as "reasonable manner" attribution under CC BY 4.0 Section 3(a)(1). TU Delft (3D geoinformation research group) and 3DGI are credited there as the source for 3DBAG-derived building heights. For per-object provenance, each imported building carries:
Changesets name the source and pilot scope. Example comment: |
| Permission reference | Signed waiver dated 2 June 2026 (see the public copy linked above; original held by TomTom and OSMF Licensing Working Group). Direct correspondence with the 3DBAG team at TU Delft and 3DGI confirmed the import plan, and the pilot has been openly communicated with the Dutch OSM community via the OSM community forum. |
Per the signed CC BY 4.0 waiver, attribution to TU Delft and 3DGI is provided collectively through the OSM Contributors page. The credit line "© 3DBAG by tudelft3d and 3DGI" is also included in each changeset comment and on this wiki page. Individual mappers do not need to add their own copyright attribution.
Methodology - Calculation of Building Heights
All height values in the dataset are absolute elevations above NAP (Normaal Amsterdams Peil, the Dutch sea level datum). To get the actual building height above ground, the following calculation is used:
height = b3_h_dak_max − b3_h_maaiveld
| Attribute | Description | Source |
| b3_h_dak_max | Maximum elevation (NAP) of the highest vertex on the reconstructed roof surface | LoD2.2 geometry (roofer reconstruction) |
| b3_h_maaiveld | Ground level elevation (NAP), calculated as the 5th percentile of AHN ground points within 4 m of the building footprint | AHN point cloud |
| Result | Height from ground to the highest point of the building in metres |
The pipeline rounds the resulting value to 1 decimal place before writing it to OSM.
Things Worth Knowing
- The LoD2.2 model is a simplified reconstruction of the raw LiDAR point cloud. Very small projections like chimneys or antennas may not be individually modelled as separate roof surfaces.
- The b3_rmse_lod22 field on each building shows the Root Mean Square Error between the model and the raw point cloud, which is a useful per-building quality indicator.
- The b3_kwaliteitsindicator field flags buildings where the reconstruction is considered reliable (true = good quality). Buildings where this value is false or missing are excluded from the import.
- For applications where the most representative rather than absolute maximum height is needed, using b3_h_dak_70p instead of b3_h_dak_max provides a 70th percentile roof elevation that is less sensitive to small protrusions.
- Where the absolute roof maximum is needed (rather than a representative height), b3_h_dak_max is also available in the dataset and is what the pipeline uses today.
Tagging
Per-building tags
The import adds these tags to each matched OSM building. No existing tag is overwritten.
| OSM Key | Value (example) | Notes |
height=*
|
13.3
|
Metres above ground level. Calculated as b3_h_dak_max - b3_h_maaiveld, rounded to 1 decimal place
|
source:height=*
|
3DBAG
|
Source attribution |
source:height:date=*
|
2025-09-03
|
Release date of the 3DBAG dataset used (ISO 8601) |
Buildings that already carry tags such as ref:bag=*, source=*, source:date=*, building=* or start_date=* keep them unchanged. The import is additive: it only fills missing height information.
We welcome the community's input on the source tag convention. If you have a preference or a recommendation based on past Dutch imports, please share it on the community discussion thread.
Per-changeset tags
Example changeset: 182589231.
| OSM Key | Value |
comment=*
|
Added building heights from 3DBAG (TU Delft) — Amsterdam pilot #tomtom-osm #amsterdam-3dbag
|
source=*
|
3DBAG (TU Delft, 3D Geoinformation)
|
created_by=*
|
osm-bulk-upload/upload.py v. 2
|
import=*
|
yes
|
ref:bag handling
We do not modify ref:bag=* values used for matching. However, when a building's existing ref:bag=* value is shorter than 16 digits (the official BAG identifier length), we will check the pipeline left-pads it with leading zeros to bring it to 16 digits to try to match the behaviour of the JOSM BAG plugin and was raised in the community thread. Reference: Voorloop nul(len) BAG referentie nummers. In case any issues, we will contact the maintainers.
Conflation And Acceptance
When buildings in 3D BAG share the same unique BAG identifier already present on OSM buildings in the Netherlands via the ref:bag=* tag, a match is made. No geometric matching or heuristics are used.
A building is skipped if any of the following apply:
- It already has a
height=*tag (no existing value is ever overwritten) - It does not have a
ref:bag=*tag - The 3D BAG source itself flags the building's reconstructed height as not reliable, i.e.
b3_kwaliteitsindicator=falseor missing. This is the 3DBAG team's own quality flag, set when LiDAR coverage or geometry validation does not meet their reconstruction standard. When 3DBAG is not confident in a height, we defer to their judgement and skip the building. - The computed height is below 3.0 m (likely a small auxiliary structure such as a shed or garage, where source data quality is lower)
- The
ref:bag=*tag is incorrectly placed on abuilding:part=* - The OSM element is tagged
building=no - The building tag value is empty or not a recognised value
This conservative approach minimises risk and avoids conflicts with local mapping practices.
Rejected buildings are recorded in a per-run rejected.geojson file with a reason code for transparency.
A community example of this in action: at post #65 a mapper asked why way 280834161 had not received a height. The answer at post #66 was that this building's b3_kwaliteitsindicator is false in the source, so we skipped it.
Phased Rollout Plan
This task was the full-scale automated import of building heights from the 3D BAG dataset into OSM for the Amsterdam municipality. The import was conducted in a phased rollout of 6 phases, completed between 11 and 24 June 2026, to:
- minimise risk,
- allow iterative validation,
- incorporate community feedback,
- ensure quality control at each stage.
Each phase was implemented as a dedicated sub-task covering a predefined geographic polygon, with a summary report published before the next phase started. All six phases completed on schedule, with zero buildings rejected by conflation rules and no reverts requested by the community.
Scope
- Source dataset: 3D BAG (LoD2.2)
- Target platform: OpenStreetMap
- Data type: Building height attribute enrichment (
height=*) - Coverage: Full Amsterdam area, including Schiphol Airport
Plan and Actuals
| Phase | Area | Planned buildings | Risk Level | Planned import date | Actual import date | Actual buildings tagged | Status | Forum post |
|---|---|---|---|---|---|---|---|---|
| 0 | Final validation + community announcement | — | — | 9.06 | 9.06 | — | Done | — |
| 1 | Amsterdam-Noord + Nieuw-West | 47,129 | Low | 11.06 | 11.06 | 47,047 | Done | Post #46 |
| 2 | Zuidoost + Westpoort + Weesp | 22,313 | Low / Medium | 15.06 | 15.06 | 22,366 | Done | Post #49 |
| 3 | Oost + West | 32,383 | Medium | 17.06 | 17.06 | 32,380 | Done | Post #61 |
| 4 | Zuid | 20,113 | Medium / High | 19.06 | 19.06 | 20,130 | Done | Post #62 |
| 5 | City Center | 14,115 | High | 22.06 | 22.06 | 14,098 | Done | Post #63 |
| 6 | Schiphol Airport area | 173 | Special case | 24.06 | 24.06 | 164 | Done | Post #64 |
Total across all six phases: 136,185 buildings tagged with height=*, zero rejected by conflation rules.
Acceptance Criteria (per phase)
- Automated import script runs successfully per phase in OSM
- No unintended overwrites of OSM data
- All edits are properly grouped into OSM changesets with comments
- Changes follow OSM import guidelines and tagging standards
- Each phase passes QC and OSM community review before proceeding to the next
Post-phase Reporting (published after every phase)
After completing each phase, the following summary was published on this wiki page and announced on the forum thread:
- List of OSM changeset IDs created during the import
- Number of successfully updated buildings
- Number of unsuccessfully updated buildings (with reason codes)
Phase 0 Pre-flight Checklist (was green before Phase 1)
| Check | Status |
| Final waiver signature received from TU Delft | Received 2 June 2026 |
| run_upload.py invoked with -y "3DBAG (TU Delft, 3D Geoinformation)" (default is survey - this was missing in Pilot 1) | Confirmed and enforced from Phase 1 onwards |
source:height:date=* value matches the actual 3D BAG release in use (2025-09-03)
|
Confirmed |
ref:bag=* zero-padding to 16 digits applied
|
Confirmed |
Pipeline never overwrites an existing height=* value
|
Confirmed |
| Phase 1 polygon boundaries finalised and committed to the repository | Confirmed |
| Community announcement of phased plan published on talk-nl and the NL forum | Confirmed |
Dependencies / Preparation
All preparation items for the phased rollout were in place ahead of execution. Rollout completed on 24 June 2026.
| Dependency | Status |
|---|---|
| Final validation completed (Phase 0) | Done |
| Import documented on OSM wiki at Organised Editing / TomTom / Global - Building Height Imports / Netherlands - 3D BAG Building Heights Import | Confirmed (this page) |
| Community announcement published on OSM forum | Confirmed. Bilingual (EN + NL) updates posted at each phase milestone, see Announcements timeline below. |
| Polygon definitions prepared and committed for each phase | Confirmed |
| TU Delft / 3DGI waiver signature received | Received 2 June 2026. Signed by 3DGI (Balázs Dukai, Co-Founder, 11 May 2026) and TU Delft 3D geoinformation research group (Machiel van Dorst, Prof.dr.ir., 2 June 2026). Public copy on this wiki; full signed copy held by TomTom and the OSMF Licensing Working Group. |
Editing Account
Edits are performed using a dedicated account, created to perform TomTom's automated edits. This ensures transparency, easy identification in object history, and separation from personal mapping.
Changeset comment example:
Added building heights from 3DBAG (TU Delft) — Amsterdam pilot #tomtom-osm #amsterdam-3dbag
Editor identifier: osm-bulk-upload/upload.py v. 2 (recorded in each changeset's created_by=* tag).
Revert Plan
If a problem is identified in any batch:
- Per-changeset revert is the default mitigation, using standard OSM revert tools.
- Larger reverts (multi-changeset) are coordinated with the Dutch community via the forum thread before action.
- The TTmechanicalupdates account is dedicated to these edits, so reverts can be scoped cleanly without affecting unrelated mapping.
Pilot Run
Two community-reviewed pilots have been completed by the dedicated TTmechanicalupdates account, totalling 535 buildings across 6 changesets.
Pilot 1 (5 May 2026)
A first community-reviewed pilot was completed in the Amsterdam test scope, covering 17 buildings across multiple polygons of the multipolygon test geometry (the scope spans Amsterdam West, Noord, Oost, Nieuw-West, and two polygons in the adjacent Almere municipality).
- Buildings tagged with
height=*: 17 - Total changesets: 5 (all closed 5 May 2026)
- Account: TTmechanicalupdates
- Comment on all 5 changesets: Added building heights from 3DBAG (TU Delft) — Amsterdam pilot #tomtom-osm #amsterdam-3dbag
- No unintended overwrites, no geometry changes, no new buildings
- Outcome: positive community feedback, no reverts required
Per-changeset breakdown
| Changeset | Ways | Notable buildings | Area |
|---|---|---|---|
| 182242209 | 3 | Villa Casparus (282067006), 282067419, 282067898 (all building=apartments) | Weesp (Villa Casparus = Slijkstraat 23) |
| 182242210 | 8 | 282072533 (yes); 282074427, 282074968, 282075692, 282075971, 282076135, 282076398, 282077021 (all house) | Residential terrace + 1 untyped building (area to verify) |
| 182242211 | 3 | 277347990, 277348027, 277348141 (all house) | Residential, separate OSM ID range from changeset 210 (likely different polygon) |
| 182242212 | 1 (relation) | Relation 11071468 v4 (building=apartments multipolygon) | Multipolygon building - confirms pipeline handles relations, not only ways |
| 182242215 | 2 | 371725529, 371725530 (both house) | 2 adjacent houses, yet another OSM ID range |
| Total | 17 |
Observations from the per-changeset audit
- Total verified: 16 ways + 1 multipolygon relation = 17 buildings, matching the announcement count exactly.
- Geographic spread confirmed: the modified objects span at least four distinct OSM ID ranges (277xxxxxx, 282xxxxxx, 371xxxxxx, and a multipolygon relation), which is consistent with the deliberately scattered 8-polygon test scope.
- Weesp polygon confirmed: Villa Casparus (way 282067006, Slijkstraat 23) sits in Weesp, confirming the test scope included buildings in the gemeente edge area.
- Multipolygon coverage confirmed: relation 11071468 (
building=apartments) was successfully tagged withheight=*- this validates that the pipeline correctly handlestype=multipolygonbuildings, not only ways. (Thetype=buildingrelation mentioned in the forum announcement was intentionally not modified.) - Building type mix: 4 apartments (including the multipolygon) + 12 house + 1 yes (untyped) = a representative mix of Dutch residential building tags.
- Why 5 changesets for 8 polygons: some polygons in the test scope produced zero modifications (because all their buildings already had
height=*or no matchingref:bag=*), and run_upload.py bundles writes by batch rather than one-changeset-per-polygon. This is expected behaviour.
Known issue with Pilot 1 changeset metadata
A review of the actual changeset tags on changeset 182242209 reveals that the per-changeset source=* value was uploaded as survey rather than the intended 3DBAG (TU Delft, 3D Geoinformation). This is the default value from osm-bulk-upload/upload.py when the -y flag is not supplied.
The other changeset metadata is correct:
created_by=osm-bulk-upload/upload.py✓import=yes✓- Comment with #tomtom-osm and #amsterdam-3dbag hashtags ✓
- Per-building
source:height=3DBAGon every modified way ✓
The actual data provenance is therefore still traceable via the per-building source:height=* and source:height:date=* tags, the changeset comment, the import=yes marker, and the account name.
Mitigation for future imports: the -y "3DBAG (TU Delft, 3D Geoinformation)" flag is now a mandatory parameter on every run_upload.pyMitigation for Pilot 1 historical changesets: to be discussed with the community on the forum thread - options include a corrective changeset note, a follow-up edit, or leaving as-is given that the actual source is already unambiguous from the other metadata.
Pilot 2 (Amsterdam-Zuid, 13 May 2026)
A second, larger pilot followed in Amsterdam-Zuid, covering the De Pijp / Rivierenbuurt area in tile 10-434-712. Community pre-announcement on 11 May 2026, import executed on 13 May 2026 (2-day notice window).
- Buildings tagged with
height=*: 518 - Changeset: 182589231 (single)
- Changeset comment: Added building heights from 3DBAG (TU Delft) — Amsterdam pilot #tomtom-osm #amsterdam-3dbag
- Closed: 13 May 2026
- Tile: 10-434-712
- Bounding box (WGS84): lat 52.35095 to 52.35538, lon 4.90419 to 4.91149
- Buildings already with
height=*(skipped): 0 - Height range: 3.0 m to 26.9 m, average 13.4 m
- Building type profile: 67% apartments, 18% house, 13% yes (untyped), 2% other (industrial / school / commercial / retail)
- Outcome: passed QC, no reverts required
Import Progress
Phase 1: Amsterdam-Noord and Nieuw-West (completed 11 June 2026)
The first phase of the import was uploaded on 11 June 2026 between 08:37 and 08:38 UTC. All 69 changesets uploaded with status ok. Quality checks are running on these buildings on 11 and 12 June.
| Item | Value |
|---|---|
| Area | Amsterdam-Noord + Nieuw-West |
| Edit account | TTmechanicalupdates |
| Import date | 11 June 2026 |
| Upload window | 08:37 to 08:38 UTC (about 1.4 minutes total) |
| Changesets | 69 |
| Changeset ID range | 183959445 to 183959576 |
Buildings with new height=* tag |
47,047 |
| Status | All 69 changesets uploaded with status ok. Quality checks on 11 and 12 June |
All Phase 1 edits are visible on the account history: TTmechanicalupdates edit history. The Phase 1 changesets carry the hashtags #tomtom-osm and #amsterdam-3dbag, so they are also discoverable through OSMCha and similar tool
Phase 2: Zuidoost, Westpoort and Weesp (completed 15 June 2026)
The second phase of the import was uploaded on 15 June 2026 between 08:03 and 08:04 UTC. All 45 changesets uploaded with status ok. Quality checks are running on these buildings on 15 and 16 June.
| Item | Value |
|---|---|
| Area | Zuidoost + Westpoort + Weesp |
| Edit account | TTmechanicalupdates |
| Import date | 15 June 2026 |
| Upload window | 08:03 to 08:04 UTC (about 51 seconds total) |
| Changesets | 45 |
| Changeset ID range | 184124371 to 184124442 |
Buildings with new height=* tag |
22,366 |
| Status | All 45 changesets uploaded with status ok. Quality checks on 15 and 16 June |
All Phase 2 edits are visible on the account history: TTmechanicalupdates edit history.
The Phase 2 changesets carry the hashtags #tomtom-osm and #amsterdam-3dbag, so they are also discoverable through OSMCha and similar tools.
Cumulative across Phase 1 and Phase 2: 69,413 Amsterdam buildings now carry a height=* tag from this import.
Phase 3: Oost and West (completed 17 June 2026)
The third phase of the import was uploaded on 17 June 2026 between 08:27 and 08:28 UTC. All 54 changesets uploaded with status ok. Quality checks are running on these buildings on 17 and 18 June.
| Item | Value |
|---|---|
| Area | Oost + West |
| Edit account | TTmechanicalupdates |
| Import date | 17 June 2026 |
| Upload window | 08:27 to 08:28 UTC (about 1 minute total) |
| Changesets | 54 |
| Changeset ID range | 184214797 to 184214893 |
Buildings with new height=* tag |
32,380 |
| Status | All 54 changesets uploaded with status ok. Quality checks on 17 and 18 June |
All Phase 3 edits are visible on the account history: TTmechanicalupdates edit history.
The Phase 3 changesets carry the hashtags #tomtom-osm and #amsterdam-3dbag, so they are also discoverable through OSMCha and similar tools.
Cumulative across Phase 1, Phase 2 and Phase 3: 101,793 Amsterdam buildings now carry a height=* tag from this import.
Phase 4: Zuid (completed 19 June 2026)
The fourth phase of the import was uploaded on 19 June 2026 between 10:00 and 10:01 UTC. All 39 changesets uploaded with status ok. Quality checks are running on these buildings on 19 and 20 June.
| Item | Value |
|---|---|
| Area | Zuid |
| Edit account | TTmechanicalupdates |
| Import date | 19 June 2026 |
| Upload window | 10:00 to 10:01 UTC (about 46 seconds total) |
| Changesets | 39 |
| Changeset ID range | 184307798 to 184307863 |
Buildings with new height=* tag |
20,130 |
| Status | All 39 changesets uploaded with status ok. Quality checks on 19 and 20 June |
All Phase 4 edits are visible on the account history: TTmechanicalupdates edit history.
The Phase 4 changesets carry the hashtags #tomtom-osm and #amsterdam-3dbag, so they are also discoverable through OSMCha and similar tools.
Cumulative across Phase 1, Phase 2, Phase 3 and Phase 4: 121,923 Amsterdam buildings now carry a height=* tag from this import.
Phase 5: City Center (completed 22 June 2026)
The fifth phase of the import was uploaded on 22 June 2026 between 08:14 and 08:15 UTC. All 35 changesets uploaded with status ok. Quality checks are running on these buildings on 22 and 23 June.
| Item | Value |
|---|---|
| Area | City Center |
| Edit account | TTmechanicalupdates |
| Import date | 22 June 2026 |
| Upload window | 08:14 to 08:15 UTC (about 40 seconds total) |
| Changesets | 35 |
| Changeset ID range | 184420128 to 184420182 |
Buildings with new height=* tag |
14,098 |
| Status | All 35 changesets uploaded with status ok. Quality checks on 22 and 23 June |
All Phase 5 edits are visible on the account history: TTmechanicalupdates edit history.
The Phase 5 changesets carry the hashtags #tomtom-osm and #amsterdam-3dbag, so they are also discoverable through OSMCha and similar tools.
Cumulative across Phase 1, Phase 2, Phase 3, Phase 4 and Phase 5: 135,921 Amsterdam buildings now carry a height=* tag from this import.
Phase 6: Schiphol Airport (completed 24 June 2026)
The sixth and final phase of the import was uploaded on 24 June 2026 between 11:41 and 11:42 UTC. All 7 changesets uploaded with status ok. Quality checks are running on these buildings on 24 and 25 June.
| Item | Value |
|---|---|
| Area | Schiphol Airport |
| Edit account | TTmechanicalupdates |
| Import date | 24 June 2026 |
| Upload window | 11:41 to 11:42 UTC (about 3 seconds total) |
| Changesets | 7 |
| Changeset ID range | 184519572 to 184519580 |
Buildings with new height=* tag |
164 |
| Status | All 7 changesets uploaded with status ok. Quality checks on 24 and 25 June |
All Phase 6 edits are visible on the account history: TTmechanicalupdates edit history.
The Phase 6 changesets carry the hashtags #tomtom-osm and #amsterdam-3dbag, so they are also discoverable through OSMCha and similar tools.
Cumulative across all six phases: 136,185 Amsterdam buildings now carry a height=* tag from this import. This phase concludes the Amsterdam 3DBAG building heights phased rollout.
Community Engagement and Announcements
This import has been openly developed in consultation with the Dutch OpenStreetMap community from the start. All announcements have been made in Nederlands, but some can be bilingual including English on the OSM Community Forum.
Forum thread
Primary consultation channel:
Announcements timeline
| Date | Forum post | Subject | Posted by |
|---|---|---|---|
| 5 May 2026, 16:14 UTC | Post #23 | Pilot 1 announcement - 17 buildings, 8 multipolygons across Amsterdam gemeente including Weesp, 5 changesets (182242209, 182242210, 182242211, 182242212, 182242215). Import executed same day. Full test scope GeoJSON attached. | sbaido |
| 11 May 2026, 10:57 UTC | Post #34 | Pilot 2 pre-announcement - 518 buildings in Amsterdam-Zuid (De Pijp / Rivierenbuurt), tile 10-434-712, height tags only on existing OSM buildings, no geometry changes. CSV and visual context PNG attached. Revert promise reaffirmed. Import executed 13 May 2026 (changeset 182589231). | sbaido |
| 22 May 2026, 19:32 UTC | Post #36 | Phased rollout announcement - 6-phase plan for full Amsterdam coverage (~136K buildings). To be posted once the TU Delft / 3DGI waiver is fully signed (or partially signed if a green light is given). | sbaido |
| 3 June 2026 | Post #42 | Waiver signed + rollout proceeding - Bilingual (EN + NL) announcement confirming the CC BY 4.0 waiver was fully signed by 3DGI (11 May 2026) and TU Delft 3D geoinformation research group (2 June 2026). Public copy of the signed waiver uploaded to the OSM wiki. Phased rollout for Amsterdam to proceed as previously outlined. | sbaido |
| 11 June 2026, 10:46 UTC | Post #46 | Phase 1 completed - Bilingual (EN + NL) update confirming Phase 1 import done on 11 June 2026. 47,047 buildings tagged with new height tag across 69 changesets (183959445 to 183959576) in Amsterdam-Noord + Nieuw-West. 0 buildings skipped by conflation rules. Quality checks running 11 to 12 June. Phase 2 (Zuidoost + Westpoort + Weesp) planned for 15 June. | sbaido |
| 15 June 2026, 10:34 UTC | Post #49 | Phase 2 completed - Bilingual (EN + NL) update confirming Phase 2 import done on 15 June 2026. 22,366 buildings tagged with new height tag across 45 changesets (184124371 to 184124442) in Zuidoost + Westpoort + Weesp. Quality checks running 15 to 16 June. Cumulative across Phase 1 and Phase 2: 69,413 buildings. Phase 3 (Oost + West) planned for 17 June. | sbaido |
| 17 June 2026, 10:49 UTC | Post #61 | Phase 3 completed - Bilingual (EN + NL) update confirming Phase 3 import done on 17 June 2026. 32,380 buildings tagged with new height tag across 54 changesets (184214797 to 184214893) in Oost + West. Quality checks running 17 to 18 June. Cumulative across Phase 1, Phase 2 and Phase 3: 101,793 buildings. Phase 4 (Zuid) planned for 19 June. | sbaido |
| 19 June 2026, 10:00 UTC | Post #62 | Phase 4 completed - Bilingual (EN + NL) update confirming Phase 4 import done on 19 June 2026. 20,130 buildings tagged with new height tag across 39 changesets (184307798 to 184307863) in Zuid. Quality checks running 19 to 20 June. Cumulative across Phase 1, Phase 2, Phase 3 and Phase 4: 121,923 buildings. Phase 5 (City Center) planned for 22 June. | sbaido |
| 22 June 2026, 08:14 UTC | Post #63 | Phase 5 completed - Bilingual (EN + NL) update confirming Phase 5 import done on 22 June 2026. 14,098 buildings tagged with new height tag across 35 changesets (184420128 to 184420182) in City Center. Quality checks running 22 to 23 June. Cumulative across Phase 1, Phase 2, Phase 3, Phase 4 and Phase 5: 135,921 buildings. Phase 6 (Schiphol Airport) planned for 24 June. | sbaido |
| 24 June 2026, 11:41 UTC | Post #64 | Phase 6 completed - Bilingual (EN + NL) update confirming Phase 6 import done on 24 June 2026. 164 buildings tagged with new height tag across 7 changesets (184519572 to 184519580) in Schiphol Airport. Quality checks running 24 to 25 June. Cumulative across all six phases: 136,185 buildings. Phased rollout complete. | sbaido |
| 25 June 2026, 06:23 UTC | Post #65 | Community question on missing heights - community member asked why height data appeared to be missing on some buildings after the rollout, citing way 280834161 as an example. | Taya Snijder |
| 25 June 2026 | Post #66 | Reply to community question - explained that way 280834161 was skipped because the 3DBAG source itself flags the building's reconstructed height as not reliable (b3_kwaliteitsindicator = false). When the source is not confident, we defer to its judgement and skip the building. | sbaido |
Engagement principles
- At least in Dutch and/or Bilingual: every announcement posted should be in Dutch (primary) and English if needed.
- Pre-announcement: each pilot is announced before the import runs, with scope, source, account, and revert plan stated up front.
- Attachments: every announcement includes a machine-readable scope file (GeoJSON or CSV) so the community can independently verify the exact buildings affected (when possible).
- Revert commitment: every announcement repeats the per-changeset revert commitment in line with the OSM Import Guidelines and the Automated Edits Code of Conduct.
Current Status
- Date of this update: 24 June 2026
- Phase: Phased rollout complete. Phases 1, 2, 3, 4, 5 and 6 all done.
- Cumulative progress: 136,185 Amsterdam buildings have received a
height=*tag from this import across all six phases. Zero buildings skipped by conflation rules to date. - License process: Complete. CC BY 4.0 waiver signed by both rights holders:
- 3DGI: Balázs Dukai, Co-Founder. Signed 11 May 2026.
- TU Delft 3D geoinformation research group: Machiel van Dorst, Prof.dr.ir. Signed 2 June 2026.
- Public copy of the signed waiver: 3DBAG CC BY 4.0 waiver, signed 2 June 2026. Full signed copy held by TomTom and the OSMF Licensing Working Group.
- Next steps:
- Quality checks and community review window stay open
- Document lessons learned for the wider TomTom programme
Contact
- Project lead: Salim Baidoun (TomTom)
Feedback, questions, and concerns are welcome via the OSM community forum thread