Gmllight werkt niet in FME transformer BGT-downloader en BGT-processor

Ik heb een eenvoudige FME script met BGT-downloader en BGT-processor. Met citygml als format werkt het prima, met gmllight echter niet. Ik krijg dan verschillende foutmeldingen. Voor de foutmeldingen zie plaatje:

.
In de foutmelding lees ik o.a. "Failed to obtain any schemas from reader “CITYGML’ from 1 dataset”. Hoe kan dat als in de BGT-downloader het format gmllight geselecteerd was?

Hmmm … dit roept bij mij vooral vragen op:

  • Wat uit de BGT probeer je precies in te lezen?
  • Wat moet het resultaat worden? Geopackage? Database? Iets anders? En wat voor geometrie?
  • En ik heb geen idee van dat script.

Ik heb random 2 datasetjes via de BGT Downloadviewer gedownload (ééntje gmllight en ééntje citygml), en vervolgens in een PostGIS database geïmporteerd met ogr2ogr, allemaal redelijk rechttoe rechtaan, en dat werkt.

Wat me dan wel opvalt is dat het resultaat vanuit gmllight geometrisch niet éénduidig is: er zitten CurvePolygons, LineStrings en ‘gewone’ Polygons in.

Dit kun je dan, al dan niet met ogr2ogr zelf, of binnen de database met SQL, wel naar je hand zetten zodat het resultaat wordt wat je wil, dat is op zich niet zo moeilijk. Maar dat zal zo’n FME script dan ook moeten doen.

Hoi Willem,

Het gaat ook bij mij om een eenvoudige FME script, heel rechttoe rechtaan met ene kant de reader die een polygoon in vorm van gdb inleest, en aan de andere kant de FeatureWriter die de output van BGT-downloader en BGT-processor wegschrijft in vorm van een gdb-bestand. Daartussen dus de twee BGT transformers.

Met de selectie van een beperkt aantal BGT-lagen (8 lagen) kan ik zonder probleem citygml wegschrijven in gdb (niet specifiek voor één bepaalde geometrie, met citygml krijg ik in gdb ook verschillende geometrieën zoals _polygon, _arc, _line en _point).
Met gmllight (verder onder precies dezelfde omstandigheden) lukt het niet, ik krijg dan de foutmelding zoals in het plaatje hierboven.
Waarschijnlijk de belangrijkste foutmelding is dat BGT-processor (meer specifiek, de FeatureReader_9 binnen de BGT-processor) een xsd-bestand niet kan vinden in de cache map C:\Users.…\AppData\Local\Temp.

XML Parser error: ‘Error at file: ‘’ line: 0 column: 0 message: unable to open primary document entity ‘C:\Users.…\AppData\Local\Temp\wbrun_1761645937240_35672\fmetmp_2\TempFS_1761653588328_21728\dsR_1_0\http_download_1761653351073_2172_0\imgeo-simple-2.1-gml31.xsd’’

Kijkend in Windows Verkenner zie ik dat vanaf het punt

C:\Users.…\AppData\Local\Temp\wbrun_1761645937240_35672\fmetmp_2

de structuur afwijkt van de in de foutmelding aangegeven structuur. De structuur bij mij is dan:

C:\Users.…\AppData\Local\Temp\wbrun_1761645937240_35672\fmetmp_2\FMETable_1761653296575_21728

De map FMETable… blijkt leeg te zijn.

Any clues?

Als ik het eerder getoonde plaatje van de foutmelding lees, lijkt er bij de Gebouwinstallaties iets mis te gaan: “cannot create table with a duplicate column”.

Dus dan zou je zeggen: daar gebeurt iets raars in de workflow. Wat dat is kan ik niet zien aan het FME plaatje: je zal in die blokjes moeten kijken wat er precies gebeurt (of zou moeten gebeuren).

Pas op: met deze werkwijze (rechtstreek met ogr2ogr ergens inlezen) raak je data kwijt waar objecten meerdere soorten geometrie bevatten: De QGIS BGT plugin – Blog Nederlandse QGIS gebruikerscommunity