Imposm pour Open Streets Map avec AQréseau dans votre SIG bureautique

J'ai utilisé pour un client, l'utilitaire imposm dans le but de créer une carte de base spécifique pour ses besoins. Ce logiciel Open source s'exécute dans un environnement virtuel python "virtualenv". J'ai été surpris par l'efficacité de l'outil et surtout l'énorme potentiel qu'il offre pour avoir accès à une donnée de contexte gratuite, disponibles en format vectoriel de façon uniformes pour la planète !  Cet utilitaire a le mérite de grandement simplifier l'utilisation des données du monstre OSM en créant un modèle de donnée plus proche du SIG que du GPS (modèle par défaut de OSM). Le découpage des données OSM proposé par impom est documenté sur le site.

Pour utiliser cet outil vous avez besoin:
  • d'un Mac ou Ubuntu
  • d'un serveur Postgresql / PostGIS  ( en mode local sur votre Laptop ou PC pas de problème)
  • des librairies et outil imposm  (l'installation est simple, suivre la procédure sur le site Web)
example de données disponibles

J'ai utilisé un fichier de données OSM découpé selon les limites de la province de Québec à partir du serveur Geofabrik.  Geofabrik est une entreprise d'Allemagne qui offre des services professionnelles aux entreprises et organismes publics désirant utiliser l'information Open Streets Map pour leurs besoins.  Sur ce serveur, les données sont mises à jour de façon quotidienne.  Le format utilisé par IMPOSM est le pbf (Protocolbuffer Binary Format ) qui est plus compressé et plus rapide.  Dans mon cas, j'avais déjà un serveur Postgresql / PostGIS, donc je n'ai eu qu'à créer une nouvelle base de données.  J'ai ajouté dans ma procédure, l'ajoute de la Géobase AQréseau

1)Installer imposm
sudo apt-get install build-essential python-dev protobuf-compiler 
                     libprotobuf-dev libtokyocabinet-dev python-psycopg2 
                     libgeos-c1
sudo apt-get install libgeos-dev
sudo apt-get install python-virtualenv
virtualenv venv
source venv/bin/activate
pip install Shapely==1.2.10
pip install https://github.com/olt/shapely_speedups/tarball/master
pip install imposm
2)Télécharger un fichier de données OSM via Geofabrik
wget http://download.geofabrik.de/osm/north-america/canada/quebec.osm.pbf
3)Créer une base de données PostGIS  'osm'
createdb -E utf8 -O postgres -T postgis osm
4)Charger les données avec l'outil imposm
imposm --read quebec.osm.pbf
imposm --write --database osm --host localhost --user osm
imposm  --optimize -d osm
5)Je vais en profiter pour ajouter la Géobase d'Adresses Québec à mon serveur  de cette façon:
wget http://adressesquebec.gouv.qc.ca/zip/aqreseau.zip
unzip aqreseau.zip
cd ../ESRI(shp)/
shp2pgsql -s 3798 -c -g the_geom -I -W "latin1" AQ_ROUTES.shp aq_routes >aq_routes.sql
export PGCLIENTENCODING=LATIN1
psql -d osm -U osm -W -f aq_routes.sql
NOTE: Attention au système de projection de la base de données epsg:3798

Pour ce qui est de mon importation de la province, la liste des tables du modèle, avec le nombre d'enregistrements pour la province de Québec est listé ici.  De plus, on remarquera que toutes les tables on un préfixe (osm_new).  Cette particularité est liée aux fonctionnalités facilitant les mises à jour des données OSM (mise à jour différentielle non supportée).

osm=# SELECT schemaname,relname,n_live_tup 
FROM pg_stat_user_tables 
ORDER BY n_live_tup DESC;
schemaname |         relname          | n_live_tup
------------+--------------------------+------------
public     | aq_routes                |     408276
public     | osm_new_waterways        |     245797
public     | osm_new_minorroads       |     195209
public     | osm_new_waterareas       |     131509
public     | osm_new_landusages       |      98800
public     | osm_new_mainroads_gen1   |      69004
public     | osm_new_mainroads_gen0   |      69004
public     | osm_new_mainroads        |      69004
public     | osm_new_waterareas_gen1  |      47531
public     | osm_new_buildings        |      38948
public     | osm_new_landusages_gen1  |      34800
public     | osm_new_landusages_gen0  |      11318
public     | osm_new_waterareas_gen0  |       9585
public     | osm_new_motorways_gen0   |       7320
public     | osm_new_motorways_gen1   |       7320
public     | osm_new_motorways        |       7320
public     | osm_new_railways_gen1    |       6129
public     | osm_new_railways_gen0    |       6129
public     | osm_new_railways         |       6129
public     | osm_new_transport_points |       5010
public     | osm_new_places           |       3191
public     | osm_new_amenities        |       1933
public     | osm_new_admin            |        473
public     | osm_new_transport_areas  |        222
public     | osm_new_aeroways         |        193

La taille de la base de données OSM pour la province de Québec n'est que de 635Mb dans la base de données si on soustrait la taille des données Adresses Québec (AQréseau).

osm=# SELECT pg_size_pretty(pg_tablespace_size('pg_default'));
 pg_size_pretty
----------------
 744 MB
(1 row)
osm=# SELECT pg_size_pretty(pg_relation_size('aq_routes')) as table_size;
 table_size
------------
 109 MB
(1 row)

Du coup, je me retrouve avec une base de données de contexte pratique faciles à utiliser avec QGis ou n'importe quel autre SIG bureautique pouvant se connecter a Postgersql / PostGIS.

Ajoute d'une couche de parc dans mon projet QGis

Un WMS de AQréseau

J'ai fait quelques essais avec la couche de données gratuite AQréseau. J'ai chargé les données dans Postgresql/PostGIS. Ce WMS (http://mapcoop.org/cgi-bin/aqreseau) diffusé avec Mapserver est disponible pour consultation dans votre SIG bureautique préféré. La cartographie du service n'est pas parfaite mais elle montre ce qu'il est possible de faire avec cette nouvelle couche de données. Je l'ai aussi placé dans une vue OpenLayers pour rendre la chose plus facile et la consulter rapidement. Le WMS AQréseau: http://mapcoop.org/cgi-bin/aqreseau Du point de vue purement cartographique, on pourra y faire quelques découvertes.  Entre autres la liste de données qu'il est possible de cartographier. Le nombre de segments "Pistes cyclables" (11) n'est pas très élevé pour l'instant. Même chose pour les "Sentiers piétonniers"(2). Espérons qu'on aura accès à cette information prochainement... J'ajoute quelques statistiques sur la classification des données pour cette première version. select clsrte,caractrte,count(gid) from aq_routes group by clsrte,caractrte order by clsrte,caractrte;
clsrtecaractrteNb de segments
Accès localités isolées178
Accès ressourcesBretelle3
Accès ressources694
ArtèreBretelle263
ArtèreTraverse530
Artère19485
AutorouteBretelle4772
AutorouteTraverse301
AutorouteVirage en U1325
AutorouteVoie de service528
Autoroute8179
Collectrice564
Collectrice de transitBretelle63
Collectrice de transitCarrefour giratoire6
Collectrice de transitTraverse28
Collectrice de transitVirage en U14
Collectrice de transit15176
Collectrice municipaleBretelle309
Collectrice municipaleCarrefour giratoire14
Collectrice municipaleConflit SDA4
Collectrice municipaleTraverse799
Collectrice municipaleVirage en U5
Collectrice municipale34485
LocaleBretelle585
LocaleCarrefour giratoire12
LocaleConflit SDA30
LocaleDivers 51
LocaleLiaison maritime42
LocaleTournebride1
LocaleTraverse3168
LocaleVirage en U55
LocaleVirtuel617
LocaleVoie de service4
Locale280914
NationaleBretelle675
NationaleCarrefour giratoire78
NationaleTournebride15
NationaleTraverse131
NationaleVirage en U157
NationaleVoie de service9
Nationale20170
Piste cyclable11
RégionaleBretelle172
RégionaleCarrefour giratoire29
RégionaleTournebride5
RégionaleTraverse70
RégionaleVirage en U23
Régionale13561
Rue piétonne14
Sentier piétonnier2
   

Adresses Québec 2.0, toute “opinion” n’est pas bonne à dire

La conférence Géomatique 2011 de Montréal, a permis au MRNF de lancer sa gamme de produits Adresses Québec 2.0. Ce projet de base de données routières vieux d'une dizaine d'années est le résultat d'une collaboration de longue date entre quatre ministères (Ressources naturelles, Transports, Élections, Municipales), ce qui ajoute à sa complexité.

N'ayant pas vraiment eu de réponse à ma demande d'#échangeconstructifdemandésvp, sur mon timeline twitter suite à ce tweet légèrement tranchant, je suis donc allé à la source pour avoir plus d'information sur le projet et sur le comment les ministères impliqués avaient l'intention de financer leurs opérations de mises à jour de cette Géobase routière toute québécoise.

L'offre se découpe en une gradation de 6 produits : AQréseau, AQcarto, AQgéo, AQpro, AQgéobâti, AQdirection.

Le produit gratuit AQréseau,  avec ses champs "NomRte", "NoRte", "ClsRte"  n'offre que la possibilité de produire des cartes avec un SIG bureautique donc pas vraiment utile pour la recherche d’adresses!  Bien que les mises à jour soient fréquentes (à vérifer), on pourra utiliser l'alternative nationale plus complète, avec tranches d'adresses sur le site de la Géobase fédérale.  Par contre ce produit est mis à jour une fois par année.  De plus, le "Réseau routier national" (RRN) est connecté topologiquement aux provinces voisines, ce qui sera un gros avantage pour plusieurs.  Enfin, Adresses Québec est plus à jour géographiquement que le RRN (408 276 vecteurs contre 397 529 au RRN).

AQcarto (contexte cartographique) sera offert en WMS aux clients sous contrat, donc pas ouvert au public! Il faudra avoir un compte avec un mot de passe pour pouvoir y accéder!  Ce service ne sera donc pas vraiment destiné à une application Web destinée au grand public.   À moins d’utiliser une cascade WMS offerte par l’organisation sous contrat.    Mapserver par exemple offre cettte option avec l'option de gérer l'authentification avec "wms_auth_username" et "wms_auth_password".  Pour GeoServer, cette option en cascade devrait être éventuellement disponible.

Il faut opter pour l'option AQgéo pour commencer à pouvoir géocoder des adresses sur le territoire québécois.  Il est intéressant de connaître qu'avec l'option AQpro on pourra avoir accès à des mises à jour régulières (mois, aux 3 mois, année).

Une option inédite qui n'est disponible nulle part ailleurs est l'option AQgéobâti, une option inédite qui n'est disponible nulle part ailleurs, offre la possibilité de cartographier les 3.2 millions d'adresses (points) attachées aux segments de routes provenant du rôle d'évaluation municipale du MAMROT.

Du coup, la recherche et le positionnement d'adresses directes sans algorithme de géocodage, beaucoup plus précis seront possibles.  Quant qu’à la dernière option AQdirection,  elle permettra de faire les calculs d'itinéraires.

Les produits sont destinés à la fonction publique (ministères, organismes, municipalités) et devraient techniquement rester gratuits pour tous ses utilisateurs en fonction des ventes au secteur privé.  C'est ici qu'on entre dans une zone grise!  La liste des prix n'est pas disponible.  Une demande doit être adressée à la Géoboutique, et sera évaluée cas par cas.   On m'a assuré que les prix étaient comparables à ceux du secteur privé (DMTI, Navteq).  Le secteur privé qui travaille pour le secteur public aura donc facilement accès au produit. Si les ventes ne sont pas assez importantes, il faudra probablement que tous les gros utilisateurs gouvernementaux contribuent une quote-part importante pour permettre à l'équipe de mises à jour (une dizaines de cartographes) de pouvoir travailler.

J'ai personnellement de gros doutes sur l'opération Adresse Québec 2.0.  À mon humble avis, on n’a pas encore trouvé la bonne formule pour mettre ce produit sur le marché.   On a attendu beaucoup trop longtemps pour le mettre en circulation avec la solution parfaite, payante et avec la traditionnelle gouvernance exclusive gouvernementale.  Pour quelle raison on a construit cette Géobase? Pour un projet spécifique ou pour la vendre? Produire cette donnée publique est une dépense pour un gouvernement.  Mais elle est une dépense rentable!  Malheureusement, la survie de ce projet et de sa réussite quant à la qualité des données, n'est liée qu'à son financement et non à son utilité.   L'innovation technologique et les retombées économiques liées à la libéralisation de la donnée ne sont aucunement considérées.  Nos organisations publiques n'ont peut-être simplement pas suffisamment de flexibilité pour créer un modèle de financement et de production, novateur en mode collaboratif et volontaire.  De plus, aller à contre courant de la plupart des grandes organisations nord-américaines avec les données de mission à caractère public, n'est pas une mince affaire.

Je ne dis pas que c'est simple et facile ce projet et ne souhaite pas sa fin loin de là. Pour avoir travaillé une quinzaine d'années dans la fonction publique québécoise, j'avoue que je comprends l'approche adoptée même si je ne l'endosse pas.  Je comprends le défi important que les quatre producteurs se sont imposés. Mais il reste que d'autres options privées seront toujours disponibles gratuites, ou payantes, pour ceux qui ont besoin d'une donnée fiable et cette option publique a peut-être raté sa cible!  On n'a peut-être simplement pas les moyens de nos ambitions!

Je souhaite la meilleure des chances au projet et aussi à mes amis qui y travaillent.  Nous suivrons votre projet avec intérêt.