<div>Bonjour,</div>
<div> </div>
<div>J'ai fait l'installation des outils nécessaires pour la création d'une base Postgis sous un schéma "full-history".</div>
<div>Puis j'ai pu créer une base de données, basée sur un extrait de la zone de Nancy pour vérifier le bon fonctionnement de l'ensemble.</div>
<div>Pas de suspens, ça fonctionne bien :-) </div>
<div> </div>
<div>Bémol important : les relations ne sont pas (encore) gérées, donc pas de multi-polygons ni de relations "route"</div>
<div>(Désolé pour ceux qui voulaient voir l'évolution des réseaux de transport public)</div>
<div> </div>
<div>L'outil de découpage / création de base de donnée / générateur de rendu se trouve ici</div>
<div><a href="https://github.com/MaZderMind/osm-history-renderer">https://github.com/MaZderMind/osm-history-renderer</a></div>
<div> </div>
<div>le readme renvoie vers un tutoriel</div>
<div><a href="https://github.com/MaZderMind/osm-history-renderer/blob/master/TUTORIAL.md">https://github.com/MaZderMind/osm-history-renderer/blob/master/TUTORIAL.md</a></div>
<div> </div>
<div>Le gros morceau de l'installation est en fait d'installer Osmium, de Jochen Topf, qui remplace ici osm2pgsql.<br><a href="https://github.com/joto/osmium">https://github.com/joto/osmium</a></div>
<div>Il y a une grosse liste de packages à installer. Mais ils sont clairement décrits et chez moi c'était sans souci. Tous sont dispo sur les dépôts de packages Ubuntu. </div>
<div>Bien entendu, il y a une exception, le dernier : OSMPBF, qui doit être compilé (une fois les autres packages installés)</div>
<div> </div>
<div>Une fois la compilation d'OSM Installer terminée, il n'y a plus qu'à télécharger l'extrait de son choix</div>
<div>(Nancy, Paris et France sont déjà disponibles, et datent du 19/09/2011) et créer la base Postgis</div>
<div> </div>
<div>
<div>
<div>-> Les instructions sont données pour une debian 6.0.3 et Postgis 8.3 donc l'usage sur d'autres distributions demande quelques petits ajustements. Je mets en [1] les commandes que j'ai utilisées la création de la base de données sur ma config (Ubuntu 11.10 & PostgreSQL 9.1)</div>
</div></div>
<div> </div>
<div>J'ai suivi la méthode la plus simple, qui consiste à utiliser le même nom d'utilisateur que de base de données. </div>
<div>C'est pas le top pour un usage "sérieux", et on peut utiliser l'argument --dsn dans la commande pour préciser les accès à la base de donnée</div>
<div>(voir le <a href="http://readme.md">readme.md</a> [2] pour plus d'infos)</div>
<div> </div>
<div>J'ai fait l'opération sur le plus petit (Nancy)</div>
<div>
<div>$wget <a href="ftp://ftp5.gwdg.de/pub/misc/openstreetmap/osm-full-history-extracts/110919/pbf/europe/france/nancy.osh.pbf">ftp://ftp5.gwdg.de/pub/misc/openstreetmap/osm-full-history-extracts/110919/pbf/europe/france/nancy.osh.pbf</a></div>
<div>$ osm-history-importer nancy.osh.pbf5<br clear="all"></div>
<div>Et tout s'est passé sans encombres.</div>
<div> </div>
<div>J'ai fait l'essai de la requête sur les longueurs de voirie après qu'elle ait été ajustée par Peter Körner, pour coller avec le schéma de la bdd [3].</div>
<div>La réponse arrive quelque part entre 200 et 500 ms pour cette petite zone (je n'ai pas gardé la trace des résultats exacts, mais ça donne une idée)</div></div>
<div>En ajustant la date de départ (2010-01-01 dans la requête initiale), j'ai pu observer les variations des résultats (cf. [4])</div>
<div> </div>
<div>Comme par exemple la variation du kilométrage de voirie résidentielle, par incrément annuel jusqu'à la dernière date valide (18 sept. 2011) </div>
<div>(valeurs à ne considérer qu'en relatif, puisque la projection est 900913 dans la requête)</div>
<div><font face="courier new,monospace"></font> </div>
<div><font face="courier new,monospace">Date | km</font></div>
<div><font face="Courier New">-------------------</font></div>
<div><font face="courier new,monospace">2008-01-01 | 78</font></div>
<div><font face="Courier New">2009-01-01 | 198</font></div>
<div><font face="Courier New">2010-01-01 | 315</font></div>
<div><font face="Courier New">2011-01-01 | 415</font></div>
<div><font face="Courier New">2011-09-18 | 594<font face="courier new,monospace"></font></font></div>
<div> </div>
<div>Voilà pour les premiers essais. C'est plutôt encourageant.</div>
<div> </div>
<div>L'étape suivante intéressante serait de mettre en place une bdd avec l'extrait france sur un serveur osm-fr,</div>
<div>Permettre d'y faire d'autres requêtes (par une interface de query [5] -> en lecture seule et avec un time-out of course),</div>
<div>Présenter les résultats sous une forme attrayante sur le site principal. </div>
<div> </div>
<div>Il y a d'abord une contrainte d'espace disque pour la France, la base devant être un peu plus grosse que la base actuelle d'un extrait équivalent. </div>
<div>Pas vraiment de contrainte concernant la vitesse de l'import initial et de la tenue à jour (pas de diff à appliquer) : </div>
<div>le planet "full-history" n'est actualisé que quelques fois par an au mieux.</div>
<div> </div>
<div>On pourra aussi regarder plus dans le détail comment fonctionnent les rendus pour maîtriser la chaine de "production" jusqu'à obtenir une video </div>
<div>_ dans un format libre et répandu, propre, léger, à la bonne résolution (web, HD, full HD), </div>
<div>_ Pour une zone géographique donnée,</div>
<div>_ Dans la période et au pas de temps la mieux adaptée.</div>
<div>
<div>_ avec les règles de rendu de son choix (ce sont des feuilles de style xml Mapnik)</div>
<div> </div>
<div> </div></div>
<div>==========================================================</div>
<div><font face="courier new,monospace">[1] Commandes ajustées pour Ubuntu 11.10 et PostgreSQL 9.1</font></div>
<div><font face="courier new,monospace"></font> </div>
<div><font face="courier new,monospace"> $sudo -u postgres createdb -E UTF8 -O fabien fabien</font></div>
<div><font face="courier new,monospace"> $ sudo -u postgres createlang plpgsql fabien</font></div>
<div><font face="courier new,monospace"> $ echo "CREATE EXTENSION hstore;" | psql -d fabien</font></div>
<div><font face="courier new,monospace"> $ echo "CREATE EXTENSION btree_gist;" | psql -d fabien</font></div>
<div><font face="courier new,monospace"> $ sudo -u postgres psql fabien </usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql</font></div>
<div><font face="courier new,monospace"> $ sudo -u postgres psql fabien </usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql</font></div>
<div><font face="courier new,monospace"> $ echo 'GRANT ALL ON geometry_columns TO fabien' | sudo -u postgres psql fabien</font></div>
<div><font face="courier new,monospace"> $ echo 'GRANT ALL ON spatial_ref_sys TO fabien' | sudo -u postgres psql fabien</font></div>
<div><font face="courier new,monospace"></font> </div>
<div><font face="courier new,monospace"> $wget </font><a href="ftp://ftp5.gwdg.de/pub/misc/openstreetmap/osm-full-history-extracts/110919/pbf/europe/france/nancy.osh.pbf"><font face="courier new,monospace">ftp://ftp5.gwdg.de/pub/misc/openstreetmap/osm-full-history-extracts/110919/pbf/europe/france/nancy.osh.pbf</font></a></div>
<div><font face="courier new,monospace"> $ osm-history-importer nancy.osh.pbf5<br clear="all"></font></div>
<div><font face="courier new,monospace">[2] </font><a href="https://github.com/MaZderMind/osm-history-renderer/blob/master/README.md"><font face="courier new,monospace">https://github.com/MaZderMind/osm-history-renderer/blob/master/README.md</font></a></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">[3] Requête SQL</font></div>
<div><font face="Courier New"> select tags->'highway' AS highway,<br> <br> count(way),</font></div>
<div><font face="Courier New"> round(sum(ST_Length(way)) / 1000) as kilometers<br> from hist_line</font></div><font face="Courier New">
<div><br> where tags ? 'highway' AND<br> tags->'highway'<br> IN (</div>
<div> ('motorway'),</div>
<div> ('trunk'),</div>
<div> ('primary'),</div>
<div> ('secondary'),</div>
<div> ('tertiary'),</div>
<div> ('unclassified'),</div>
<div> ('residential'),</div>
<div> ('track'),</div>
<div> ('path'),</div>
<div> ('footway')</div>
<div> )<br> AND '2010-01-01' BETWEEN valid_from AND COALESCE(valid_to, '9999-12-31')<br> group by tags->'highway';</div>
<div></div></font>
<div><font face="Courier New">
<div><font face="Courier New">[4] Résultats des Requête SQL</font></div></font></div>
<div> </div>
<div><font face="courier new,monospace">2008-01-01</font></div>
<div><br><font face="courier new,monospace">"unclassified";44;19</font></div>
<div><font face="courier new,monospace">"secondary";81;116</font></div>
<div><font face="courier new,monospace">"primary";73;138</font></div>
<div><font face="courier new,monospace">"track";1;1</font></div>
<div><font face="courier new,monospace">"motorway";36;68</font></div>
<div><font face="courier new,monospace">"trunk";2;2</font></div>
<div><font face="courier new,monospace">"tertiary";83;58</font></div>
<div><font face="courier new,monospace">"residential";186;78</font><br><font face="courier new,monospace">_______________________</font></div>
<div><br><font face="courier new,monospace">2009-01-01</font></div>
<div><br><font face="courier new,monospace">"unclassified";93;34</font></div>
<div><font face="courier new,monospace">"secondary";188;166</font></div>
<div><font face="courier new,monospace">"primary";120;159</font></div>
<div><font face="courier new,monospace">"track";1;1</font></div>
<div><font face="courier new,monospace">"footway";36;10</font></div>
<div><font face="courier new,monospace">"motorway";42;64</font></div>
<div><font face="courier new,monospace">"trunk";10;6</font></div>
<div><font face="courier new,monospace">"tertiary";189;119</font></div>
<div><font face="courier new,monospace">"path";3;3</font></div>
<div><font face="courier new,monospace">"residential";582;198</font></div>
<div><font face="courier new,monospace">_______________________</font></div>
<div><br><font face="courier new,monospace">2010-01-01</font></div>
<div><br><font face="courier new,monospace">"unclassified";129;30</font></div>
<div><font face="courier new,monospace">"secondary";254;174</font></div>
<div><font face="courier new,monospace">"primary";117;147</font></div>
<div><font face="courier new,monospace">"footway";216;35</font></div>
<div><font face="courier new,monospace">"track";18;29</font></div>
<div><font face="courier new,monospace">"motorway";47;64</font></div>
<div><font face="courier new,monospace">"trunk";19;17</font></div>
<div><font face="courier new,monospace">"tertiary";220;131</font></div>
<div><font face="courier new,monospace">"path";34;30</font></div>
<div><font face="courier new,monospace">"residential";985;315</font></div>
<div><font face="courier new,monospace">_______________________</font></div>
<div><br><font face="courier new,monospace">2011-01-01</font></div>
<div><br><font face="courier new,monospace">"unclassified";138;30</font></div>
<div><font face="courier new,monospace">"primary";194;171</font></div>
<div><font face="courier new,monospace">"secondary";263;191</font></div>
<div><font face="courier new,monospace">"footway";273;40</font></div>
<div><font face="courier new,monospace">"track";34;40</font></div>
<div><font face="courier new,monospace">"motorway";48;64</font></div>
<div><font face="courier new,monospace">"trunk";19;17</font></div>
<div><font face="courier new,monospace">"tertiary";215;123</font></div>
<div><font face="courier new,monospace">"path";102;55</font></div>
<div><font face="courier new,monospace">"residential";1404;415</font></div>
<div><font face="courier new,monospace">_______________________</font></div>
<div><br><font face="courier new,monospace">2011-09-18</font></div>
<div><font face="courier new,monospace">"unclassified";156;45</font></div>
<div><font face="courier new,monospace">"primary";207;164</font></div>
<div><font face="courier new,monospace">"secondary";290;190</font></div>
<div><font face="courier new,monospace">"footway";310;53</font></div>
<div><font face="courier new,monospace">"track";78;67</font></div>
<div><font face="courier new,monospace">"motorway";53;61</font></div>
<div><font face="courier new,monospace">"trunk";25;23</font></div>
<div><font face="courier new,monospace">"tertiary";280;147</font></div>
<div><font face="courier new,monospace">"path";130;63</font></div>
<div><font face="courier new,monospace">"residential";2102;594</font></div>
<div> </div>
<div>[5] <a href="http://www.gis.hsr.ch/wiki/PostGIS_Terminal">http://www.gis.hsr.ch/wiki/PostGIS_Terminal</a><br>-- <br><a href="http://wiki.openstreetmap.org/wiki/User:Ab_fab" target="_blank">ab_fab</a><br>"Il n'y a pas de pas perdus"<br>
</div>