User:DenisHelfer/ortho BMO

From OpenStreetMap Wiki
Jump to navigation Jump to search

Méthodologie pour convertir un entrepôt d'images en couche de données exploitables par JOSM

Introduction

Quand des données images sont légalement utilisables pour OSM, comme dans le cas de l'orthophotoplan de l'agglomération brestoise, elles restent à traduire en informations utilisables pour le projet. L'objectif de cette page, en se basant sur le cas concret des photographies aériennes de Brest Métropole Océan, est d'indiquer la marche à suivre pour faire en sorte que le contributeur de base puisse disposer, dans JOSM, d'un calque de travail de qualité à l'instar des images satellite Landsat ou de l'orthophotographie fournie par Yahoo. Cette méthodologie fait des choix techniques particuliers (tous implémentés dans le monde open source) tout en essayant de s'en abstraire le plus possible en indiquant à chaque étape l'objectif à atteindre.

Nous postulons que les images sont en format jpeg ; nous connaissons les coordonnées géographiques du coin supérieur gauche de chaque dalle (abbrégées plus bas en ulx et uly pour respectivement l'abscisse et l'ordonnée de l'"upper left corner"). Nous en connaissons aussi la résolution : en l'occurence 1 pixel représente 20 cms sur le terrain ; les dalles représentent une couverture de 1x1km par 5000x5000 pixels.

Nous supposerons que le serveur est équipé des logiciels suivants : proj4, mapserver, gdal/ogr (outils open source de base pour notre projet). La partie mise à disposition du résultat ne sera évoquée que dans les grandes lignes.

Le géoréférencement des dalles

Le géoréférencement consiste à indiquer la correspondance entre les coordonnées de l'image et les coordonnées sur le terrain. Il faut donc spécifier les coordonnées du coin supérieur gauche, le sens et l'échelle de chaque fichier.

Certains formats de fichier permettent d'embarquer ces informations directement dans les entêtes du fichier (tiff devenant geotiff, ecw, etc.).

Dans l'exemple, nous allons utiliser des "world files" qui sont des fichiers textes dont le nom de base (basename) est le même que le fichier image mais dont le suffixe est composé de la première, de la dernière lettre du suffixe du fichier image, le tout complété par un joli "w" (pour indiquer qu'il s'agit d'un "world file". Ainsi, le fichiers de géoréférencement d'une photo nommée "107_100.jpg" s'appelera "107_100.jgw"

Le world file a une structure très simple qui tient en 6 lignes :
ligne 1 : taille du pixel en x
ligne 2 : composant x d'une rotation de l'image (très souvent 0)
ligne 3 : composant y d'une rotation de l'image
ligne 4 : taille du pixel en y
ligne 5 : abscisse en unité terrain du centre du pixel du coin supérieur gauche
ligne 6 : ordonnée en unité terrain du centre du pixel du coin supérieur gauche

Exemple pour notre fichier image ci-dessus :
0.2 -> 20 cms pour un pixel
0.0 -> aucune rotation
0.0 -> aucune rotation
-0.2 -> attention au "-" pour indiquer de faire décroître le y vers le bas de l'image
107000.1 -> attention à ajouter 1/2 pixel pour atteindre le centre du pixel
99999.9 -> attention à retirer un 1/2 unité pour atteindre le centre du pixel

le catalogue des dalles

Un catalogue de dalles (ou de tuiles) permet de rassembler dans un seul fichier la description de chaque fichier participant à une couverture raster (coverage).

Classiquement, un catalogue est un fichier qui donne le chemin absolu de la tuile et les coordonnées de sa boîte englobante (bbox) sous la forme d'un polygone. A vérifier si Mapserver n'accepte que des shapefiles pour décrire des catalogues ou si on peut passer par une table PostGIS.

le mapfile

conclusion