qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.38k stars 2.98k forks source link

VPF, VMAP, DNC not readable #55137

Open DieSlower opened 10 months ago

DieSlower commented 10 months ago

What is the bug or the crash?

QGIS is not recognizing VPF/VMAP/DNC formats

It should be loading it through GDAL (OGR_OGDI -vector- (ro): OGDI Vectors (VPF, VMAP, DCW)) which is present on the system when QGIS is installed.

Steps to reproduce the issue

Download a map from https://dnc.nga.mil/dncp/DNC/library.php?c=Z17

try to open the file with QGIS by opening new data or pulling the files into the QGIS window. The downloaded zip file can be pulled in, or it can be unzipped and a DHT or LHT file can serve as an entry. This works fine with other software like Global Mapper.

Versions

3.32.3-Lima

Supported QGIS version

New profile

Additional context

If I run:

C:\Program Files\QGIS 3.32.3\bin>ogrinfo --formats I do see that it is supported:

OGR_OGDI -vector- (ro): OGDI Vectors (VPF, VMAP, DCW) Unfortunately when I pull in the Zip, LHT or the DHT file into QGIS I get an error: "Invalid Data Source: D:\Development\DNCs\DNC01ED34\DNC01\A0112483\LHT is not a valid or recognized data source."

DieSlower commented 10 months ago

I have more info on this.... It seems that the main DHT file is still not being recognized (D:\Development\DNCs\DNC01ED34\DNC01\DHT), but, I did figure out that there is a path problem with how QGIS passes folder names on windows. Path problem is not everything unfortunately.

If you try to open an individual chart out of the set by passing gltp:/vrf/D:\Development\DNCs\DNC01ED34\DNC01\A0112483 to the "Add Layer" window I get an error, but if I try to open it with gltp:/vrf/D:/Development/DNCs/DNC01ED34/DNC01/A0112483 I do get a list of layers in the chart. Unfortunately after selection any of the layers and attempting to open, I get a crash. Crash report attached:

User Feedback

I was attempting to load a VPF layer. QGIS detected the layer names in the files, loaded the correct names, and crashed.

I opened the layer by passing the following path to the "Create Vector Layer" window: gltp:/vrf/D:/Development/DNCs/DNC01ED34/DNC01/A0112483

Report Details

Python Stack Trace

Windows fatal exception: access violation

Thread 0x0000056c (most recent call first):
<no Python frame>

Stack Trace


strlen :
dyn_CreateServer :
svr_CreateServer :
cln_CreateClient :
CPLODBCDriverInstaller::RemoveDriver :
CPLODBCDriverInstaller::RemoveDriver :
CPLODBCDriverInstaller::RemoveDriver :
CPLODBCDriverInstaller::RemoveDriver :
QgsOgrProviderUtils::GDALOpenWrapper :
QgsSQLiteExpressionCompiler::operator= :
QgsSQLiteExpressionCompiler::operator= :
QgsSQLiteExpressionCompiler::operator= :
QgsOgrProviderUtils::wildcards :
QgsSQLiteExpressionCompiler::operator= :
QgsVectorLayerFeatureIterator::QgsVectorLayerFeatureIterator :
QgsVectorLayerFeatureSource::getFeatures :
QgsVectorLayerProfileResults::visitFeaturesInRange :
QgsVectorLayerProfileResults::visitFeaturesInRange :
QgsMapRendererParallelJob::renderLayerStatic :
QgsProfilePlotRenderer::replaceSourceInternal :
QgsMapRendererParallelJob::renderingFinished :
QgsMapRendererParallelJob::takeLabelingResults :
QtConcurrent::ThreadEngineBase::run :
QThreadPoolPrivate::reset :
QThread::start :
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info QGIS Version: 3.32.3-Lima QGIS code revision: 67d46100b5 Compiled against Qt: 5.15.3 Running against Qt: 5.15.3 Compiled against GDAL: 3.7.2 Running against GDAL: 3.7.2

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