banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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

 

Pied de page des forums

Powered by FluxBB