User:Patchi/Tutorial/How to create a map/1 Prepare

From OpenStreetMap Wiki
Jump to navigation Jump to search

Préparation de l’environnement Ubuntu pour Phyghtmap

Pour obtenir les cartes SRTM et fichiers HGT, vous aurez besoin de l’outil Phyghtmap. Cet outil présente des restrictions sous Windows. Il est donc préférable d’utiliser cet outil sous Linux. Le meilleur moyen est sans doute d’utiliser une machine Linux virtuelle avec VirtualBox et d’installer la distribution Ubuntu (testé avec une version 16). 

Téléchargez VirtualBox et Ubuntu Desktop.

Après avoir installé VirtualBox, installez Ubuntu dans sa version minimale. Pour faciliter la suite de la procédure, vous pouvez changer l’option de VirtualBox Presse-Papier partagé et la mettre en mode bidirectionnel ce qui vous permettra de copier les lignes de script en dessous et les insérer directement dans la machine virtuelle Ubuntu. N’oubliez pas d’Installer les ‘VirtualBox Guest Additions’ pour votre environnement Ubuntu (reliez le fichier VBoxGuestAddition.iso au lecteur CD virtuel et laissez-vous guider par Ubuntu) et redémarrez votre environnement Ubuntu. Vous pouvez également partager votre dossier OSM de Windows (par ex. D:\OSM à adapter selon votre système) afin de pouvoir échanger des fichiers entre votre environnement virtuel Ubuntu et votre machine Windows.

Ouvrez une fenêtre terminal (bouton droit souris - ouvrir un terminal) et exécutez chacune des lignes suivantes (droits administrateur nécessaire)  afin d’installer les librairies de Python3 manquantes dans la distribution Ubuntu :

sudo apt install python3-pip
sudo apt-get install python3-setuptools
sudo apt-get install python3-matplotlib
sudo apt-get install python3-bs4
sudo apt-get install python3-numpy
sudo apt-get install python3-gdal
sudo pip install http
sudo pip install cookiejar 

Téléchargez la version distribution actuelle de phyghtmap

Décompressez l’archive.  Ensuite allez dans le répertoire où vous avez décompressé l’archive et exécuter la ligne suivante dans le terminal : 

sudo python3 setup.py install 

(important vous devez utiliser la commande pyhton3 et non pas python car python version 2 est également installé mais provoquera une erreur lors de la génération des données SRTM). Vous pouvez maintenant vérifier que l’outil fonctionne en exécutant la commande : 

phyghtmap --version 

Si vous obtenez la version c’est que tout fonctionne, sinon il faut chercher l’erreur. 

Téléchargement des données SRTM

Démarrez votre environnement virtuel Ubuntu et lancez une fenêtre terminal.  Si vous avez au préalable partagé votre dossier OSM (voir réglage dossiers partagés de VirtualBox – vous devriez partager votre répertoire D:\OSM - ne pas oublier le montage automatique), vous devez simplement vous rendre sur ce dossier partagé. VirtualBox les relie au répertoire /media. Ce répertoire n'est pas accessible aux utilisateurs standard. A l’aide du terminal exécuter la commande afin de pouvoir ajouter votre utilisateur au groupe pouvant accéder au répertoire partagé de VirtualBox : 

sudo usermod -aG vboxsf <votre_utilisateur>

Il faut redémarrer le système pour que ce changement soit prise en compte.

Ensuite il vous suffira à chaque fois pour générer des fichier SRTM d'utiliser un fenêtre terminal avec la commande :

cd /media/sf_* 

Maintenant vous pouvez commencer à générer les fichiers HGT et les données SRTM.

  • Les contours SRTM3 de la NASA contiennent des trous, mais le serveur www.viewfinderpanoramas.org compense ces erreurs et nous allons paramétrer phyghtmap avec l’option --source=view3 pour qu’il aille chercher les données de ce serveur (et non pas du serveur de la NASA).
  • Conservez les fichiers SRTM3 téléchargés pour les utiliser plus tard avec mkgmap pour le DEM et Hillshading à l’aide de l’option --hgtdir.
  • Les contours 0m provoquent des artéfacts qui ne sont pas très beau.  Il est donc préférable de retirer les courbes de niveau 0 à l’aide de l’option --no-zero-contour.
  • Afin de ne pas mélanger les données SRTM avec les données OSM par la suite il est nécessaire d’indexer les contours avec un index extrêmement haut. Ceci peut être fait avec les options --start-node-id=20000000000 et --start-way-id=20000000000.
  • Si vous voulez créer un seul fichier SRTM pour votre région il suffit d’utiliser l’option --max-nodes-per-way=0. Il est utile dans ce cas de préciser le préfixe du fichier de sortie, ceci afin de le retrouver plus facilement à la fin. L’option --output-prefix permet de fixer le début du nom du fichier de sortie.
  • Les données SRTM générées peuvent être dans différents formats. Le plus économe et pratique est le format pbf qui peut être généré avec l’option –pbf.
  • Maintenant le paramétrage principal. Il s’agit de générer des courbes de niveau. Les 2 paramètres essentiels dans ce cas sont --step et --line-cat. Un bon compromis reste de générer une ligne tous les 20 mètres et de mettre les catégories moyenne à 100 et majeure à 500, mais vous pouvez changer ces paramètres si nécessaire et relancer la conversion.

Voici donc la ligne de commande : 

phyghtmap --polygon=./OSM-Data/Poly/provence-alpes-cote-d-azur.poly --no-zero-contour --max-nodes-per-tile=0 --max-nodes-per-way=250 --start-node-id=20000000000 --start-way-id=20000000000 --step=20 --line-cat=500,100 --source=view3 --hgtdir=./SRTM/HgtCache --output-prefix=output --pbf 

Vous devez à la fin de la conversion déplacer le fichier de sortie et le renommer 

mv output*.osm.pbf ./SRTM-Data /provence-alpes-cote-d-azur-SRTM.osm.pbf 

Vous n’aurez à générer les données SRTM qu’une seule fois puisque celle-ci ne changent pas par principe. De même pour les fichiers HGT téléchargés.

L’utilisation des données SRTM1 est également possible moyennant adaptation de la ligne de commande :

phyghtmap --polygon=./OSM-Data/Poly/provence-alpes-cote-d-azur.poly --no-zero-contour --max-nodes-per-tile=0 --max-nodes-per-way=250 --start-node-id=20000000000 --start-way-id=20000000000 --step=20 --line-cat=500,100 --source=view1 --srtm=1 --hgtdir=./SRTM/HgtCache --output-prefix=output --pbf 

Si jamais il vous manque des tuiles SRTM1 vous pouvez rapatrier celles qui vous manquent sur le site de l'agence spatiale européenne.

Préparation de l’environnement Windows

Veuillez vérifier que vous avec bien Java 1.8 pour utiliser les versions actuelles de mkgmap et splitter. Sous Windows 10 (mais aussi Windows 7) vous pouvez accéder au répertoire de Java en utilisant le lien créé lors de l’installation de Java et ceci indépendamment de la version de Java. Ce lien peut être utilisé dans comme variable dans un fichier batch (*.bat) : 

set JavaDir=C:\ProgramData\Oracle\Java\javapath 

Pour générer vos cartes vous devriez créer un répertoire global (par ex. D:\OSM à adapter selon votre système). Ensuite créez des sous-répertoires pour bien différencier le type de données :

  • \Tools – sous-répertoire où seront placer tous les outils tel que mkgmap ou splitter
  • \OSM-Data – sous-répertoire où seront entreposées les données OSM brutes
  • \OSM-Data\Poly  – sous-répertoire de OSM-Data où seront entreposées les données de découpages OSM
  • \SRTM-Data – sous-répertoire où seront entreposées les données SRTM transformées pour les intégrer avec les données OSM
  • \SRTM\HgtCache – sous-répertoire où seront entreposées les données topographiques (utilisées en autre pour générer les données SRTM)

Par la suite selon le type de cartes que vous voulez générer (pour BaseCamp, pour votre GPS, etc…) vous aurez également besoin de trier ces données à des endroits bien précis. Les répertoires suivants peuvent être nécessaires pour votre cas :

  • \GZ – sous-répertoire où seront entreposées les données prédécoupées de splitter et autres fichiers de compilation de mkgmap
  • \IMG – sous-répertoire où seront entreposées les cartes installées pour BaseCamp
  • \INSTALL – sous-répertoire où seront entreposées les fichiers d’installation de cartes
  • \GARMIN – sous-répertoire où seront entreposées les cartes pour appareils Garmin 

Téléchargement des données OSM

Utilisez GeoFabrik pour télécharger les dernières donnes OSM de la région PACA ainsi que le fichier de découpage.  

Télécharger les dernières données PACA et placez-les dans le sous répertoire \OSM-Data. Si vous souhaitez télécharger régulièrement les données, l’utilisation d’un outil tel que wget peut être utile pour automatiser votre compilation de cartes. Personnellement j’utilise mon NAS pour télécharger les fichiers et mon script ne fait que lire les fichiers du NAS pour les copier sur mon ordinateur.

Télécharger le fichier de découpe de la région Provence-Alpes-Cote_d'Azur et placez –le dans le sous répertoire \OSM-Data\Poly. Vous n’aurez qu’à télécharger ce fichier qu’une seule fois.

Lors du découpage des données OSM en tuiles, le nom de la tuile peut-être indiqué automatiquement en utilisant un fichier précompilé contenant les limites des villes importantes. Ce fichier est disponible sur le serveur

http://download.geonames.org/export/dump/cities1000.zip

Téléchargez ce fichier et placez le dans le répertoire \OSM-Data.

Deux autres fichiers pour la compilation sont disponibles à partir du serveur de l’université de Wuppertal

http://osm2.pleiades.uni-wuppertal.de/bounds/latest/bounds.zip

http://osm2.pleiades.uni-wuppertal.de/sea/latest/sea.zip

Téléchargez ces fichiers et placez les dans le répertoire \OSM-Data