Productbeschrijving 3D basisvoorziening

Geonovum Algemeen
Document

Deze versie:
https://docs.geostandaarden.nl/3dbv/basis-al-prod-20200716/
Laatst gepubliceerde versie:
https://docs.geostandaarden.nl/3dbv/prod/
Laatste werkversie:
https://geonovum.github.io/3dbasisvoorziening/
Redacteur:
Linda van den Brink, Geonovum
Auteurs:
Vincent van Altena, Kadaster
Tony Baving, Kadaster
Willem van Hinsbergh, Kadaster
Marc Post, Kadaster
Bertjan Zwerver, Kadaster
Jantien Stoter, Kadaster, TU Delft
Tom Commandeur, TU Delft
Balázs Dukai, TU Delft
Ravi Peters, TU Delft
Doe mee:
GitHub geonovum/3dbasisvoorziening
Dien een melding in
Revisiehistorie
Pull requests
Rechtenbeleid:

Samenvatting

Dit document bevat de productbeschrijving van het 3D Basisbestand. Dit bestand bestaat uit drie producten en is momenteel in ontwikkeling bij het Kadaster. Hoewel het 3D Basisbestand nog niet geheel gereed is, werken we wel alvast aan deze productbeschrijving.

Het 3D Basisbestand bevat driedimensionale topografische objecten voor heel Nederland. Het is een afgeleid product. Het is géén 3D BAG of 3D BGT, hoewel deze basisregistraties wel als bron voor dit afgeleide product zijn gebruikt. Het is ook geen authentieke bron voor deze data.

Deze productbeschrijving beschrijft de inhoud van het 3D Basisbestand, de voorwaarden waaronder het tot stand is gekomen, inclusief aspecten zoals kwaliteit en actualiteit, en het uitwisselingsformaat. Deze productbeschrijving is géén standaard, maar mag wel als eerste input voor een toekomstige 3D standaard worden beschouwd.

Samenvatting

Status van dit document

Deze paragraaf beschrijft de status van dit document ten tijde van publicatie. Het is mogelijk dat er actuelere versies van dit document bestaan. Een lijst van Geonovum publicaties en de laatste gepubliceerde versie van dit document zijn te vinden op https://www.geonovum.nl/geo-standaarden/alle-standaarden.

Dit is een document zonder officiële status.

Geonovum schrijft deze productbeschrijving in opdracht van het Kadaster. Het doel is om een beschrijving te maken die kan dienen als een bèta 3D standaard. Dit is ook de reden dat Geonovum betrokken is: om vanuit haar netwerk input mee te nemen van anderen die met 3D bestanden bezig zijn, om te komen tot een framework voor het beschrijven van 3D bestanden, en om issues, die te maken hebben met hoe geometrie in 2D input-bestanden is gemodelleerd, mee terug te nemen naar de 2D standaarden.

1. Inleiding

3D-stadsmodellen (en 3D terreinmodellen) worden steeds meer gebruikt bij het plannen en beheren van onze leefomgeving. Recente ontwikkelingen in technieken voor het inwinnen van 3D-hoogte-informatie, LiDAR en fotogrammetrie, hebben het relatief eenvoudig gemaakt om 3D-stadsmodellen automatisch te reconstrueren en deze data te gebruiken voor bijvoorbeeld planning en omgevingssimulaties.

De huidige 3D stadsmodellen die door verschillende organisaties worden geproduceerd, verschillen echter nog steeds sterk vanwege verschillen in acquisitiemethoden, verschillen in applicaties waarvoor de 3D-gegevens worden ingewonnen, verschillen in datastructuren, formaten enz.

Daarom verschillen 3D-stadsmodellen (die meer omvatten dan 3D-gebouwen) vaak sterk van elkaar. Bovendien is er doorgaans geen plan om de eenmaal gegenereerde gegevens actueel te houden. Het gevolg is dat 3D-stadsmodellen geen deel uitmaken van de reguliere gegevensinfrastructuren en deze gegevens worden daardoor nog steeds onvoldoende gebruikt in besluitvormingsprocessen van de overheid.

Om actuele 3D-gegevens over grootschalige topografie uniform beschikbaar te hebben voor diverse overheidsprocessen, zou deze, vanuit technisch oogpunt, het beste kunnen worden ingewonnen als onderdeel van de BGT en BAG en de verantwoordelijkheid zijn van al deze verschillende bronhouders. Maar op dit moment is het niet haalbaar en ook niet wenselijk voor alle BAG en BGT bronhouders om aanvullende 3D-gegevens te verzamelen.

Daarom heeft het Kadaster een 3D basisvoorziening ingericht om, vooruitlopend op een 3D BAG/BGT in de (verre) toekomst, actuele 3D gegevens voor heel Nederland beschikbaar te stellen. In deze voorziening worden 3D basisgegevens gereconstrueerd op basis van BGT en BAG. Dit gebeurt op een volledig automatische wijze. De 3D gegevens worden landsdekkend gereconstrueerd en beschikbaar gesteld in de open standaard CityJSON via PDOK. De 3D basisvoorziening die we in zomer 2020 beschikbaar stellen, is gebaseerd op zowel puntenwolken gegenereerd uit luchtfoto’s (inwin jaar 2018) als AHN3 (ingewonnen tussen 2014 en 2019). De 3D basisvoorziening zorgt ook voor beheer en periodieke updates, die aansluit op andere informatie-initiatieven zoals Dis-Geo en de Samenhangende Object Registratie (SOR).

Dit is een eerste versie van het 3D Basisbestand Volledig. We zijn benieuwd naar de gebruikerservaringen en de mogelijke onvolkomenheden om het bestand te verbeteren.

1.1 De 3D Basisvoorziening

De 3D Basisvoorziening bestaat uit drie producten die allemaal automatisch worden gegenereerd:

  1. het 3D Basisbestand Volledig (combinatie van LoD1.2 gebouwen + terrein (en bruggen))
  2. het 3D Basisbestand Gebouwen (LoD1.3, met daaraan gekoppeld attributen die de kwaliteit van ieder gebouwmodel beschrijven)
  3. het 3D Hoogtestatistieken Gebouwen
Noot
Figuur 1 visualisatie van data uit het 3D Basisbestand Volledig

Het product 3D Basisbestand Volledig (een combinatie van LoD1.2 gebouwen + terrein (en bruggen)) dat nu beschikbaar is, bestaat uit terreinvlakken, gegenereerd uit BGT maaiveld-objecten met in het terrein geïntegreerde gebouwen.

Figuur 2 gereconstrueerde brugvlakken

De gebouwen in dit product worden gegenereerd door de BAG-geometrie van het gebouw op te trekken tot een enkele hoogte, d.w.z. de zogenaamde LoD1.2-weergave, zie onderstaande figuur.

Figuur 3 Levels of Detail voor gebouwen ( F. Biljecki, yyyy)

Het horizontale grondvlak van de gebouwmodellen is altijd ingesteld op het laagste snijpunt met het maaiveld om te voorkomen dat het gebouw gaat zweven. De twee andere producten worden later dit jaar beschikbaar gesteld. Het 3D Basisbestand Gebouwen bevat blok-modellen waarbij aanzienlijke hoogtesprongen binnen een gebouw in het model worden onderscheiden (conform LoD1.3). Denk bijvoorbeeld aan een kerk met met een toren of een huis met een aangebouwde schuur.

Het product 3D Hoogtestatistieken Gebouwen bevat de 2D BAG-geometrieën van gebouwen waaraan verschillende hoogte-waarden zijn toegekend. Deze verschillende hoogte-waarden representeren verschillende referentiehoogten die berekend worden op basis van verschillende statistische parameters van de hoogtepunten die zich binnen een BAG polygoon bevinden. Afhankelijk van de toepassing kan een gebruiker beslissen welke referentiehoogte moet worden gebruikt om het 3D model te reconstrueren. Het bestand 3D Hoogtestatistieken Gebouwen komt zowel voor LoD1.2 als voor LoD1.3 beschikbaar. In dat laatste geval is de geometrie opgeknipt in verschillende delen op basis van hoogtesprongen.

2. Semantisch model

De data wordt semantisch gemodelleerd volgens de klassen van CityJSON (zie hoofdstuk 4). CityJSON bevat de volgende klassen waar de gebruikte BGT en BAG klassen onder vallen:

De oorspronkelijke BAG en BGT attributen zijn nog aanwezig samen met enkele andere extra attributen die nodig zijn voor het proces. Zo is voor de BAG een extra attribuut gecreëerd om na validatie van de vlakken het oorspronkelijke BAG ID weer terug te zetten.

De brugdelen van de BGT zijn samengevoegd voor het proces en komen dus niet meer overeen met de delen in de BGT.

Voor het reconstrueren van gebouwen is gekozen voor de BAG omdat de BAG geometrien de gebouwen van bovenaf modelleren en het meest geschikt is om op te trekken op basis van hoogtes uit luchtfoto’s (die ook van bovenaf worden ingewonnen).

BAG-panden en omringende BGT-terreinen sluiten topologisch niet altijd. Om toch een waterdicht terrein te hebben, is het BGT pand object meegenomen als terrein (als BGT pand object gemodelleerd met een 3D vlak).

3. Methodes van inwinning, voorbewerking en reconstructie

Voor het reconstrueren van de 3D data is gebruik gemaakt van 2D geometrieën uit de BAG, BGT en van hoogte die gebaseerd is op puntenwolken. Voor het vervaardigen van puntenwolken worden luchtfoto’s uit de winter van 2018 gebruikt. Aangezien bronhouders van de BGT en de BAG ook gebruik maken van deze luchtfoto’s om hun bestanden te actualiseren, hebben we een latere peildatum voor de BAG en BGT gekozen. Daarmee streven we naar een zo klein mogelijk actualiteitsverschil tussen de hoogtepunten en 2D geometrieën, zie Tabel 1.

Tabel 1: actualiteit en toepassing van de brondata

Brondata Toepassing Peildatum / inwinperiode
BGT Terrein 01-01-2019
BAG Gebouwen 01-01-2019
Luchtfoto's hoogtepunten winter 2018

3.1 Voorbewerking van BAG en BGT

Om de geometrieën van de BAG en de BGT als input te kunnen gebruiken voor het automatische reconstructie proces zijn een aantal voorbewerkingen uitgevoerd om de objecten te valideren en daarnaast te verrijken met informatie of geometrisch te integreren met omliggende objecten. Hierbij moet worden opgemerkt dat niet alle geometrische bewerkingen correcties zijn op de BGT, maar dat het gaat om het geschikt maken van de data voor het 3D reconstructieproces. Hierdoor zijn de 2D objecten niet altijd meer dezelfde als in de oorspronkelijke BGT en BAG.

De belangrijkste geometrische bewerkingen zijn:

Om de objecten te integreren met hun omgeving worden twee bewerkingen uitgevoerd:

Noot

3.2 Het genereren van de puntenwolken

Voor de reconstructie van 2D naar 3D is hoogte nodig voor de hoogtebepaling van BAG-panden en voor de hoogtebepaling van de maaiveld objecten (BGT). Deze hoogte wordt door middel van semi-global matching verkregen. Deze techniek wordt toegepast op de stereofoto’s die ingewonnen worden in de landelijke voorziening beeldmateriaal. Deze voorziening koopt voor de overheidspartijen in Nederland landsdekkend beeldmateriaal in voor het bijhouden van de basisregistraties BAG, BGT en BRT. Voor de hoogtebepaling uit beeldmateriaal worden de stereofoto’s van de wintervlucht gebruikt.

Tabel 2: kenmerken stereofoto’s 2018

Kenmerk waarde toelichting
Ground Sampling Distance (GSD) 10cm
Overlap in de strook 60%
Overlap tussen de stroken 30%
Vlieghoogte +/- 1700m groot deel van Nederland
+/- 4300m westelijk Nederland rondom Schiphol

De nauwkeurigheid van de resulterende hoogte wordt onder andere door de overlap in de strook en de vlieghoogte bepaald. Voor punten die worden gegenereerd uit luchtfoto’s ingewonnen op een vlieghoogte van 1700m is dat 15cm; voor punten gebaseerd op beelden ingewonnen op een vlieghoogte van 4300m is dat 35cm (sigma-1).

In een tweede stap wordt er een Digital Surface Model (DSM) gegenereerd op basis van de verkregen puntenwolken. Dit 2.5D model bevat voor elke gedefinieerde pixel in het grid één hoogtewaarde. Deze waarde wordt bepaald door de meest betrouwbare hoogste waarde te nemen. Gekozen is voor een pixelmaat van 20cm. Dus elke m2 bevat maximaal 25 punten. De nodata gebieden worden niet geïnterpoleerd.

Als laatste stap wordt het DSM geclassificeerd in de klassen gebouw, water, bruggen, hoge vegetatie, ground en not classified (de rest). Hierbij wordt voor water en bruggen gebruik gemaakt van BGT polygonen, voor gebouwen van BAG polygonen. De classificatie van hoge vegetatie maakt gebruikt van de infrarood gegevens van de lage resolutie zomervlucht van de LV Beeldmateriaal. Wanneer de ground detectie niet in staat is om maaiveld te detecteren in bosgebieden wordt data uit het AHN gebruikt. De klasse ground (ook wel aan te duiden met Digital Terrain Model (DTM)) wordt uitgedund naar 4 punten per m2.

Nu is de puntenwolk geschikt om in de reconstructie te gebruiken met 3Dfier om van 2D geometrieën uit de BAG/BGT 3D versies te genereren.

3.3 3D reconstructie met 3dfier

Voor de hoogte-toekenning aan de BGT maaiveld objecten gebruiken we de open source software 3dfier. Deze software is ontwikkeld in een samenwerking tussen Kadaster en de 3D geoinformation group van de TU Delft en kan voor verschillende scenario’s ingezet worden.

Noot

De software genereert automatisch 3D-representaties op basis van 2D-topografie en puntenwolken en houdt daarbij ook rekening met de semantiek van elke polygoon. De opgetrokken polygonen worden aan elkaar "gestikt" zodat één digitaal oppervlaktemodel wordt gereconstrueerd.

Noot
Figuur 4 een landsdekkend waterdicht terreinmodel met gebouwvolumes

Hiermee wordt een landsdekkend waterdicht 3D terreinmodel verkregen, zonder overlap en gaten, waarbij BGT-gebouwen geïntegreerd zijn in het maaiveld om dit “dicht te rekenen”. Dit 3D terreinmodel kan vervolgens worden gebruikt als input voor bijvoorbeeld simulatiesoftware.

De LoD1.2 gebouwen zijn gereconstrueerd op basis van hun BAG geometrie en de 3D puntenwolk, waarbij een maximale en minimale hoogte is gebruikt om een volume te construeren. De maximale hoogte is bepaald op basis van het 90 percentiel van de hoogtepunten die binnen een BAG geometrie vallen. Om te voorkomen dat gebouwen boven het maaiveld zweven wordt het laagste punt in het maaiveld dat door de BAG geometrie geraakt wordt gebruikt voor de bepaling van de hoogte van het grondvlak.

4. Data-formaat en beschikbaarstellen

4.1 Data-formaat

De 3D data wordt beschikbaar gesteld in CityJSON, dit is een JSON codering van het CityGML gegevensmodel (versie 2.0.0). CityGML is een open standaard en uitwisselingsformaat om digitale 3D-modellen van steden en landschappen te definiëren. CityGML is een officiële standaard van het Open Geospatial Consortium (OGC).

Noot

CityJSON beschrijft zowel de geometrie als de semantiek van de meest gebruikte 3D-objecten (zoals gebouwen, wegen, rivieren, bruggen, vegetatie en stadsmeubilair) en legt daarbij de relaties tussen objecten vast. Het definieert ook verschillende standaard LoDs voor de 3D-objecten, waardoor meerdere detailniveaus van objecten voor uiteenlopende toepassingen en doeleinden kunnen worden weergegeven.

CityJSON is ontwikkeld om programmeurs optimaal te faciliteren in het lezen en editen van 3D datasets door middel van tools en API's. Omdat met name bij web- en mobiele toepassingen snelheid van belang is, is een CityJSON-object zo compact mogelijk beschreven, waarbij alle voor het object relevante informatie volgens de CityGML behouden wordt.

Noot

4.2 Beschikbaarheid

Het 3D Basisbestand Volledig is beschikbaar via een downloadservice op PDOK. Hier kunnen de bestanden gedownload worden door middel van tegels (5km x 6km) die worden aangeboden door selectie op een geïndexeerde kaart.

Objecten die in meerdere tiles vallen zijn weggeschreven in alle tiles waartoe zij behoren. Dit is gedaan om ervoor te zorgen dat een gebruiker niet naar de tile op zoek hoeft waarin een object dat een tile-grens kruist zich bevindt. De gekozen tile-grootte sluit aan bij de kaartbladindeling van BRT (en AHN). Deze grootte van vooraf gedefinieerde tiles is een keuze waarbij soms tussen verschillende “kwaden” moet worden besloten: hoe kleiner de tile-size hoe beter de data te hanteren is. Maar hoe kleiner de tile size, hoe meer objecten er in meerdere tile vallen, dus hoe groter het datavolume. Een kleine tile-size heeft ook als nadeel dat meer objecten over meerdere tiles heenlopen.

Later wordt de beschikbaarheid op PDOK mogelijk uitgebreid met een 3D viewer en indien haalbaar zal de service ook downloads op basis van een willekeurig interessegebied gaan ondersteunen. Met dat laatste zal het redundant wegschrijven resulterend in enorme datavolumes zijn opgelost, omdat tiles on the fly (“on user request”) zullen worden gegenereerd.

Later dit jaar zullen ook het 3D Basisbestand Gebouwen en de 3D Hoogtestatistieken Gebouwen als downloads beschikbaar gesteld worden op PDOK.

5. Bijlage: gebruikte parameters voor 3Dfier

Voor het maken van de 3D Basisvoorziening is gebruik gemaakt van de volgende parameters voor 3Dfier:

lifting_options: 
  Building:
    lod: 1
    floor: true
    inner_walls: true
    triangulate: false
    ground:
      height: percentile-10
      use_LAS_classes:
        - 2
        - 9
    roof:
      height: percentile-90
      use_LAS_classes:
        - 6
  Terrain:
    simplification: 0
    simplification_tinsimp: 0.1
    use_LAS_classes:
      - 2
  Forest:
    simplification: 0
    simplification_tinsimp: 0.1
    use_LAS_classes:
      - 2
  Water:
    height: percentile-10
    use_LAS_classes_within:
      - 9
  Road:
    height: percentile-50
    filter_outliers: true
    flatten: true
    use_LAS_classes:
      - 2
  Separation:
    height: percentile-80
    use_LAS_classes:
      - 2
      - 17
  Bridge/Overpass:
    height: percentile-50
    flatten: true
    use_LAS_classes:
      - 99   
    use_LAS_classes_within:
      - 17
    omit_LAS_classes:
      - 0 # unclassified
      - 1 # other
      - 3 # vegation
      - 4 # vegation
      - 5 # vegation 
    thinning: 0
options:
  building_radius_vertex_elevation: 3.0
  radius_vertex_elevation: 1.0
  threshold_jump_edges: 0.5
  threshold_bridge_jump_edges: 1.0
  stitching: true