BGT Citygml files naar Blender en SketchUp

Ik wil de BGT lagen gebruiken in Blender en SketchUp. M.b.v. het programma citygml-tools heb ik de citygml-files omgezet naar cityjson-files met als doel om met de Blender add-on Up3date de .json files te importeren in Blender (en evt. via .dae export naar SketchUp).
De conversie van citygml naar cityjson blijkt echter niet goed te gaan, bijv. met bgt_spoor. De “punt-coördinaten” blijken niet in de cityjson-files terecht te komen, terwijl citygml-tools aangeeft dat de conversie succesvol is verlopen. Wat zou de oorzaak kunnen zijn? En is er wellicht een andere werkwijze om de BGT lagen te importeren in Blender?

1 like

Hoi Leo, ik heb ook enige ervaringen opgedaan met ‘deze routen’ maar het is een lastige zaak. Cityjson tools en conversie methoden lijken nog zo ver dat het praktisch en bruikbaar kan worden ingezet in 3D CAD / BIM. Mijn voorzichtige conclusies.

Welke dataset bedoel je met BGT? Is het niet 3D basisvoorziening.dat uitsluitend in Cityjson formaat te verkrijgen is.

Welke software gebruik zoal en voor welke stap? Ik heb wel goede ervaring met FZKviewer voor GML naar IFC.

Ik ervaar de grootte van de gebieden (tiles) van 3D Basisvoorziening als struikelblok. De conversie in Blender duurt zelf met een moderne latop.

Ik ben enkele personen in gesprek om krachten te bundelen op gebied van GeoBIM om wat spreekwoordelijke bruggen te slaan op 3D gebied. Cityjson vormt volgens mij een belangrijke pijler voor de toekomst. Ben dus erg benieuwd waar je tegenaan loopt .

1 like

Hallo Hans, dank voor je reactie!

Mijn vraag was wat kort door de bocht. Achtergrond is het volgende. Mijn doel is om (een deel van) oud Middelburg in 3D te reconstrueren mbv SketchUp of Blender. Een definitieve keuze moet ik nog maken. Op dit moment ben ik basisbestanden aan het verzamelen die ik kan gebruiken bij het “bouwproces”. Het gaat om de volgende info:

  1. Huizen
  2. Topografie (o.a. wegdelen, water, spoor)
  3. Hoogte-informatie
  4. Oude kadastrale kaarten, zgn minuutplans

ad1)
Voor dit onderdeel gebruik ik de 3D BAG info van TU-Delft. Met het programma CJIO voeg ik tegels samen en kan ik een subset maken. De CityJSON (.json) files kan ik importeren in Blender met de add-on Up3date. In Blender kan ik de info exporteren naar een Collada file (.dae) die ik weer kan lezen in SketchUp.
Dit onderdeel heb ik getest en werkt. Wel is het zo dat de huizen in 3D BAG (LoD2.2) nog veel fouten bevatten. Het is uiteindelijk de vraag wat sneller werkt: de LoD2.2 repareren of vanuit LoD0 de 3D info opnieuw opbouwen mbv de attribuut info van LoD2.2.

ad2)
Voor de topografie richt ik mij tot nu toe op de BGT. Via PDOK download viewer download ik de betreffende features in CityGML (.gml) format. Mijn bedoeling was om de CityGML bestanden mbv citygml-tools om te zetten naar CityJSON bestanden, maar daar loopt het dus fout en ik weet tot nu toe niet waarom.
Inmiddels is het wel gelukt om de .gml files in QGIS te laden en vervolgens te exporteren als shp-files. De shp-files kan ik met de Blender add-on BlenderGIS importeren en vervolgens ook weer exporteren als .dae file voor toepassing in SketchUp. Voor een kleine file als bgt_spoor gaat dit goed, maar voor bijv. bgt_wegdeel heeft Blender daar moeite mee als ik de objecten afzonderlijk wil importeren. Moet op dit punt nog meer testen doen.

ad3)
Voor de hoogte-info maak ik gebruik van AHN3. BlenderGIS heeft de mogelijkheid om GeoTiff files te importeren als DEM. Dit moet ik nog testen.

ad4)
Oude kadastrale kaarten heb ik verkregen via het Zeeuws Archief. De tiff files heb ik in QGIS gegeorefereerd. De GeoTiff files zouden moeten kunnen worden geïmporteerd met BlenderGIS en gepositioneerd bovenop de DEM. Dit moet ik nog testen.

Tot zover de beschrijving van mijn beoogde aanpak. Graag suggesties voor een betere benadering! Ik zou nog graag willen weten waarom citygml-tools niet werkt voor bijv. bgt_spoor. Komt dit omdat het een line-element is?

@Hans: ik ga de door jou genoemde software nog bekijken!

1 like

Hoi Leo, mooi project! Middelburg verdient een 3D digital Twin. Om maar even in de mode te blijven :slightly_smiling_face: Ik kan me voorstellen dat je de data grondig door je vingers wilt laten gaan. 3D BAG, met name LOD 2.2 komt tot stand via complexe fotografische / scandata analyse heb ik begrepen. Vandaar dat daar ‘fouten’ in lijken te zitten als je kijkt met een CAD of Sketchup bril. Als je de triangulatei lijnen weet uit te zetten ziet vind ik het goed bruikbaar. Misschien dat je het voor een gedeelte van Middelburg wel voor elkaar krijgt om handmatig gebouwen op te werken in 3D, maar dit hou je niet bij ieder voor heel Nederland. Ik denk zelf dat je LOD2.2 van BAG als basisgegeven moet inzetten voor city-modelling. Wat ik niet zo goed gebrijp… waarom pak je niet gewoon 3D basisvoorziening als basis? Dan heb je toch in feite alles (na een update LOD 1.3 naar LOD 2.2.

Met CJIO heb ik nog niet gewerkt.Dat zou ik wel graag willen leren om alle 3D BAG LOD levels eruit te kunnen knikkeren. Liever deze als aparte dataset waarin ik kan kiezen welke LOD ik implementeer.

Voor 2D gml conversiewerk zou je ook eens naar dwg oplossingen kunnen kijken uiteraard. Er zijn wel wat oplossingen in de markt om BGT in een CAD omgeing te verwerken. DWG/DXF is wel een gebruikelijke intermediar.

Wat dingen die ik gemaakt met met 3D Geodata.

(Trimble Connect 3D BAG en GeoTiles als pointcloud data)

(Blender om Cityjson 3D basisvoorziening / BAG te gebruiken. Dat is nu de enige manier.)

Ik meen dat cityjson toch de beste optie is om uiteindelijk 3D citymodels in een browser te kunnen presenteren. Dan zou je vanuit Sketchup weel moeten converteren naar cityjson? Hoe pak je dat aan.

Ik hou je op de hoogte mocht een Digigo 3D GeoBIM project gaan starten…

vriendelijke groet
Hans

1 like

Hello Leo,

The reason the citygml-tools converter doesn’t work properly is because the BGT files you get from PDOK are not “vanilla” CityGML files.

Those contain an ADE (Application Domain Extension) and do not use the standard XML tags of CityGML.

An ADE extends the classes of CityGML (in this case with the classes of IMGeo). While this is great in theory, in practice most software expect a standard CityGML file and do not know about the extra features of IMGeo. So you get gibberish… It would be nice if you got a warning, maybe you could open an issue?

As mentioned above, you’re better off with the 3D Basisvoorziening, those are standard CityJSON files (without any extensions) and they work with cjio (although the files are rather big, so hopefully you have a computer with enough RAM).

Hugo

Hello Hans and Hugo,

Thanks for the info and the explanation about citygml-tools (I will open an isue). Next week I will give a look on 3D Basisvoorziening. Is 16 GB RAM enough to handle the files? And when do you expect that 3D Basisvoorziening LoD2.2 will be available?

Regards,
Leo

16GB is fine yes.

Eventually lod2.2 will be integrated I guess, but not in the foreseeable future…

Hello Hugo,

CJIO is a powerful tool for manipulating CityJSON files. I use it for filtering LoD’s, create subsets (bbox, cotype, etc.) merge files etc. Because I am struggling with converting BGT-files to 2D dxf-files, I wonder wether it’s possible to use CJIO for converting 3D Basisvoorziening CityJSON files (cjio subset --cotype ) to 2D CityJSON files. Is that possible? My goal is to use the BGT-info in Blender and SketchUp. Importing CityJSON files in Blender with Up3date and exporting them to .dae is a succesful route.

Regards,

Leo