[OSM-talk-fr] Carte Tango

Vincent Pottier vpottier at gmail.com
Jeu 16 Sep 21:19:08 UTC 2010


On 14/09/2010 22:41, g.d wrote:
> J'ai enfin trouve comment afficher avec bigmap, heureka ! :-)
> Suis d'abord tombé quelque part au large de Groenland dans l'eau, pas 
> trouvé les bons n° de tiles, celles de T at H ne semblent pas être les 
> mêmes,
> mais avec la fonction zoom-out de bigmap j'ai réussi à regagner terre 
> ferme.
>
> [...]
> Comment j'en fais un seul beau jpg ou png ?
> Un fichier que je pourrai imprimer disons à 300 dpi sur un A3 ?
> Faut-il re-mouliner tous les png un à un dans photoshope, à la main ?
> C'est où que j'ai raté le coche ? (On devient vieux...).
> Merci pour vos conseils !
Cadeau : le code que je me suis fait pour faire un png de toute la 
France au zoom 10 (et autres images de cartes dont je veux garder la trace).
Il doit être facilement adaptable pour un autre serveur.
Il y a des exemples de lignes de commandes.
Il faut juste relever les coordonnées des tuiles extrêmes.
Attention : il y a une boucle pour forcer le rafraichissement des 
tuiles, certainement à supprimer pour des serveurs non osm.
Ça nécessite image magik.
Ça n'est pas propre mais je n'ai aucun complexe. Quand j'étais à 
l'école, les cours d'informatique n'existaient pas (en seconde en math, 
j'ai amené la calculatrice de mon père : un événement !). Quand j'ai 
fini les études, dans ma famille (fort en avance !) l'ordinateur était 
un ZX81 avec 1 Ko de ram.
Des petits malins sauront l'améliorer.
----------------------------------------------------------
#!/bin/bash

# ./mapTilesBuilder.sh 496 381 535 341 10 france10.png
# ./mapTilesBuilder.sh 535 382 539 375 10 corse10.png
# ./mapTilesBuilder.sh 1004 952 1006 950 11 douroula10.png
# ./mapTilesBuilder.sh 32165 30460 32169 30457 16 douroula16.png
# ./mapTilesBuilder.sh 128661 121844 128677 121828 18 douroula18.png
#  args : left, bottom right top zoom file

s='http://b.tile.openstreetmap.org/'
x=`expr 1 + $3 - $1`
y=`expr 1 + $2 - $4`
size="`expr $x \* 256`x`expr $y \* 256`"
echo "left: $1, bottom: $2, right: $3, top: $4, zoom: $5"
echo 'x.y: ' $size ' px'
# convert -size $size! xc:khaki $6
mytmp="tmp$6"
mkdir $mytmp
cd $mytmp

# refresh tiles
for y in `seq $4 $2`
do
# echo -n "x $x "
# echo -n '|'
   for x in `seq $1 $3`
   do
    wget -q "$s$5/$x/$y.png/dirty" -O "dirty.txt"
    echo -n "."
   done
  echo
done
echo "refreshed"
w='' # init whole
for y in `seq $4 $2`
do
# echo -n "x $x "
# echo -n '|'
  if [ -f "$y.png" ]
  then
   echo -n '-'
  else
   r='' # init row
   for x in `seq $1 $3`
   do
    wget -q "$s$5/$x/$y.png" -O "-$x.png"
    r="$r -$x.png" # set row
    echo -n "."
   done
   convert $r +append $y.png # record row
  fi
  w="$w $y.png" #set whole
  echo
done
convert $w -append ../$6 # record whole
cd ..
# rm -R  $mytmp

echo

exit 0
--------------------------------------------------
FrViPofm




Plus d'informations sur la liste de diffusion Talk-fr