Pages: 1
- Sujet précédent - Exploitation MNT DTED: Execution utilisant GDAL API C NOK - Sujet suivant
#1 Mon 28 June 2021 01:43
- stage_insa_genie_math
- Juste Inscrit !
- Date d'inscription: 27 Jun 2021
- Messages: 1
Exploitation MNT DTED: Execution utilisant GDAL API C NOK
Bonjour, nous rencontrons un problème d'exécution d'un code source utilisant des fonctions GDAL de l'API C. Ces fonctions GDAL sont utilisées pour extraire à la demande l’altitude d'un point par rapport à un MNT au format DTED.
Le contexte et les étapes amenant au problème sont les suivants :
1) Environnement développement : IDE QT Creator sous Windows 10
2) Reprise d’une partie du code sous Windows 7 utilisant l’API GDAL C++ et permettant d'exploiter les MNT DTED;
3) Suite à problème rencontré sur l’utilisation de l’API GDAL C++ en Windows10, remplacement par l’API C. En effet, la consultation du forum a permis de constater que Mingw ne supportait pas l'API C++ (cf. sujet " programmation sous minGW et GDAL") ;
4) Compilation avec la bibliothèque GDAL C (fichiers d’entête récupérés par package sur le site gdal) => Compilation ok
5) L’exécution nécessite des dll GDAL (récupérées dans le même package) placées au fil de l’eau dans le répertoire de l’exécutable selon les messages d'avertissement ;
Au final, l’exécution est nok avec un message non explicite « L'application n'a pas réussie à démarrer correctement (0xc000007b) » ; le problème provient a priori de la ressource gdal car si on débraye les appels à cette ressource dans le code, l’exécution est nominale.
Le mode pas à pas dans Qt ne se lance pas.
A priori, il doit y avoir un problème entre les fichiers d'entête de l'API et les DLL chargées; ce qui est étonnant c'est le nombre de dll requises (cf. étape 5). Dans la version sous Windows 7, la seul dll nécessaire pour gdal est libgdal-1
Pouvez-vous svp nous fournir des pistes afin de pouvoir résoudre ce problème ?
Au delà de ce problème, la seule justification d'utilisation de GDAL est la lecture de MNT au format DTED.
Les fonctions RasterIO, GetGeoTransform, GDALComputeRasterMinMax, GetRasterYSize... (API C++, nommage différent pour l'API C) sont utilisées.
Il peut y avoir des solutions alternatives autre que le développement du chargeur DTED
1) Un code source pour extraire la valeur d'altitude dans la dalle de 1° carré du MNT DTED suffirait;
2) possibilité aussi de convertir le MNT format DTED au format Geotiff. Il faut dans ce cas avoir une API pour extraire du Geotiff avec peut-être les mêmes problèmes que pour GDAL (ce dernier permet surement d'exploiter du Geotiff mais on va être confronté au problème précédent).
Merci pour votre aide
Hors ligne
Pages: 1
- Sujet précédent - Exploitation MNT DTED: Execution utilisant GDAL API C NOK - Sujet suivant