Productbeschrijving 3D basisvoorziening

Geonovum Algemeen
Document

Deze versie:
https://docs.geostandaarden.nl/3dbv/basis-al-prod-20200903/
Laatst gepubliceerde versie:
https://docs.geostandaarden.nl/3dbv/prod/
Vorige versie:
https://docs.geostandaarden.nl/3dbv/basis-al-prod-20200716/
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 beschikbaar bij het Kadaster in de 3D Basisvoorziening. 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 geen standaard, maar mag wel als eerste input voor een toekomstige 3D standaard worden beschouwd. 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.

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.

Deze productbeschrijving is geschreven onder redactie van Geonovum in opdracht van het Kadaster.

1. Inleiding

Driedimensionale (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, bestandsformaten, enzovoort.

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 (dat wil zeggen, zeer gedetailleerde) topografie uniform beschikbaar te hebben voor diverse overheidsprocessen, zou deze, vanuit technisch oogpunt, het beste kunnen worden ingewonnen als onderdeel van de Basisregistratie Grootschalige Topografie (BGT) en Basisregistratie Adressen en Gebouwen (BAG) onder de verantwoordelijkheid van de verschillende bronhouders van deze gegevens. 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. De 3D basisgegevens in deze voorziening zijn gereconstrueerd op basis van BGT en BAG. Dit gebeurt op een volledig automatische wijze. De 3D gegevens worden landsdekkend, dat wil zeggen voor heel Nederland, gereconstrueerd en beschikbaar gesteld in de open standaard CityJSON via het overheidsplatform voor open geoinformatie, PDOK. De 3D basisvoorziening die in de zomer van 2020 beschikbaar is gekomen, is gebaseerd op zowel puntenwolken gegenereerd uit luchtfoto’s (ingewonnen in 2018) als Actueel Hoogtebestand Nederland (AHN) versie 3 (ingewonnen tussen 2014 en 2019). De 3D basisvoorziening zorgt ook voor beheer en periodieke updates van de 3D gegevens, en sluit daarbij aan op andere informatie-initiatieven zoals Doorontwikkeling in Samenhang (DiSGeo) en de daarbij behorende samenhangende objectenregistratie (SOR).

Dit document beschrijft 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: een combinatie van LoD1.2 gebouwen, terrein en bruggen.
  2. Het 3D Basisbestand Gebouwen: LoD1.3 gebouwen, met daaraan gekoppeld attributen die de kwaliteit van ieder gebouwmodel beschrijven.
  3. Het 3D Hoogtestatistieken Gebouwen: tweedimensionale (2D) gebouwen waaraan verschillende hoogte-waarden zijn toegekend.
Noot

1.1.1 3D Basisbestand Volledig

Figuur 1 visualisatie van data uit het 3D Basisbestand Volledig

Het product 3D Basisbestand Volledig, een combinatie van LoD1.2 gebouwen met terrein en bruggen, 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, de zogenaamde LoD1.2-weergave (zie onderstaande figuur). Het horizontale grondvlak van de gebouwmodellen is altijd ingesteld op het laagste snijpunt met het maaiveld om te voorkomen dat het gebouw gaat zweven.

Figuur 3 Levels of Detail voor gebouwen (F. Biljecki, An improved LOD specification for 3D building models)

1.1.2 3D Basisbestand Gebouwen

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.

Dit product wordt later in 2020 beschikbaar gesteld.

1.1.3 3D Hoogtestatistieken Gebouwen

Het product 3D Hoogtestatistieken Gebouwen bevat de 2D BAG-geometrieën van gebouwen waaraan verschillende hoogte-waarden zijn toegekend, zoals hoogste dakrand. 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.

Dit product wordt later in 2020 beschikbaar gesteld.

2. Semantisch model

De data die in de 3D basisvoorziening beschikbaar wordt gesteld, volgt het semantisch model zoals gedefinieerd in CityGML 2.0 en gebruikt door CityJSON (zie Hoofdstuk 4). CityJSON bevat de volgende klassen waar de gebruikte BGT en BAG klassen onder vallen:

De oorspronkelijke BAG en BGT gegevens zijn nog aanwezig samen met enkele andere extra attributen die nodig zijn voor het ontwikkelproces van de 3D bestanden. Zo is voor de BAG een extra attribuut gecreëerd om na controle van de vlakken het oorspronkelijke BAG ID opnieuw toe te voegen aan elk object.

De brugdelen van de BGT zijn samengevoegd tot één brugobject en komen dus niet meer overeen met de afzonderlijke delen van de brug, zoals die in de BGT zijn opgenomen.

Voor het maken van de 3D geometrie van gebouwen is de BAG als basis genomen, omdat de BAG geometriën de gebouwen van bovenaf modelleren en het meest geschikt zijn 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 perfect op elkaar aan. Hierdoor kunnen gaten ontstaan in het terrein model, wat kan leiden tot een onjuiste 3D-reconstructie van een gebouw. Om dit op te lossen is de BGT representatie van de panden toegevoegd aan de terreinobjecten. Hierdoor ontstaat een gesloten terreinmodel.

3. Methodes van inwinning, voorbewerking en reconstructie

Voor het reconstrueren van de 3D data is gebruik gemaakt van 2D geometrieën uit de BAG en BGT en van hoogtegegevens die verkregen zijn uit puntenwolken. Voor het vervaardigen van puntenwolken zijn 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. Dit zorgt voor een zo klein mogelijk actualiteitsverschil tussen de hoogtegegevens en 2D geometrieën. Zie Tabel 1 voor meer informatie.

Tabel 1: actualiteit en toepassing van de brondata

Brondata Toepassing Peildatum / inwinperiode
BGT Terrein 01-01-2019
BAG Gebouwen 01-01-2019
Luchtfoto's hoogtegegevens winter 2018
Luchtfoto's infraroodgegevens ten behoeve classificatie van hoge vegetatie zomer 2018

3.1 Voorbewerking van BAG en BGT

Om de objecten uit de BAG en de BGT als input te kunnen gebruiken voor het automatische reconstructieproces zijn een aantal voorbewerkingen uitgevoerd. Hierbij werden de objecten gevalideerd en verrijkt met informatie. Waar nodig werden de geometrieën van de objecten geïntegreerd met de geometrie van 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 geometrische 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 zijn hoogtegegevens nodig voor twee dingen: voor de hoogtebepaling van BAG-panden, en voor de hoogtebepaling van de maaiveldobjecten (BGT). Deze hoogte wordt verkregen door het toepassen van semi-global matching 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 de Basisregistratie Topografie (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).

Noot

In een tweede stap wordt er een Digital Surface Model (DSM), een digitaal model van het aardoppervlak van Nederland, gegenereerd op basis van de verkregen puntenwolken. Dit DSM is een 2.5D hoogtemodel dat wordt opgeslagen als een grid met een pixelmaat van 20 centimeter. Elke pixel in dit grid krijgt in principe één hoogtewaarde die wordt bepaald door de meest betrouwbare hoogste waarde te nemen. Voor sommige pixels is het echter niet mogelijk om de hoogtewaarde vast te stellen (bijvoorbeeld door reflectie op water of schaduwen op een gebouw). Voor deze pixels wordt geen interpolatie toegepast. Hierdoor bevat elke vierkante meter van het DSM maximaal 25 hoogtewaarden.

Als laatste stap wordt het DSM automatisch geclassificeerd in de categorieën gebouw, water, bruggen, hoge vegetatie, ground en de restcategorie not classified. Hierbij wordt voor water en bruggen gebruik gemaakt van BGT polygonen en voor gebouwen van BAG polygonen. Voor de classificatie van hoge vegetatie is gebruik gemaakt van de infraroodgegevens van de lage resolutie zomervlucht van de Landelijke Voorziening Beeldmateriaal. In bosgebieden, waar het maaiveld niet automatisch kan worden gedetecteerd, wordt data uit het AHN gebruikt. De categorie ground (ook wel aan te duiden met Digital Terrain Model (DTM)) wordt uitgedund naar 4 punten per vierkante meter.

Na deze stappen is de puntenwolk geschikt als input voor de 3Dfier software, zodat 3D geometrieën uit de 2D geometrieën van de BAG/BGT kunnen worden gegenereerd.

3.3 3D reconstructie met 3dfier

Voor het toekennen van hoogte aan de BGT maaiveldobjecten gebruiken we de open source software 3dfier. Deze software is ontwikkeld in een samenwerking tussen Kadaster en de 3D geoinformation vakgroep 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 (i.e. aansluitend) 3D terreinmodel verkregen, zonder overlap en gaten, waarbij BGT-gebouwen geïntegreerd zijn in het maaiveld. 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 3D volumegeometrie 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).

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 bewerken van 3D datasets door middel van tools en APIs. 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 conform CityGML behouden blijft.

Noot

4.2 Beschikbaarheid

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

Objecten die in meerdere tegels vallen zijn weggeschreven in alle tegels waartoe zij behoren. Dit is gedaan om ervoor te zorgen dat een gebruiker niet naar de tegel hoeft te zoeken waarin een object dat een tegelgrens kruist, zich bevindt. De gekozen tegelgrootte sluit aan bij de kaartbladindeling van BRT (en AHN).

Deze grootte van vooraf gedefinieerde tegels is een keuze met voor- en nadelen: hoe kleiner de tegelgrootte, des te kleiner het bestand, waardoor de data beter te hanteren is. Maar bij een kleine tegelgrootte vallen er meer objecten in meerdere tegels, waardoor het totale datavolume dat wordt aangeboden groter is. Een kleine tegelgrootte heeft daarnaast als nadeel dat meer objecten over meerdere tegels heen lopen.

In een later stadium wordt de beschikbaarheid op PDOK mogelijk uitgebreid met een 3D viewer. Indien haalbaar zal de service ook downloads op basis van een willekeurig interessegebied gaan ondersteunen. Met dat laatste zal het redundant wegschrijven van tegels, resulterend in enorme datavolumes, zijn opgelost omdat tegels on the fly (i.e. op het moment van opvragen) zullen worden gegenereerd.

In de loop van 2020 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