Zeker geen domme vraag hoor. De BGT is best een uitdagende dataset om in te lezen. Daar is op dit forum wel het een en ander over te vinden. Maar goed je krijgt er ook heel wat voor terug.
Wat je het beste kunt doen is schemabeschrijvingen (gfs-bestanden) gebruiken. Volledige gfs-bestanden, voor alle bgt-objecttypes, zijn open bron beschikbaar als onderdeel van de zeer gewaardeerde BGT import plugin van Marco Duiker.
Ik heb zelf geen ervaring met geopandas, ik gebruik de python ogr library om bgt gml-bestanden om te zetten naar geopackage. ogr pakt automatisch de gfs bij de gml als deze dezelfde naam hebben, bijvoorbeeld ondersteunendwegdeel.gml + ondersteunendwegdeel.gfs. Je kan ook de gfs locatie direct aanduiden als dat nodig is. En met ogr kan je ook meteen een sql meegeven om bijvoorbeeld vervallen features uit je database te houden (,eindRegistratie is null’’).
Je zult trouwens zien dat er voor een aantal objecttypes meerdere gfs bestanden zijn. Dat komt omdat een object in de BGT meerdere geometrie types tegelijk kan hebben. Bij een pand hoort bijvoorbeeld een polygoon en een punt, respectievelijk het grondvlak en het plaatsingspunt van het huisnummer. Gebruik je bij het inlezen van bgt_pand.gml de schemabeschrijving bgt_pand_V.gfs, dan krijg je een laag met alleen maar grondvlakken ingelezen. Gebruik je bgt_pand_P.gfs dan krijg je alleen de plaatsingspunten. Ik weet niet wat MCDA is maar vermoedelijk willen jullie alleen polygonen, dan kan je dus in dit voorbeeld de bgt_pand_P weggooien en bgt_pand_V omnoemen naar bgt_pand.gfs.
Een aanrader is om de gfs bestanden eens te openen en voor je eigen toepassing aan te passen. Je kan eenvoudig attributen waar je niet in geïnteresseerd bent, bij het parsen laten overslaan. Dat is efficiënter dan het parsen, inladen en daarna weer verwijderen hiervan. Er staat nogal wat in de bgt, waaronder ettelijke gb’s aan gegevens waar wij simpele eindgebruikers niks mee te maken hebben