MarcoDuiker / QGIS_BGT_Import

The QGIS BGT Import plugin for importing Dutch BGT data.
Other
4 stars 1 forks source link

Deel van de GML's wordt geïmporteerd als tabel zonder geometrie #22

Open wvdbee opened 3 months ago

wvdbee commented 3 months ago

QGIS 3.36, GDAL 3.9.0, BGT Import 3.18

Deel van de GML's wordt geconverteerd naar gpkg als tabel zonder geometrie.

Conversie voltooit zonder foutmeldingen: alle GML's worden geïmporteerd in gpkg. afbeelding

Na het conversiedeel crasht QGIS. Vermoedelijk doordat het laden van GPKG-layers en het toepassen van QML-stylings meteen fout gaat.

Handmatig de layers toevoegen aan QGIS: afbeelding

afbeelding

Strack trace van de crash

Python Stack Trace Windows fatal exception: access violation

Current thread 0x00002068 (most recent call first):

Thread 0x000044e8 (most recent call first):

Stack Trace

RtlpWaitOnCriticalSection : RtlpEnterCriticalSectionContended : RtlEnterCriticalSection : xmlDictFree : PyGen_Finalize : PyThreadState_Clear : PyGILState_Release : PyInit_sip : pdal::StreamPointTable::reset : QgsPresetSchemeColorRamp::clone : QgsTask::start : QThreadPoolPrivate::reset : QThread::start : BaseThreadInitThunk : RtlUserThreadStart :

QGIS Info QGIS Version: 3.36.3-Maidenhead QGIS code revision: 2df96554 Compiled against Qt: 5.15.13 Running against Qt: 5.15.13 Compiled against GDAL: 3.9.0 Running against GDAL: 3.9.0

System Info CPU Type: x86_64 Kernel Type: winnt Kernel Version: 10.0.22631

wvdbee commented 3 months ago

BGT-extract van vandaag, gebruikt bij deze importtest.

extract.zip

MarcoDuiker commented 3 months ago

Dit lijkt windows specifiek. Deze extract.zip importeert bij mij zonder problemen.

Zou het kunnen zijn dat je de omgevingsvariabelen PYTHONHOME en/ of PYTHONPATH hebt ingesteld?

Zo ja, dan zou uitzetten moeten helpen. Dat kan middels:

set PYTHONPATH= set PYTHONHOME=

wvdbee commented 3 months ago

Regulier zijn deze variabelen binnen mijn windows-installatie niet ingesteld.

Deze variabelen worden voor apps, die via OSGeo4W zijn geïnstalleerd, scriptmatig ingesteld wanneer je één van de apps, zoals QGIS, opstart. Betekent effectief dan binnen QGIS dit de ingestelde waarden voor de variabelen zijn; opgevraagd via de python-console.

import os
print(os.environ['PYTHONHOME'])
print(os.environ['PYTHONPATH'])

C:\OSGeo4W\apps\Python312 C:\OSGeo4W\apps\grass\grass83\etc\python;

En effectief is dit het search path van python vanuit QGIS, ook vanaf de QGIS-python-console geraadpleegd:

import sys
print(sys.path)

_['C:\Users/Wim/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\geo_sim_processing', 'C:/OSGeo4W/apps/qgis/./python', 'C:/Users/Wim/AppData/Roaming/QGIS/QGIS3\profiles\default/python', 'C:/Users/Wim/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins', 'C:/OSGeo4W/apps/qgis/./python/plugins', 'C:\OSGeo4W\apps\grass\grass83\etc\python', 'C:\OSGeo4W\bin', 'C:\OSGeo4W\bin\python312.zip', 'C:\OSGeo4W\apps\Python312\DLLs', 'C:\OSGeo4W\apps\Python312\Lib', 'C:\OSGeo4W\apps\Python312', 'C:\OSGeo4W\apps\Python312\Lib\site-packages', 'C:\OSGeo4W\apps\Python312\Lib\site-packages\win32', 'C:\OSGeo4W\apps\Python312\Lib\site-packages\win32\lib', 'C:\OSGeo4W\apps\Python312\Lib\site-packages\Pythonwin', 'C:/Users/Wim/AppData/Roaming/QGIS/QGIS3\profiles\default/python', 'C:\Users\Wim\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\mmqgis/forms', 'C:\Users/Wim/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing', 'C:\Users\Wim\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qgis_resource_sharing', 'C:\Users\Wim\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qgis_resource_sharing\extlibs', 'C:/Werkplekken/Wim/Tijdelijk/BGT/adam03']

wvdbee commented 3 months ago

Nog eens getest met een ander extract.zip, degene die ik vorig jaar bij een ander issue hier op bugnet had geplaatst:

Deze extract.zip

Dat issue was vorig jaar door jou verholpen. Ik kon die extract.zip daarna netjes door de BGT-importer trekken. Nu nogmaals met de huidige setup loop ik tegen dezelfde fout aan:

MarcoDuiker commented 3 months ago

Kun jij de laatste gdal/ ogr versie aangeven waarbij importeren nog goed ging?

MarcoDuiker commented 3 months ago

Kun je ook nog voor me proberen of het gebruik van het 2e tabblad wel werkt?

wvdbee commented 3 months ago

Tweede tabblad werkt. -ish. Hij heeft wel moeite om bijvoorbeeld de juiste kruinlijngeometrieën eruit te halen. Maar bgt_bak.gml is geen enkel probleem.

wvdbee commented 3 months ago

Laatste werkende versie:

QGIS op mijn werkdesktop opgestart. QGIS 3.36.6 GDAL 3.8.5

Paar tests gedaan:

  1. Twee extracts die ik in dit issue aanhaal: beiden converteren naar geometrieën en niet deelt naar geometrieloze tabellen. QGIS crasht wel op het moment van inladen van de kaartlagen.

  2. Extract.zip dat ik april 2024 probleemloos had geconverteerd op, ik vermoed 3.32, met een GDAL die rond die tijd van QGIS courant was. Die converteerde probleemloos én de kaartlagen werden probleemloos met styling in QGIS geladen. Bijbehorend styling-bestand werd ook weggeschreven. Op versie 3.36.6 met GDAL 3.8.5 ging de conversie probleemloos. Alle GML's in de extract.zip converteerde zoals verwacht met een resultaat als in april 2024. Het inladen van kaartlagen stokte bij één van de kaartlagen. Stack trace kon ik niet copypasten; QGIS was compleet bevroren.

Het lijkt dus een dubbel issue:

wvdbee commented 3 months ago

afbeelding

Screen van de crash met de deels ingeladen set aan kaartlagen. Beetje info vanuit de stack trace.