Avec GeoBaseNHN2osm (2010)

Préparation

1. Télécharger l'outil GeoBaseNHN2osm v.0.3.5 pour avoir les fichiers rules.txt
   Personnellement, j'ai créer un répertoires rulesTXT et j'ai extrait le fichier HD_WATERBODY_2RULES.txt et HD_SLWATER_1RULES.txt

1.1 Corriger le fichier HD_WATERBODY_2RULES.txt en ajoutant le type natural=water au textes avec le mot-clé "Unknown"
    Après le bloc "#4 _Lake _A natural and usually flat body of water.", ajouter:
outer,TYPE_TEXT,Unknown,natural,water
outer,TYPE_TEXT,Unknown,type,lake

1.2 Décommenter les lignes
outer,VALDATE,,GeoBaseNHN:VALDATE,-
outer,ACCURACY,,accuracy:meters,-

1.3 Commenter les lignes
inner,TYPE_TEXT,Canal,waterway,canal
inner,TYPE_TEXT,Reservoir,landuse,reservoir
inner,TYPE_TEXT,Watercourse,natural,water
inner,TYPE_TEXT,Watercourse,type,watercourse
inner,TYPE_TEXT,Watercourse,waterway,stream
inner,TYPE_TEXT,Tidal River,natural,water
inner,TYPE_TEXT,Tidal River,type,tidal_river
inner,TYPE_TEXT,Tidal River,waterway,stream
inner,TYPE_TEXT,Liquid Waste,landuse,basin
inner,TYPE_TEXT,Liquid Waste,basin,infiltration
inner,TYPE_TEXT,Pond,natural,water
inner,TYPE_TEXT,Pond,type,pond
inner,TYPE_TEXT,Side Channel,natural,water
inner,LAKENAME_1,,name,-
inner,LAKENAME_2,,name:2,-
inner,RIVNAME_1,,name,-
inner,RIVNAME_2,,name:2,-

1.4 IMPORTANT: Commenter toutes les lignes avec ,type,

2. Télécharger l'outil Shp-to-osm.jar
   wget http://svn.yellowbkpk.com/dist/release/com/yellowbkpk/geo/shp-to-osm/0.7.7/shp-to-osm-0.7.7-jar-with-dependencies.jar

3. Créer le répertoire out
   mkdir out

4. Télécharger la dernière version de josm
   wget http://josm.openstreetmap.de/josm-tested.jar

Conversion des données

1. Vérifier le bassin hydrographique que vous voulez ajouter sur la carte GeoBase.

1.1 Par exemple, en regardant les numéros en jaune, autour de Mont-Laurier, il y a les bassins: 
    02LC000 (Rivière-Rouge/St-Jérôme - fait), 
    02LD000 (Sud de Nominingue - fait), 
    02LE000 (Lièvre/Mont-Laurier - fait), 
    02LF000 (Kiamika - fait), 
    02LG000 (Baskatong - fait)
    02LH000 (La Gatineau/Maniwaki - fait), 

2. Vérifier que le bassin hydrographique n'est pas déjà ajoutée sur la page du wiki Geobase_NHN_-_OSM_Map_Feature

3. Télécharger la version anglaise correspondante au bassin
ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/

# par exemple, le bassin 02lf000 a cette URL:
# ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02lf000_shp_en.zip

4. Extraire l'archive dans un répertoire utilisant le nom du bassin.
unzip nhn_rhn_02lf000_shp_en.zip -d 02lf000

5. Vérifier que les fichiers WATERBODY et SLWATER sont présents et noter le numéro après le texte.
   Parfois il peut s'agir d'un ancien bassin avec WATERBODY_1.
ls 02lf000/*{WATERBODY,SLWATER}*.shp

# Dans mon cas
# 02lf000/NHN_02LF000_1_0_HD_SLWATER_1.shp      # 1
# 02lf000/NHN_02LF000_1_0_HD_WATERBODY_2.shp    # 2

6. Exécuter la commande
java -cp shp-to-osm-0.7.7-jar-with-dependencies.jar com.yellowbkpk.geo.shp.Main --shapefile 02lf000/NHN_02LF000_1_0_HD_WATERBODY_2.shp \
 --rulesfile rulesTXT/HD_WATERBODY_2RULES.txt --osmfile 02lf000_HD_WATERBODY_2. \
 --outdir out --outputFormat osm --maxnodes 20000

7. Ouvrir JOSM
    java -jar josm-tested.jar

8. Ouvrir les fichiers .xml du répertoire out/ avec le menu "Fichier > Ouvrir...".

9. Vérification:
   9.1 Vérifier que les lacs sont bleus. 
       Si ce n'est pas le cas, vous avez oublier de corriger le fichier rulesTXT/HD_WATERBODY_2RULES.txt à l'étape 1.1 de la préparation
       Corriger le fichier rulesTXT, effacer les fichiers xml du répertoire osm et recommencer à l'étape 6.

   9.2. Vérifier les cartes et enlever les noeuds et chemins dupliqués

   9.3. Rechercher nodes:2000 et couper les polygones pour qu'ils soient tous fermés avec 2000 noeuds et moins.

10. Faire la même procédure d'importation avec les rivières (SL_WATER) en éditant le fichier HD_SLWATER_1 pour enlever tous les types 1
    et enlever les commentaires des lignes suivantes: (décommenter)
    outer,VALDATE,,GeoBaseNHN:VALDATE,-
    outer,ACCURACY,,accuracy:meters,-

11. Télécharger toutes les données après importation et enlever les noeuds et chemins dupliqués

Avec GeoBaseNHN2osm (2009)

Lire: http://wiki.openstreetmap.org/wiki/Geobase_NHN_-_OSM_Map_Feature
Lire: http://wiki.openstreetmap.org/wiki/GeoBaseNHN2osm

1. Télécharger le script geobaseNHN2osm0_12.zip

2. Extraire dans les 19 fichiers dans le répertoire geobaseNHN2osm0_12
unzip geobaseNHN2osm0_12.zip

3. Aller dans le nouveau répertoire
cd geobaseNHN2osm0_12/geobaseNHN2osm/

4. Trouver le réseau hydrographique qu'il faut extraire (les numéros en jaune): 
http://www.geobase.ca/geobase/en/browse.do?produit=nhn&decoupage=units&map=canada

Par exemple, il s'agit de 02LE000 pour Mont-Laurier, 
Autour: 02LE000 et 02LG000, 02LH000, 02LF000, 02LD000, 02LC000.
Note: Lorsqu'on clique sur une zone de la carte en jaune, le numéro de la zone est ajouté dans le champ texte.

5. Trouver les shp files du gouvernement du Canada sur leur serveur ftp.
ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/

Soit: 
mkdir shp_en && cd shp_en
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02le000_shp_en.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02lg000_shp_en.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02lh000_shp_en.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02lf000_shp_en.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02ld000_shp_en.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_en/02/nhn_rhn_02lc000_shp_en.zip

ou pour la version française (ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/)
mkdir shp_fr && cd shp_fr
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/02/nhn_rhn_02le000_shp_fr.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/02/nhn_rhn_02lg000_shp_fr.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/02/nhn_rhn_02lh000_shp_fr.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/02/nhn_rhn_02lf000_shp_fr.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/02/nhn_rhn_02ld000_shp_fr.zip
wget ftp://ftp2.cits.rncan.gc.ca/pub/geobase/official/nhn_rhn/shp_fr/02/nhn_rhn_02lc000_shp_fr.zip


6. Télécharger mes fichiers pour le français et mon script d'importation.
mv rulesTXT rulesTXT.orig
svn checkout http://svn.progysm.com/svn/progysm/geobaseNHN2osm/ .
cp rulesTXT.orig/* rulesTXT/

7. Exécuter les commandes une par une, ou enlever les "echo" de echo java et echo unzip pour l'exécuter.
Noter que HD_OBSTACLE_0 ne fonctionne pas car rulesTXT/HD_OBSTACLE_012RULES.txt n'est pas présent dans geobaseNHN2osm0_12.zip

8. Télécharger la dernière version testée de josm et lancer le programme
wget http://josm.openstreetmap.de/josm-tested.jar
java -jar josm-tested.jar

9. Télécharger la carte de la région. Fichiers > Téléchargement depuis OSM...

10. Ouvrir les cartes générées par le script d'importation. Soit HD_ILE_2.osm0.osm, 
TO_NAMEDFEA, HN_HYDROJUNCT, HN_DELIMITER, HD_WATERBODY ou HD_SLWATER

11. La première carte que j'ai fait est celle des îles (HD_ILE).
J'ai effacé les deux îles ajoutées par potlatch. Ensuite j'ai sélectionner la carte (layer) HD_ILE et importer le tout. 
C'est extrêmement long d'importer 15338 éléments. J'aurais dû utiliser le script bulk_import.pl à la place.