Générer une liste de territoire individuel à partir d'un KMZ

Avant toutes choses : ce tutoriel a été écrit pour linux, je n'ai pas testé sur d'autres environnements et je ne suis même pas sûr que ça soit faisable

Installer tilemill et OSMBright

Je vous laisse le lien de l'article précédent pour l'installation de tilemill, la configuration d'un projet OSMBright Faire sa propre carte openstreetmap Ensuite et c'est important : créer un nouveau fichier de style perso.mss et enregistrer le projet.

Installer les fichiers nécessaires

Pré-requis technique

  • Evidemment suivre le tutoriel complet précédent
  • Installer ruby
  • Installer le gem nokogiri :
    gem install nokogiri
  • Installer GIMP (avec flatpak impérativement !)
  • Installer ImageMagick

Pré-requis de fichier

  • Avoir un fichier kmz (google earth pro (gratuit)) qui contient un polygone par territoire, chaque polygone devra avoir comme nom le numéro du territoire (ex: A ou 001) et en description TERR_num ou num est le numéro exemple (ex: TERR_A ou TERR_001) (vous trouverez un fichier d'exemple : territoires.kmz ci-dessous)
  • Avoir un fichier csv avec les colonnes 'number', 'locality', 'merchant' qui contient pour chaque ligne le numéro du territoire, localité, et si le territoire à un territoire commerçant associé (s'enregistre avec LibreOffice/OpenOffice) cela permettra de remplir les fichiers S12 (vous trouverez un fichier d'exemple : liste_territoires.csv ci-dessous)

Vous pouvez maintenant cloner le dossier dans (ou bien télécharger le zip du projet)

git clone https://github.com/rivsc/export_s12_territoires

Vous devez transformer votre kmz en kml (en fait le fichier kmz est un fichier zip qui contient un xml) :
- renommer votre fichier kmz en zip.
- ouvrez le fichier zip et vous pouvez maintenant extraire le fichier doc.kml et placez-le dans le dossier territoire

Sur le projet OSMBright :

Ajouter un layer pour doc.kml (fichier : choisissez doc.kml, id choisissez "territoires") Tilemill ajouter un layer
Ajouter un layer pour les numéros d'immeuble (layer Postgis, dbname=osm et query voir capture pour l'id choisissez 'housenumbers') Territoire S12 avec numéros d'immeuble
Ouvrez le fichier kml_to_xcf_s12.rb avec l'éditeur texte et mettez les bons chemins concernant votre installation et le lieu de vos fichiers entre la zone :
##################
## Configuration
##################

et

##################
## Fin Configuration
##################

Si vous suivez les conventions, il n'y aura peut-être pas besoin de modifier quoique ce soit.


Vous pouvez maintenant ouvrir un terminal, placez-vous dans le dossier et lancer le fichier kml_to_xcf_s12 (pensez à changer le chemin qui pointe vers votre fichier) :
cd /home/riven/territoire && ruby kml_to_xcf_s12.rb

Normalement dans le dossier d'export il devrait y avoir un dossier par territoire avec les S12 dedans (Attention c'est long 5min pour faire un territoire complet). Vous pouvez vérifier chaque territoire dans certains cas il faudra utiliser le calque de rue en 50 et d'autres fois dans d'autres tailles (vous pouvez combiner plusieurs taille en gommant les parties inutiles.
Une fois les territoires terminés, vous pouvez utiliser le script xcf_to_xcf_and_png_and_planche.rb qui va prendre les S12, générez les versions commerçant/non-commerçant ainsi que les territoires jaunes de campagne spéciale et en faire des planches A4 qui pourront être imprimées et découpées.
cd /home/riven/territoire && ruby xcf_to_xcf_and_png_and_planche.rb

Lors du lancement du script kml_to_xcf_s12.rb, un script GIMP est installé dans votre GIMP, si vous ouvrez un territoire *.xcf, vous trouverez dans votre GIMP un nouveau menu (Fichier => Créer => Territoires => Créer un nom de rue, cela vous permettra de rajouter des rues qui s'affichent mal, etc...
Félicitations vous êtes arrivé au bout !