czesc,
Qgis domyślnie nie odczytuje poprawnie plików CityGML dlatego proponuje następującą scieżkę:
LOD1:
1. Pobrać citygml-tools (v 1.4.4) i wykonać konwersję plików do formatu cityjson
2. Za pomocą wtyczki CityJSON Loader wczytać plik z opcja "load semantic surfaces"
3. obliczyć wartości z (min i max) za pomocą narzędzia "wyodrębnij wartość Z"
4. Znajdz obiekty, których min = max - tak uzyskasz powierzchnie budynków prosto z citygml
5. Jeśli nie zależy Ci na faktycznej wysokosci (poligon 2d) to usuń duplikaty i gotowe
6. Załaduj ponownie ten sam plik cityJSON bez opcji "load semantic surfaces", oblicz wysokość budynku odejmując min i max wys jak w punkcie 3
7. podłącz dane z punktu 6 do utworoznej warstwy z punktu 5 po np. buildingID
Lod2:
1 i 2 j.w
3. W lod 2 masz podział na odpowiednie klasy w polu "surface.type". Ciebie bedzie interesować "Groundsurface"
4. powtorz punkty 6 i 7
Mam nadzieje, że pomogłem