Map/Comment est générée cette carte

De Stéphane Brunner.

< Map

Sommaire

Vocabulaire utilisé

  • Les dalles sont des image de 1°x1° générée depuis un fichier SRTM.
  • Les tuiles sont des images générée par MapNik utile pour OpenLayers.

Description rapide

  • Importer les donnée OSM dans PostGIS.
  • Compiler colors-hade.cpp et void-filling.cpp.
  • Générer les dalles SRTM color-shade et importer les données de contour avec do (prends environ 1 semaine)
    cd /media/Mapnik/SRTM/hgt;ionice -c3 nice -n 19 ../../scriptes/do *.hgt.zip
  • Générer les dalles Aster color-shade et importer les données de contour avec do-aster (prends plusieurs jours suivant le nombre de fichiers, sur mon ordi environ 40s par fichier.)
    cd /media/Mapnik/Aster/Sources;ionice -c3 nice -n 19 ../../scriptes/do-aster *.zip
  • Générer les différentes couches avec postdo (prends environ 6 jours sur mon ordi)
    cd /media/Mapnik/SRTM;ionice -c3 nice -n 19 ../scriptes/postdo
  • Créer le fichier MapNik pour toutes les différentes dalles colorshade avec (prends plusieurs heures) maketiff_xml
    cd /media/Mapnik/scriptes;ionice -c3 nice -n 19 ./maketiff_xml
  • Génère le fichier MapNik pour les contours avec generatexml (si mes souvenirs sont bon prends environ 1 heure)
    cd /media/Mapnik/scriptes;ionice -c3 nice -n 19 ./generatexml
  • Préparer MapNik.
  • Générer les tuiles avec MapNik avec generate_tiles.py (comme ordre d'idée le zoom 11 sur l'Europe m'a pris environ on 4 jours ...)
    cd /media/Mapnik/mapnik;ionice -c3 nice -n 19 ./generate_tiles.py


  • Générer le fond marin
    cd /media/Mapnik/Fond-marin/GEBCO_08;ionice -c3 nice -n 19 python test-multi;ionice -c3 nice -n 19 ../../scriptes/postdo-fonds

Mon organisation des répertoire

/media/Mapnik/mapnik - utilitaire osm pour MapNik (svn checkout http://svn.openstreetmap.org/applications/rendering/mapnik).

/media/Mapnik/demtools - colors-hade.cpp et void-filling.cpp.

/media/Mapnik/SRTM - SRTM scriptes (do, scale2.txt, maketiff-xml.py,srtm_generate_hdr.sh).

/media/Mapnik/SRTM/data - Contiens les données SRTM téléchargées.

/media/Mapnik/Aster/Sources - Contiens les données SRTM téléchargées.

/media/Mapnik/SWBD - Contiens les donnée SWBD de contour des étendue d'eau (ftp://e0srp01u.ecs.nasa.gov/srtm/version2/SWBD)

/var/www/map - Répertoire du serveur web.

Importer les données OSM

Installer PostGis 8.3 avec les modules contrib.

sudo -u postgres -i
createuser user
createdb -E UTF8 -O user osm
createlang plpgsql osm
psql -d osm -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
psql -d osm -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql
psql -d osm -f /home/sbrunner/workspace/Mapnik/osm2pgsql/900913.sql
psql -d osm -f /usr/share/postgresql/8.3/contrib/_int.sql
psql -d osm -f /media/Mapnik/mapnik/900913.sql 
#psql -d osm -f /media/Mapnik/mapnik/setup_z_order.sql
exit

osm2pgsql --slim --merc --create planet-date.bz


Compiler colors-shade.cpp et void-filling.cpp

g++ -O3 color-shade.cpp -lMagick++ -lX11  -lgdal1.5.0 -L/usr/lib/ -I/usr/include/gdal/ -o color-shade
g++ -O3 void-filling.cpp -lMagick++ -lX11  -lgdal1.5.0 -L/usr/lib/ -I/usr/include/gdal/ -o void-filling
mkdir ~/bin
ln -s "`pwd`/color-shade" ~/bin
ln -s "`pwd`/void-filling" ~/bin
echo "export PATH=$PATH:~/bin" >> ~/.bashrc

MapNik

  • Dans le fichier generate_tiles.py commenter les lignes 97 et 98 :
#                    command = "convert  -colors 255 %s %s" % (tile_uri,tile_uri)
#                    call(command, shell=True)
  • Modifier la fin du fichier a votre convenance.
  • Définir les variable d'environnement suivante :
export MAPNIK_MAP_FILE=/media/Big/Mapnik/mapnik/osm-my.xml
export MAPNIK_TILE_DIR=/var/www/map/tiles
  • Pour générer les tuiles exécuter le scripte generate_tiles.py
  • Vous pouvez également utiliser le scripte generate_map.py pour créer une carte spécifique (regardez le début du fichier).

Données requise

Programme requis

PPA for Ubuntu : https://launchpad.net/~stephane-brunner/+archive/mapnik

Fichiers utilisé

Remplissage des trous pour les dalles SRTM
Calcule colorshade
Définition des couleurs par altitudes
Extraction des données SRTM
Automatisation du calcule des dalles d'altitude (colorshade) de 1°x1°
  • do (/media/Mapnik/scriptes)
Ajoute les étendue d'eau sur les dalle colorshade (si mes souvenirs sont bon !)
  • doSWBD (/media/Mapnik/scriptes)
Crée les fichiers shp pour les contours
Remplissage des trous entre les dalles
Scriptes d'assemblage des tuiles en plusieurs couches 
  1. 1°x1°
  2. 1°x90°
  3. 6°x90°
  4. 180°x90°
  5. 360°x180° (complet)
  • postdo (/media/Mapnik/scriptes)
  • postdoSWBD (/media/Mapnik/scriptes) je ne sais plus si je l'ai utilisé finalement.
Créer le fichier MapNik pour toutes les différentes dalles colorshade
Génère le fichier MapNik pour les étendue d'eau (plus utiliser me semble-t-il !)
Génère le fichier MapNik pour les contours
Fichier de style MapNik pour le calcule final
Script modifié de calcule des tuiles
Fichiers pour la publication web

Lien contexte

Pour toutes question ou remarque poster un message.

Outils personnels