Réaliser un carte d’images aériennes comparées avec QGIS, GDAL et Leaflet

Depuis quelques temps, l’Institut national de l’information géographique et forestière met à disposition gratuitement sur le géoportail de l’IGN des images aériennes de différentes époques.

Le but de ce tutoriel est de créer une cartographie comparée entre les images de la campagne de photos aériennes de 1924 et celles d’aujourd’hui, le tout uniquement à l’aide d’outils libres

 


1- Télécharger les images 

La première chose à faire est de télécharger les images qui nous intéresse sur le Géoportail (voir les étapes 1, 2, et 3 sur l’image ci-après).

Note : Plusieurs années sont disponibles. Il est aussi possible de télécharger de vielles cartes (Cassini et cartes d’État major)

ortho1924_screen1

Choix des séries à télécharger sur le Géoportail

 

ortho1924_screen2

Télécharger les images sélectionnées

 


2- Orienter les images

  1. Premier hic, les images sont au format compressé  Jpeg2000. Ce format est lisible avec gdal via la bibliothèque OpenJpeg mais pas par beaucoup d’autres de logiciels. Sous windows, l’IGN met l’outil IGNMap à disposition pour les lire
  2. Deuxième hic, les images sont souvent orientés vers autre chose que le Nord. Or, nous le verrons ensuite, il est plus facile d’avoir les images orientées au Nord avant de commencer le géoréférencement.

Nous allons donc réorienter les images au Nord avec Gimp, après avoir préalablement installé le greffon qui lui permet d’écrire sur du Jpeg2000. Le greffon pour Gimp est téléchargable ici

image1924_non_calée

Un fois l’image bien orientée nous allons pouvoir commencer le géoréférencement

 


3- Géoréférencer les images aériennes

Bien !! nous allons pouvoir géoréférencer les images.

Géoréférencer veut dire que nous allons caler les images sur un carte. Le but est d’affecter une référence spatiale, dans une projection géographique donnée, à une image qui n’en a pas. Le résultat obtenu est un Raster, c’est à dire une image divisée en petits rectangles (pixels) qui la décrivent.

image raster : à chaque petit rectangle (pixel) sont associées une ou plusieurs valeurs décrivant les caractéristiques de l’espace

C’est ce raster que l’on peut utiliser dans un  SIG.

Pour cela Qgis a un outil qui s’appelle le géoréférenceur.

Le but est simple mais fastidieux : il s’agit de faire correspondre des points de calages de l’image à caler (des .gcp)  avec une image déjà calée (celle de 2012 dans notre cas).

georeferencer

Le géoréférencement de l’image de 1924 (à droite) avec celles d’aujourd’hui (à gauche) par la définition de points communs de référence (gcp) entre les deux images

 

Une fois les points de calages définis et enregistrés. On choisit le type de transformation de l’image (la plus utilisée est la polynomiale 2).

Qgis va donc plaquer l’image par rotation/étirement, etc. sur la carte actuelle.

 

image_callée

résultat du calage d’un série d’images

 

A savoir :  Qgis génère un rapport de  géoréférencement qui permet de contrôler son travail.

En effet les déformations entre l’angle de prise de vue de l’image de 1924 et une image orthorectifiée peut être important. plus de 10 points par images sont nécessaire pour avoir un résultat convenable

rapport_georeferencement

Rapport de géoréférencement de qgis. on y voit les déformations appliquées à l’image pour la caler

 


4- fusionner les rasters entre eux

Une fois les rasters obtenu il me faut les fusionner ensemble.

Pour avoir le moins de variations d’angles et surtout de colorimétrie, j’ai choisi de les fusionner dans le sens des vols originaux.

 

trajet_vol

trajet des vols en 1924. il donnent le sens de la fusion des raster

L’outil de fusion de Qgis (qui utilise lui même la fonction gdal_merge de la bibliothèque gdal) permet ensuite de fusionner les raster entre eux

gdal_merge

la fonction gdal_merge de Gdal permet de fusionner des raster entre eux

 

 


5- Construction des tuiles

Pour être utilisé sur le web, notre raster doit maintenant être tuilé.

Le tuilage est le re-découpage du raster en petite images à des échelles prédéfinies pour être utilisé par des outils web.

Vous avez sans doute remarqué ça lors de la navigation sur google maps ou sur le géoportail. En effet certaines tuiles apparaissent après les autres ce qui nous permet de voir qu’il ne s’agit pas d’une image unique, trop consommatrice de ressources.

Le tuilage va donc découper le raster sur plusieurs échelles (pyramidage) en autant de petites images (tuilage), dont le nom du dossier et celui de l’images sont les coordonnées x et y dans le système de projection mercator

 

tuilage

Principe du tuilage

pyramidage

principe du pyramidage

Nous allons utiliser le script python gdal2tiles.py qui permet de faire cela en ligne de commande


6 – Développement de l’application avec Leaflet

Une fois les tuiles copiées en ftp sur un serveur on va les appeler avec la librairie javascript Leaflet, utilisé notamment par OpenStreetMap ou Mapbox.

Cette librairie a le mérite d’être assez simple d’emploi et assez puissante. Mais d’autres bibliothèques javascript, comme OpenLayer, existent pour faire de la cartographie web

Pour appeler une carte par exemple ,on insère dans la page html :

1- une<div> html nommée « map »

2- puis  un script javascript avec les balises <script> </script>

on créer ainsi la variable map :

puis ensuite on va intégrer des fonctions que l’on va afficher dans la carte avec la fonction addTo(map)

avec nos tuiles ça donne :

Attention, Gdal2Tiles créer les Tuiles au format TMS, il faut inverser les x et y

On va enfin utiliser un overlay entre les couches qui sera contrôlé par une réglette et généré par la fonction clip();

voici le code entier

 


7- Résultat

Et voilà c’est prêt ! utilisez la réglette en haut de l’image pour passer de 2012 à 1924 !

 

Tagged , , , ,

Balade familiale sur les hauteurs de Leucate-La-Franqui

Un courte Balade sur les hauteurs de Leucate. Belle vue sur les falaises qui plongent à pic dans la mer, mais aussi sur les P.O au sud et la plage de la Franqui au Nord. Possibilité de voir des parapentistes en pleine action !

Ballade courte, idéale avec enfants. Attention lorsqu’il y a trop de vent quand même

Pour la petite info il y a pleins de géocaches dans le coin , ce qui correspond à la ballade familiale idéale donc 🙂

Pour info le géocaching est une chasse au trésor internationale au GPS.

Résumé :

Longueur totale : 6.86 Km

Altitude min/max :  29 m / 61 m

Dénivelé : 300 m

Durée : 3 Heures

Vitesse max : 6.71 Km/h

Vitesse moyenne : 2.80 Km/h

 

Tagged , ,

Ballade en raquettes aux Bouillouses

Un bien belle balade en raquettes aux Bouillouses. La trace GPS est incomplète sur le chemin de fin pour économie de batterie….

Attention balade un peu sportive si on veut partir d’en bas (parking ski de fond sur RD618) et si on est chaussé de raquettes bien sur !

On peut, pour raccourcir,  partir du grand parking des Bouillouses,  proche du camping sur RD60, ou carrément du Pla des Avellans si la route est ouverte.

 

Résumé :

Longueur totale : 20.66 Km

Altitude min/max :  1 591 m / 1 955 m

Dénivelé : 1160  m

Durée :  6 Heures 30 min

Vitesse moyenne : 3.28 Km/h

[sgpx gpx= »/wp-content/medias/gpx/bouillouses.gpx »]