Le projet Imhof

Introduction

Le but du projet Imhof, nommé en l'honneur du cartographe Eduard Imhof, est d'écrire un programme de dessin de cartes topographiques d'un style similaire à celui des cartes suisses, à partir de données librement disponibles. Ces données proviennent d'une part du projet OpenStreetMap, et d'autre part du site viewfinderpanoramas de Jonathan de Ferranti.

La carte d'Interlaken et sa région, présentée dans la figure 1 ci-dessous, a été générée au moyen du corrigé du projet. Le style de cette carte s'inspire fortement de celui des cartes topographiques nationales.

interlaken.png

Figure 1 : Interlaken et sa région

En guise de comparaison, la figure 2 ci-dessous montre la carte officielle au 1:50'000 pour cette même région.

interlaken-swisstopo.png

Figure 2 : Interlaken et sa région (© swisstopo)

Le programme à réaliser ne comporte pas d'interface graphique. Il prend simplement en entrée deux fichiers de données — le premier contenant les données OpenStreetMap, le second le modèle du terrain — ainsi que des informations concernant la zone à dessiner, et produit en sortie une image de carte.

Vue d'ensemble

La figure 3 ci-dessous illustre l'organisation générale du programme. D'une part, les données OpenStreetMap sont chargées depuis un fichiers OSM (au format XML) puis transformées en entités géométriques simples (segments de droites et polygones) avant d'être dessinées pour obtenir une carte sans relief. D'autre part, les informations altimétriques sont chargées depuis un fichier DEM (au format HGT), puis transformées en image du relief. Ces deux images sont finalement combinées pour obtenir la carte en relief finale.

Sorry, your browser does not support SVG.

Figure 3 : Organisation du programme

Questions administratives

Le projet se fait par groupes de 2 personnes au maximum. La formation de ces groupes est libre et peut changer au cours du semestre, pour peu que les directives concernant le plagiat soient respectées. En particulier, si deux personnes ayant travaillé en commun se séparent, elles doivent se partager le code et ne peuvent chacune l'emporter en totalité de leur côté.

La note du projet, qui constitue 60% de la note finale, est composée des éléments suivants :

Elément Poids
Rendus mineurs 5%
Rendu testé 25%
Rendu intermédiaire 25%
Test d'images 5%
Rendu final 40%
Total 100%

Un rendu mineur est un rendu qui n'est ni testé ni évalué manuellement. Pour obtenir les points associés à un tel rendu, il vous faut rendre votre projet via le système de rendu dans le délai imparti, et il faut que celui-ci soit accepté par notre système. Il y a plusieurs rendus mineurs durant le semestre, et les 5% des points attribués aux rendus mineurs sont partagés uniformément entre eux.

Le rendu testé est un rendu que nous soumettons à des tests unitaires, et pour lequels vous obtenez un nombre de points dépendant du nombre et du poids des tests passés avec succès.

Le rendu intermédiaire et le rendu final sont quant à eux corrigés manuellement, et la note déterminée en fonction de la qualité de votre programme. L'efficacité, la concision et l'élégance de votre programme sont pris en compte dans cette évaluation.

Finalement, le test d'image consiste à comparer les images de cartes produites par votre programme avec nos images de référence, et à vous attribuer des points en fonction de leur correspondance.