Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

Annonce

Printemps des cartes 2024

#1 Wed 06 March 2019 14:22

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

QGIS: Récupérer rasters géoréférencer sous ArcGis

Bonjour à tous,

Nous travaillions jusqu'en 2014 avec ArcGis, et avions géoréférencé des photos aériennes (les prises de vues aériennes de l'IGN, aujourd'hui téléchargeables sur le site remonter le temps).

Les images (.jp2) étaient alors accompagnés de différents fichiers de référencement : .j2wx, .jp2.aux.xml et .rmf

Nous travaillons aujourd'hui sur QGis, et ces fichiers de géoréférencement ne sont pas pris en charge...

Connaîtriez vous une méthode pour permettre d'afficher ces raster géoréférencés dans QGis ?
Si besoin, j'ai encore ma licence ArcGis (10.2.1), même si je ne l'utilise plus beaucoup et ai perdu mes anciennes habitudes wink

Merci à vous !

Sylvain M.


Sylvain M.

Hors ligne

 

#2 Wed 06 March 2019 15:47

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Bon, je viens de retrouver ma question de 2015 sur le même sujet (mais avec des TIF) :
http://www.forumsig.org/showthread.php/ … ement-TFWX

J'ai bien peur que la seule solution soit de recréer des Raster rectifiés depuis ArcGis...

Problème : il y a plusieurs dizaines de RASTER, et ça va être long...
Peut-être y aurait-il moyen de scripter ce workflow ?
(je devrais peut-être poster dans la section ArcGis, du coup ...)

Si vous avez des pistes !


Sylvain M.

Hors ligne

 

#3 Wed 06 March 2019 16:13

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Au cas où, je lance aussi la question dans la section ArcGis : https://georezo.net/forum/viewtopic.php?id=114877


Sylvain M.

Hors ligne

 

#4 Wed 06 March 2019 17:23

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Sujet intéressant ! si je comprends bien le j2wx contient la transformation affine (degré 1) approximative, le fichier aux.xml définit les points de contrôle pour une transformation de degré 2 ou 3. La solution proposée dans le lien indiqué par Gene a l'air pas mal : gdal_translate pour assigner les points de contrôle puis gdal_warp pour faire la rectification avec l'option -order pour définir le degré de la transformation.

Si ça marche, un petit script Python pour parser le aux.xml et lancer les commandes gdal fera l'affaire !

Hors ligne

 

#5 Wed 06 March 2019 17:52

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Merci Dominique de te pencher sur mon cas !

gdal_translate pour assigner les points de contrôle puis gdal_warp pour faire la rectification avec l'option -order pour définir le degré de la transformation.


Aïe aïe aïe : je ne suis pas du tout familier de GDAL et je suis donc incapable d'écrire la commande correspondante !
Est-ce que si je partage un des clichés ici, tu serais en mesure de m'écrire cette commande ? (j'execute GDAL via "OSGeo4W Shell", sur PC Windows 7)

Si ça marche, un petit script Python pour parser le aux.xml et lancer les commandes gdal fera l'affaire !


Bon, le script python sera clairement hors de portée pour moi.
Mais si les commande GDAL fonctionnent, ce sera toujours plus rapide que d'ouvrir les raster et de les rectifier sur ArcGis manuellement !


Sylvain M.

Hors ligne

 

#6 Wed 06 March 2019 17:58

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Voici une image si quelqu'un peut tester : https://we.tl/t-svARYdrGFf


Sylvain M.

Hors ligne

 

#7 Thu 07 March 2019 08:29

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Après quelques recherches il semble que la solution ne soit pas aussi compliquée. En effet le fichier aux.xml que l'on trouve aussi sous le nom de fichier PAM (persistent auxiliary metadata), bien que proposé par ESRI, reste un fichier xml donc un format ouvert. Les versions récentes de GDAL (et donc QGIS) sont parfaitement capables de lire ou écrire ce type de fichier.

Il semble que le problème soit plutôt de s'assurer que ce fichier soit utilisé en priorité pour définir le géoréférencement. En effet, le géoréfencement peut être indiqué de plusieurs façon : fichier worldfile, fichier TAB, fichier PAM ou directement dans le format (geotiff, jp2...). Ces differentes possibilitées pouvant cohabiter il faut donc à un moment donné pouvoir indiquer la priorité de chacune. Depuis GDAL 2.2 ce problème est solutionné par l'introduction de 2 nouvelles variables (voir ici), d'une part une variable générale GDAL_GEOREF_SOURCES et d'autre part une option d'ouverture GEOREF_SOURCES. Ces deux variables permettent de définir l'ordre dans lequel l'information de géoréfrencement sera cherchée. Par défaut la valeur est de PAM, INTERNAL, TABFILE, WORLDFILE, NONE, c'est donc le aux.xml qui normalement est utilisé en priorité.

Dans les faits ça n'est pouratant pas le cas, et je ne l'explique pas. Dans QGIS, il est possible de définir la variable globale GDAL_GEOREF_SOURCES : pour cela il faut aller dans options/système/environnement/custom variable. Mais de mon côté ça ne change rien si je force la valeur de cette variable.

Ce qui fonctionne en revanche c'est de supprimer toutes les autres informations de géoréférencement. par exemple j'ai converti le jp2 en tiff, puis j'ai ouvert le tiff dans GIMP pour le réenregister et écraser le géoréferencement, ensuite j'ai copié le jp2.aux.xml vers un nouveau fichier de même nom que mon tiff (tif.aux.xml), et là ça fonctionne enfin le fichier PAM est bien utilisé !

Hors ligne

 

#8 Mon 11 March 2019 12:08

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Pardon Dominique pour le délai de réponse, mais j'étais absent ces derniers jours.

Ce qui fonctionne en revanche c'est de supprimer toutes les autres informations de géoréférencement. par exemple j'ai converti le jp2 en tiff, puis j'ai ouvert le tiff dans GIMP pour le réenregister et écraser le géoréferencement, ensuite j'ai copié le jp2.aux.xml vers un nouveau fichier de même nom que mon tiff (tif.aux.xml), et là ça fonctionne enfin le fichier PAM est bien utilisé !


OK, donc c'est récupérable.
Mais j'avoue que ça fait pas mal d'étapes pour mes 30 fichiers, et je ne sais pas trop comment les scripter.
Tu penses que GDAL pourrait faire ça ? (et du coup, aurais tu un exemple pour un fichier ?)


Sylvain M.

Hors ligne

 

#9 Mon 18 March 2019 15:07

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Dominique, je me permets de te relancer sur ce sujet.
Je viens de tenter ta manip sur une de nos photos, mais je ne parviens pas à l'afficher correctement géoréférencées dans QGis.
Je te renvoie une photo de tests à cette adresse : https://we.tl/t-NE7NDtIeYx
Si tu avais le temps de me renvoyer la version corrigée pour QGis, ce serait super gentil de ta part !
Merci à toi !


Sylvain M.

Hors ligne

 

#10 Wed 20 March 2019 12:09

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

Salut Sylvain

Désolé pour la réponse tardive je n''avais pas vu que tu avais remonté le sujet. J'ai essayé avec ton nouveau fichier, en le convertissant en tiff j'arrive à lui faire lire le aux.xml mais le calage n'est pas correcte. Je pense qu'il y avait déjà ce problème avec le précédent fichier mais je n'avais pas vérifié en détail. En cherchant un peu j'ai pu déterminer comment GDAL lisait le aux.xml et c'est assez bizarre : il considère que les coordonnées images des points de contrôle sont exprimées en pouces et que l'origine de l'image est au point inférieur gauche. J'ai bien vérifié le aux.xml et les coordonnées sont définitivement exprimées en pixel avec un origine fixée à l'angle supérieur gauche.

J'ai écris à la mailing liste gdal-dev pour essayer d'avoir plus d'info :
http://osgeo-org.1560.x6.nabble.com/gda … 98985.html

On verra ce qu'il en ressort mais je pense qu'il va falloir revenir à l'idée du script. J'ai un peu de congés cette semaine j'aurai certainement un peu de temps pour commencer qqchose ça ne devrait pas être trop chronophage.

a+

Dernière modification par dominique.lys (Wed 20 March 2019 12:45)

Hors ligne

 

#11 Wed 20 March 2019 17:40

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

On verra ce qu'il en ressort mais je pense qu'il va falloir revenir à l'idée du script. J'ai un peu de congés cette semaine j'aurai certainement un peu de temps pour commencer qqchose ça ne devrait pas être trop chronophage.


Je n'aurai jamais osé te demander tant d'investissement, mais comme tu le proposes, je t'en remercie grandement ! 8-)
Pour que le script, je vais t'envoyer les images par MP demain (ça met un moment à charger, et là je dois partir)

MERCI !!!!


Sylvain M.

Hors ligne

 

#12 Thu 21 March 2019 10:20

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

T'embête pas à tout uploader, le mieux c'est que tu fasses tourner le script de ton côté. J'ai fais un premier jet ici. Il faut fuste modifier le dossier en entrée, les rasters peuvent être en jpg ou jp2, on peut ajouter d'autres extension en modifiant la variable targetExt au début du code. Attention ici tous les rasters sont considérés comme étant en Lambert 2 étendu, mais dans les faits je ne sais pas si ce sera le cas. Donc le code parse le aux.xml pour extraire les points de contrôle et écrire un fichier script système qui sera a exécuter indépendamment par la suite. Ce script lance successivement les commandes gdal_translate et gdalwarp nécessaires pour chaque raster. Ce qui implique que le chemin vers les binaires gdal soit connu. Sous Windows si QGIS est installé alors ils doivent être dans C:/OSGeo4w/bin (ou quelque-chose dans ce goût là), il faut donc ajouter ce chemin dans les variables d'environnement du système.

Par ailleurs le script écrit un fichier *.points qui peut être réutilisé dans le géoréférenceur de QGIS, afin de reprendre les géoréférencements si besoin !

Dernière modification par dominique.lys (Thu 21 March 2019 14:25)

Hors ligne

 

#13 Mon 25 March 2019 09:55

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

Re: QGIS: Récupérer rasters géoréférencer sous ArcGis

MERCI BEAUCOUP DOMINIQUE !!!!

Je pourrai pas me pencher dessus avant mercredi, mais bravo pour ton travail !!!


Sylvain M.

Hors ligne

 

Pied de page des forums

Powered by FluxBB