Bonjour à tous,
la question qui m'amène aujourd'hui pourra paraître pénible à suivre, en tout cas je crains qu'elle ne soit pas simple à présenter de manière concise (si ça peut faire gagner du temps aux personnes qui courent après... leur temps, et qui ne voudront pas suivre plus avant).
_______________________
1/ Présentation du problème
Je travaille à l'élaboration d'un requêteur de données raster (flux wmts du geoportail) pour le SIG GRASS. Le module dans sa forme actuelle fonctionne a priori normalement, mais dans le détail, certaines imprécisions me font douter quant à sa fiabilité. Pour vérifier la rigueur géodésique des opérations qu'il effectue, ma démarche est la suivante :
- je récupère la fiche géodésique d'un point facilement identifiable sur l'orthophotoplan (dans la limite de la meilleure résolution disponible bien sûr, soit le niveau de zoom 18 de la pyramide). Dans ce cas il s'agit d'un pylône électrique ;
- sur la page d'accueil du Géoportail, je m'assure que les coordonnées du point visé sont cohérentes avec celles fournies par la fiche géodésique ;
- je récupère sur le serveur wmts la tuile où figure le lieu examiné ;
- je procède au géoréférencement de cette tuile, dans un premier temps simplement dans le système natif de projection (pseudo-mercator).
Je constate que les coordonnées du point géodésique :
(i) fournies par l'interface de geoportail.gouv.fr,
(ii) mesurées sur l'image géoréférencée par mes soins
diffèrent de quelques mètres, les premières étant correctes, les secondes divergentes.
Mon problème se rapporte donc à une question de géoréférencement des tuiles du flux wmts.
__________________
2/ Méthode employée
chargement de la tuile :
détermination des coordonnées de 3 coins de l'image / géoréferencement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget "https://$user:$pwd@gpp3-wxs.ign.fr/$clef/geoportail/wmts?LAYER=ORTHOIMAGERY.ORTHOPHOTOS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX=18&TILEROW=93501&TILECOL=135775&" -O tilel93501c135775.jpg
pour être bref, je suis le raisonnement de cette page. Pour la tuile de notre exemple, j'obtiens trois points de contrôle que je fournis à l'utilitaire gdal_translate comme suit :
Le script gcps2wld permet de créer éventuellement le worldfile associé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part gdal_translate -gcp 0 0 718957.177600 5743637.622016 -gcp 256 256 719110.051584 5743484.748032 -gcp 256 0 719110.051584 5743637.622016 tilel93501c135775.jpg tilel93501c135775.tif__________
Code : Sélectionner tout - Visualiser dans une fenêtre à part gcps2wld.py tilel93501c135775.tif>tilel93501c135775.tfw
3/ Résultats
Pour ceux qui m'ont suivi jusque là, je fournis ici en image le résultat. Le point géodésique est situé au centre du pylône marqué par un point jaune. Ses coordonnées en Lambert93 sont les suivantes : 968705.11 6524806.43 (fiche disponible ici). J'obtiens ses coordonnées en pseudo-mercator comme suit :
La copie d'écran montre deux fenêtres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cs2cs +init=IGNF:LAMB93 +to +init=epsg:3857 968705.11 6524806.43 718968.86 5743551.33 -0.00
- à droite les coordonnées mercator fournies sur la page geoportail.gouv.fr ;
- à gauche les mêmes coordonnées dans le bas du moniteur de GRASS, correspondant à la position du curseur, soit une petite dizaine de mètres à l'est du point attendu...
Voilà, j'en ai fini ! et me tiens à l'écoute de vos réactions/suggestions pour trouver l'erreur.
Bonne fin de journée,
Vincent.
Partager