Blog.dedj - Mot-clé - openstreetmap2024-03-18T17:45:50+00:00DJurn:md5:ec413926c59f3429c0faf7b519401a97DotclearOpenstreetmap : Quelques astuces 2urn:md5:9d799992b11068954daaa24bee115dc52021-11-12T18:55:00+01:002021-11-22T20:36:58+01:00DJlogiciels libresopenstreetmap <p>De nouveau un petit billet avec des astuces pour Openstreetmap. Enfin ici c'est juste une.</p>
<p>J'avais besoin d'extraire les donnés ajoutés par un utilisateur spécifique.</p>
<p><ins>Je montre une manière de faire, il y a certainement plus rapide ou plus pratique. Genre overpass-API. Si vous en connaissez, y a les commentaires</ins></p>
<p>Comme d'habitude je travaille d'abord dans une zone définie, la Wallonie <sup>[<a href="https://blog.dedj.be/index.php/post/2021/11/12/Openstreetmap-%3A-Quelques-astuces-2#wiki-footnote-1" id="rev-wiki-footnote-1">1</a>]</sup></p>
<p>Donc la première étape après avoir téléchargé le fichier pour la Belgique et pour un usage interne aux contributeurs d'openstreepmap sur le site de <a href="https://download.geofabrik.de/europe/belgium.html" title="Geofabrik">Geofabrik</a></p>
<p>Le fichier obtenu est "belgium-latest-internal.osm"</p>
<p>Il me faut aussi les frontières de la Wallonie, pour ça on fait une recherche sur le site d'openstreetmap,</p>
<p><img src="https://blog.dedj.be/public/osm/Screenshot_2021-11-12_at_18-52-45_OpenStreetMap.png" alt="" style="display:table; margin:0 auto;" /></p>
<p>On clique logiquement sur "Frontière de"</p>
<p>Et je vois que la Wallonie a le numéro d'id 90348. C'est visible dans l'url <a href="https://www.openstreetmap.org/relation/90348" title="https://www.openstreetmap.org/relation/90348">https://www.openstreetmap.org/relat...</a>.
Puis on copie l'id sur le site <a href="http://polygons.openstreetmap.fr/" title="polygons openstreetmap">polygons openstreetmap</a> pour obtenir un fichier .poly</p>
<p>Puis je lance la commande</p>
<p><code>osmconvert belgium-latest-internal.osm.pbf -B=wallonie.poly -o=wallonie.osm</code></p>
<p>Pour extraire la Wallonie de la Belgique.</p>
<p>Vu que je ne bosse que sur les buildings, je filtre de nouveau le fichier pour ne garder qu'eux. <sup>[<a href="https://blog.dedj.be/index.php/post/2021/11/12/Openstreetmap-%3A-Quelques-astuces-2#wiki-footnote-2" id="rev-wiki-footnote-2">2</a>]</sup></p>
<p><code>osmfilter wallonie.osm --keep="building=" -o=walloniee_building.osm</code></p>
<p>Le fichier produit ne contient donc "que" les buildings crée par n'importe qui en Wallonie (ça représente 1.6 Gio en novembre 2021, la Wallonie au complet donne 3.3 Gio)</p>
<p>Puis vu que j'ai besoin que des modifications faites par un utilisateur, il faut arriver a le trouver.</p>
<p>Vu qu'un utilisateur est susceptible de changer de nom, Openstreetmap lui attribue un numéro universel qui lui ne change pas.</p>
<p>Pour trouver ce numéro, il faut aller sur la page openstreetmap de l'utilisateur et regarder l'historique de ses contributions https://www.openstreetmap.org/user/XXXXXX/history.</p>
<p>On clique sur une des modifications et tout en bas il y a "XML du groupe de modification" on clique dessus et ça ouvre les données brutes du changement</p>
<p><code><changeset id="XXXX" created_at="2021-11-10TXXX" closed_at="2021-11-10TXXX" open="false" user="XXXXX" uid="XXXXX" min_lat="XXXXX" min_lon="XXXX" max_lat="XXXXX" max_lon="XXXXX" comments_count="0" changes_count="X"></code></p>
<p>Ce dont a besoin, c'est le uid</p>
<p>On lance donc une commande</p>
<p><code>osmfilter wallonie_building.osm --keep="@uid=XXXX" -o=wallonie_building_user.osm</code></p>
<p>Qui produit un fichier osm avec les changements d'un seul utilisateur.</p>
<p>(Il y a moyen aussi de faire l'inverse en supprimant un utilisateur. Il suffit de remplacer keep par drop)</p>
<p>Alors pourquoi j'ai fait ça ?</p>
<p>Car je voulais voir les contributions d'un utilisateur dont croise parfois des contributions quand je cartographie. Et une des particularités de ses contributions, c'est qu'il fait très souvent une seule maison dans une rue.</p>
<p><em>C'est étrange mais après réflexion, c'est possiblement pour aider les GPS à trouver cette rue (car s'il ne trouve pas le n°5 mais qu'il connaît le n°75 ben il va l'indiquer)</em></p>
<p>Voilà ce que ça donne avec Josm et un fond de carte en semi-transparent pour vous permettre de mieux situer.</p>
<p>(Attention, s'il y a bcq de données Josm va avoir du mal)</p>
<p><a href="https://blog.dedj.be/public/osm/osm_find_user_contrib.png"><img src="https://blog.dedj.be/public/osm/.osm_find_user_contrib_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Et un zoom, on remarque bien les "une maison par rue" sauf sur certains secteurs.</p>
<p><a href="https://blog.dedj.be/public/osm/osm_find_user_contrib2.png"><img src="https://blog.dedj.be/public/osm/.osm_find_user_contrib2_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="https://blog.dedj.be/index.php/post/2021/11/12/Openstreetmap-%3A-Quelques-astuces-2#rev-wiki-footnote-1" id="wiki-footnote-1">1</a>] partie sud de la Belgique</p>
<p>[<a href="https://blog.dedj.be/index.php/post/2021/11/12/Openstreetmap-%3A-Quelques-astuces-2#rev-wiki-footnote-2" id="wiki-footnote-2">2</a>] Y a moyen de faire toutes les commandes en une, mais bon je fais de la pédagogie</p></div>
https://blog.dedj.be/index.php/post/2021/11/12/Openstreetmap-%3A-Quelques-astuces-2#comment-formhttps://blog.dedj.be/index.php/feed/atom/comments/401Openstreetmap : Quelques astucesurn:md5:1302dae3c3e63a0fdef28f0f78a3abc92019-10-27T12:35:00+01:002019-11-02T19:42:18+01:00DJlogiciels libresopenstreetmap <p>Petites astuces</p>
<p><strong>JOSM</strong></p>
<p>Dans une ville, il y avait un lotissement où je n'avais pas vu que les maisons avec un numéro dans les 500 avaient un autre nom de rue.</p>
<p>Au lieu de sélectionner les maisons une par une, puis de changer le nom de rue de l'ensemble.</p>
<p>On active la recherche via expression régulière. On cherche</p>
<pre>
housenumber:5[0-9][0-9]
</pre>
<p>Ça sélectionne l'ensemble des maisons avec un numéro qui commence par 5 avec 2 chiffres entre 0 et 9</p>
<p>Et ça fonctionne.
Mais faites quand même bien attention au motif et aux changements provoqués.
Par exemple au début je n'avais pas mis</p>
<p><code>housenumber</code></p>
<p>Ben ça cherchait tous les trucs avec un 5 et deux chiffres derrières.</p>
<p>Sauf que je bosse dans une province avec un code postal qui commence par 5 ...</p>
<p>Autre astuce : Trouver les batiments sans adresse</p>
<p>Faire une recherche avec</p>
<pre>
building=* -addr
</pre>
<p>(tous les building et le - devant addr veut dire sans)
<strong>Extraire une section d'un gros fichier OSM</strong></p>
<p>Ici extraire de belgium-20192019.pbf les éléments situé dans les limites du fichiers .poly, et l'enregistrer sous le nom namur-20192019.osm</p>
<pre>
osmium extract -p province_namur.poly belgium-20192019.pbf namur-20192019.osm
</pre>
<p>On peut arriver au même résultat avec Osm Convert</p>
<p><code>osmconvert belgium-20192019<sub>c.osm -B=province</sub>namur.poly -o=namur20192019.osm</code></p>
<p><strong>Extraire les buildings d'un fichier</strong></p>
<pre>
osmfilter namur-20192019.osm --keep="building=" -o=namur-20192019_building.osm
</pre>
<p>La page d'OSM Filter est super complète <a href="https://wiki.openstreetmap.org/wiki/Osmfilter" title="https://wiki.openstreetmap.org/wiki/Osmfilter">https://wiki.openstreetmap.org/wiki...</a></p>
<p><strong>Extraire les routes d'un fichier</strong></p>
<p><code>osmium tags-filter namur20192019.osm highway -o namur_rue.osm</code></p>
<p>J'ai utilisé ça pour sortir la liste des rues, chercher après les rues dont le début commençait par une minuscule et les corriger. (Il y avait peut être une solution plus simple, je pense en particulier a overpass API)</p>
<p><strong>Comparer les ajouts entre deux fichiers osm</strong></p>
<p>Ici je compare le fichier du 29/09/2019 par rapport à celui du 01/09/19</p>
<p><code> osmconvert prov<sub>namur190929.osm --subtract prov</sub>namur190901.osm -o=resultat.osm</code></p>
<p>Je ne pense pas qu'il indique ce qui aurait été retiré, mais j'ai trouvé les ajouts des gens et c'est ce que je voulais.</p>
<p>Un autre outil dans le même genre et en graphique c'est</p>
<p><a href="https://visualize-change.hotosm.org/edit" title="https://visualize-change.hotosm.org/edit">https://visualize-change.hotosm.org...</a></p>
<p>Mais étrangement ça ne semble pas fonctionner.</p>https://blog.dedj.be/index.php/post/2019/10/27/Openstreetmap-%3A-Quelques-astuces#comment-formhttps://blog.dedj.be/index.php/feed/atom/comments/385Openstreetmap : Tasks Managerurn:md5:6d71c8435aaab329856d96955fa0ebe82019-10-27T10:09:00+01:002019-10-27T23:00:05+01:00DJlogiciels libresopenstreetmap <p>J'avais expliqué <a href="https://blog.dedj.be/index.php/post/2018/11/04/Organiser-son-travail-sur-Openstreetmap-ou-organiser-une-cartopartie">ici</a> comment utiliser Mapcraft pour organiser son travail sur Openstreetmap.</p>
<p>Je vais ici présenter une autre solution, Tasks Manager qui est géré par <strong>Humanitarian OpenStreetMap Team</strong> (qu'on va simplifier en HOT).</p>
<p>HOT donc est un projet d'openstreetmap pour faire de la cartographie humanitaire.</p>
<p>L'exemple le plus connu est le <a href="https://fr.wikipedia.org/wiki/S%C3%A9isme_de_2010_en_Ha%C3%AFti">tremblement de terre en Haïti</a> qui avait rasé le pays, les secours humanitaires se retrouvaient avec des cartes inexistantes ou alors plus du tout valide suite aux dégâts ou à la non mise à jour.
Des cetaines de bénévoles ont recartographié le pays en live sur base des photos satellites, depuis chez eux.</p>
<p><a href="https://fr.slideshare.net/chippy/openstreetmap-case-study-haiti-crisis-response">Une présentation avec des avant/après</a></p>
<p>Pour éviter le travail en double, ils utilisent donc Tasks Manager qui permet de se réserver un petit secteur durant un moment, puis après cartographie indiquer si on a fini ou pas.</p>
<p>Tasks Manager est opensource. Et c'est dispo là <a href="https://github.com/hotosm/tasking-manager">https://github.com/hotosm/tasking-manager</a></p>
<p>La documentation est là <a href="https://learnosm.org/en/coordination/tasking-manager/" title="https://learnosm.org/en/coordination/tasking-manager/">https://learnosm.org/en/coordinatio...</a> pour les utilisateurs.</p>
<p>Et là <a href="https://learnosm.org/en/coordination/tasking-manager-project-admin/" title="https://learnosm.org/en/coordination/tasking-manager-project-admin/">https://learnosm.org/en/coordinatio...</a> pour les gestionnaires de projet.</p>
<p>(La documentation va être traduite en français, il y a un <a href="https://www.hotosm.org/jobs/training-materials-and-documentation-translator-french/">contrat de 3 semaines qui est lancé pour ça</a> )</p>
<p>On peut donc l'installer sur ses propres serveurs.</p>
<p>Personnellement j'ai essayé mais j'avais un bug.</p>
<p>Donc je suis passé sur la liste des instances publiques <a href="https://wiki.openstreetmap.org/wiki/Tasking_Manager">https://wiki.openstreetmap.org/wiki/Tasking_Manager</a></p>
<p>J'ai choisi l'instance Suisse <a href="http://tasks.osm.ch" title="http://tasks.osm.ch">http://tasks.osm.ch</a> car il y a déjà un projet belge <a href="http://tasks.osm.ch/project/5#task/80" title="http://tasks.osm.ch/project/5#task/80">http://tasks.osm.ch/project/5#task/...</a> par joost schouppe.</p>
<p>Par défaut si on se connecte comme utilisateur sur Tasks Manager, on peut juste contribuer, pas créer de nouveau projet.</p>
<p>J'ai donc demandé l'accès a un des deux administrateurs, et ma demande a été accepté très rapidement</p>
<p>J'ai donc eut le bouton pour créer un nouveau projet</p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_1.png"><img src="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_1.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>J'ai donc une fenêtre qui s'ouvre où on peut dessiner a la main la zone de travail ou charger un fichier.</p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_2.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_2_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Vu que j'avais un fichier .poly qui concerne les limites de la province de Namur, j'ai converti le fichier en fichier .osm via <a href="http://geojson.io/" title="http://geojson.io/">http://geojson.io/</a></p>
<p>Comme on peut le voir il propose de faire des zones de travail en carré ou alors sur base du fichier .osm crée (par exemple dans mon article plus haut, où j'ai utilisé les frontières des anciennes communes)</p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_4.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_4_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_6.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_6_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Vu la très grande surface de travail (3 666 km2) j'ai choisis de faire des zones de travail de taille XS .</p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_5.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_5_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Au cas où si vous choisissez une taille trop grande, les contributeurs peuvent décider de découper la zone où ils travaillent en carrés plus petits.
Par exemple si vous utilisez des grands carrés, car il y a beaucoup de campagne/désert etc les contributeurs qui cartographient une grosse ville en plein milieu auraient beaucoup plus de travail pour la même surface que ceux qui s'occupent des campagnes -> ils divisent pour avoir plus simple</p>
<p>Il est demandé de remplir une description et des instructions.
Par exemple sur certain projet HOT, le but est juste de dessiner les routes ou les maisons. (Car pour aller vacciner une région en Afrique, il manque beaucoup de route et des villages complet sont absents des données officielles -> impossible de les trouver)</p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_7.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_7_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Ne pas oublier de remplir les autres parties du formulaire, dont par exemple le commentaire par défaut des modifications</p>
<p><a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_8.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_8_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>ça permet de retracer les modifications par projet.
Par contre, par défaut il indique comme source Bing dans les changements via JOSM alors que j'utilise pas Bing ... (un des deux administrateurs de http://tasks.osm.ch/ m'explique que c'est parce que j'ai pas ajouté de carte par défaut et donc dans le code de Tasks Manager ils ont indiqué que ça devrait mettre Bing)</p>
<p>On peut aussi décider de créer un projet privé, envoyer un message aux contributeurs, ajouter des presets pour JOSM</p>
<p>Un aperçu du projet avec un zoom sur les zones de travail
<a href="https://blog.dedj.be/public/blog/blog/osm/tasksmanager_9.png"><img src="https://blog.dedj.be/public/blog/blog/osm/.tasksmanager_9_m.png" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Le projet est là <a href="http://tasks.osm.ch/project/11#task/209" title="http://tasks.osm.ch/project/11#task/209">http://tasks.osm.ch/project/11#task...</a></p>
<p><strong>A suivre</strong> Comment utiliser Tasks Manager pour contribuer sur un projet spécifique ou sur un projet HOT</p>
<p>En pièce jointe :</p>
<ul>
<li>le fichier de la province de namur en .poly (le fichier poly se fabrique avec <a href="http://polygons.openstreetmap.fr/" title="http://polygons.openstreetmap.fr/">http://polygons.openstreetmap.fr/</a> où on lui indique l'id, pour la province de namur il faut chercher sur openstreetmap après "Namur" , cliquer sur "Limite de département ou province Namur, Wallonie, Belgique" et dans l'URL on remarque que l'ID est <strong>1311816</strong></li>
<li>le fichier de la province de Namur en .osm (j'ai simplement ouvert le fichier .poly avec JOSM et j'ai enregistré en .osm</li>
<li>le fichier de la province de Namur en .geojson généré par <a href="http://geojson.io" title="http://geojson.io">http://geojson.io</a></li>
</ul>https://blog.dedj.be/index.php/post/2019/10/27/Openstreetmap-%3A-Tasks-Manager#comment-formhttps://blog.dedj.be/index.php/feed/atom/comments/384Organiser son travail sur Openstreetmap ou organiser une cartopartieurn:md5:3e35c448cd48c9628aff30cc79d495582018-11-04T18:19:00+01:002020-07-26T21:13:12+02:00DJlogiciels libresopenstreetmap <p>Vu que je suis en train de dessiner la totalité des maisons qui ne l'étaient pas déjà dans la commune de namur, il faut prendre quelques notes pour s'y retrouver.</p>
<p>Pour ça je vais détourner un outil que j'ai découvert.</p>
<p><a href="https://mapcraft.nanodesu.ru/" hreflang="en" title="Mapcraft">Mapcraft</a></p>
<p><img src="https://dedj.be/blog/public/osm/logomapcraft.png" alt="" style="display:table; margin:0 auto;" /></p>
<p>C'est un outil pour se réserver des zones lors d'une cartopartie ( un événement où plusieurs contributeurs se réunissent pour cartographier une ville). ça permet d'éviter que deux contributeurs travaille dans la même rue a quelques minutes d'écart par exemple</p>
<p>Plus d'explication sur les cartoparties sur le wiki <a href="https://wiki.openstreetmap.org/wiki/FR:Cartoparties" title="https://wiki.openstreetmap.org/wiki/FR:Cartoparties">https://wiki.openstreetmap.org/wiki...</a></p>
<p>Et un exemple concret de l'utilisation de Mapcraft, <a href="https://mapcraft.nanodesu.ru/pie/806">Commerces et services de Nantes </a></p>
<p><img src="https://dedj.be/blog/public/osm/mapcraft_nante.png" alt="" style="display:table; margin:0 auto;" /></p>
<p>(J'ai découvert ça il y a peu)</p>
<p>Pour ajouter les maisons j'ai essayé de respecter un ordre logique, en suivant les limites des communes.</p>
<p>J'ai quasi fini, mais j'ai peut être oublié des zones donc je vais revérifier + regarder s'il y a des zones avec des maisons en plus visible sur les cartes sat.</p>
<p>Pour utiliser Mapcraft, il faut un fichier OSM avec les zones qu'on veut créer (les tranches de cake pour mapcraft)</p>
<p>Si les zones sont arbitraires, il suffit de télécharger les zone dans openstreetmaps avec josm , ajouter une couche et dessiner par dessus les zones.</p>
<p>Ici vu que je vais travailler avec des limites administrative, je récupère les limites des "anciennes communes" <sup>[<a href="https://blog.dedj.be/index.php/post/2018/11/04/Organiser-son-travail-sur-Openstreetmap-ou-organiser-une-cartopartie#wiki-footnote-1" id="rev-wiki-footnote-1">1</a>]</sup></p>
<p>Pour se faire, un recherche dans openstreetmap du nom des anciennes communes</p>
<p>Exemple avec Wépion</p>
<p><img src="https://dedj.be/blog/public/osm/wepion.png" alt="wepion.png" style="display:table; margin:0 auto;" /></p>
<p><a href="https://www.openstreetmap.org/relation/2337290#map=13/50.4147/4.8533" title="https://www.openstreetmap.org/relation/2337290#map=13/50.4147/4.8533">https://www.openstreetmap.org/relat...</a></p>
<p>Comme on peut le voir dans l'URL, l'id est donc 2337290</p>
<p><strong>EDIT : il devrait y avoir une autre solution pour le création du fichier OSM que celle que je présente ici, voir tout en bas</strong></p>
<p>Dans JOSM on crée juste un nouveau calque, puis on fait Fichier -> Télécharger un objet</p>
<p>Dans <strong>Type</strong> on choisis <strong>Relation</strong> et comme identifiant l'id qu'on a trouvé juste avant donc 2337290</p>
<p>Le premier calque sera le calque maître donc on l'enregistre, ça permet d'avoir un nom particulier.</p>
<p>On supprime les objets "Place", "town" et "city", on sélectionne les morceaux et on les fusionne en un seul morceaux : <strong>Controle A</strong> puis <strong>C</strong></p>
<p>Puis on télécharge la relation suivante mais contrairement a la première fois, on choisis "télécharger dans un nouveau calque"</p>
<p>On fait comme deux ligne plus haut.</p>
<p>Il va peut être râler concernant des éléments différents, l'idéal c'est de choisir supprimer pour chaque</p>
<p><img src="https://dedj.be/blog/public/osm/conflit_josm.png" alt="conflit_josm.png" style="display:table; margin:0 auto;" /></p>
<p>Puis on fait un copier coller de cette zone là dans le calque maître.</p>
<p>On fait pareil avec les autres communes :</p>
<ul>
<li>Namur (la commune pas la province) 1701297</li>
<li>Beez 2337276</li>
<li>Belgrade (attention de pas télécharger l'autre) 1701291</li>
<li>Boninne 2337277</li>
<li>Bouge 1701292</li>
<li>Champion 2337278</li>
<li>Cognelée 2337279</li>
<li>Daussoulx 2337280</li>
<li>Dave 2337281</li>
<li>Erpent 1701293</li>
<li>Flawinne 1701294</li>
<li>Gelbressée 2337282</li>
<li>Jambes 1701295</li>
<li>Lives-sur-Meuse 2337283</li>
<li>Loyers 2337284</li>
<li>Malonne 2337285</li>
<li>Marche-les-Dames 2337286</li>
<li>Naninne 2337287</li>
<li>Rhisnes 2454638 et 3432319</li>
<li>Saint-Marc 1405477</li>
<li>Saint-Servais 1701298</li>
<li>Suarlée 1701299</li>
<li>Temploux 1701300</li>
<li>Vedrin 2337288</li>
<li>Wépion 2337290</li>
<li>Wierde 2337289</li>
</ul>
<p>Au final ça donne ce fichier là</p>
<p><a href="https://dedj.be/blog/public/osm/boundary_namur_a_cleaner.osm" title="Building de Namur">boundary_namur_a_cleaner.osm</a></p>
<p>Qu'il faut éditer pour <ins>virer</ins> tout ce qui n'est pas des "<strong>node</strong>", des "<strong>way</strong>", des "<strong>nd</strong>",</p>
<p>C-a-d supprimer les "<strong>relations</strong>" (en bas du fichier) et les trucs avec "<strong>tag</strong>"</p>
<p>Pour les "relations" je le fait a la main, et pour les tag avec <strong>sed</strong> (un utilitaire sous linux)</p>
<p><code>sed -i '/tag/d' nomdufichier.osm</code></p>
<p>Le résultat donne ce fichier là</p>
<p><a href="https://dedj.be/blog/public/osm/boundary_namur_clean.osm" title="Building de Namur">boundary_namur_clean.osm</a></p>
<p>Qu'on peut voir ici <a href="https://mapcraft.nanodesu.ru/pie/819" title="Building de Namur"></a> après envois sur mapcraft</p>
<p><strong>autre solution</strong></p>
<p>Quand on dispose de l'ID de la relation, genre 2337290</p>
<p>On utilise le créateur de fichier poly <a href="http://polygons.openstreetmap.fr/" title="http://polygons.openstreetmap.fr/">http://polygons.openstreetmap.fr/</a> pour créer un fichier .poly.</p>
<p>On ouvre les fichiers poly dans josm, on fusionne les fichiers (c'est clic droit sur fichier) pour en avoir un seul.</p>
<p>Puis on fait "enregistrer sous" nom du fichier en .osm et ça devrait fonctionner, mais pour l'instant j'ai une erreur étrange</p>
<div class="footnotes"><h4>Note</h4>
<p>[<a href="https://blog.dedj.be/index.php/post/2018/11/04/Organiser-son-travail-sur-Openstreetmap-ou-organiser-une-cartopartie#rev-wiki-footnote-1" id="wiki-footnote-1">1</a>] Les communes ont fusionnés, mais le nom des anciennes commune est resté, ainsi que le code postal</p></div>
https://blog.dedj.be/index.php/post/2018/11/04/Organiser-son-travail-sur-Openstreetmap-ou-organiser-une-cartopartie#comment-formhttps://blog.dedj.be/index.php/feed/atom/comments/377Afficher l'évolution d'openstreetmapurn:md5:58a10733b8a4e4244444f54348728d162018-07-04T22:52:00+02:002018-11-04T23:20:36+01:00DJlogiciels libresopenstreetmap <p>Suite du précédent article</p>
<p>Avec les fichiers osm de chaque année</p>
<p>J'ai utilisé le programme de GARY68 : <a href="https://wiki.openstreetmap.org/wiki/Osmdiff" title="osmdiff">osmdiff</a></p>
<p>C'est un programme qui n'est plus mis à jour et qui deviens même compliqué a installer. Il faudra que je prenne le temps de documenter ça proprement.</p>
<p>Le résultat est .... artistique
<img src="https://dedj.be/blog_public/osm/.20142015_m.png" alt="20142015.png" style="display:table; margin:0 auto;" /></p>
<p>le problème c'est qu'il s'amuse a dessiner les lignes ayant pour origine un truc dans l'hémisphére sud
Il dessin aussi des points relativement gros</p>
<p>Pour les points, avec SED</p>
<p><code>sed -i '/circle/d' 20142015.svg</code></p>
<p>Pour le problème de ligne vers le point trop bas, j'ai ouvert le fichier dans un éditeur de texte et j'ai vu qu'il y avait un motif qui 'était fréquent.</p>
<p><img src="https://dedj.be/blog_public/osm/nettoyage_osmdiff.png" alt="20142015.png" style="display:table; margin:0 auto;" /></p>
<p>donc j'ai fait la même commande avec ce motif.</p>
<p><code> sed -i '/18586,312653/d' 20142015.svg </code></p>
<p><img src="https://dedj.be/blog_public/osm/20142015_correct.png" alt="20142015.png" style="display:table; margin:0 auto;" /></p>
<p>Etrangement pour les autres dates, les chiffres changent donc la commande c'est</p>
<p><code>sed -i '/18644,313623/d' 20152016.svg </code></p>
<p>Pour une comparaison 2015 / 2016 ça donne</p>
<p><img src="https://dedj.be/blog_public/osm/20152016_correct.png" alt="20142015.png" style="display:table; margin:0 auto;" /></p>
<p>2016/2017</p>
<p><img src="https://dedj.be/blog_public/osm/20162017_correct.png" alt="20142015.png" style="display:table; margin:0 auto;" /></p>
<p>2017/2018</p>
<p><img src="https://dedj.be/blog_public/osm/20172018_correct.png" alt="20142015.png" style="display:table; margin:0 auto;" /></p>
<p>Un autre forme de suivis c'est</p>
<p><a href="https://metrics.improveosm.org">Les metrics d'improveosm</a></p>
<p><a href="https://metrics.improveosm.org/address-points/total-metrics-per-interval?duration=weekly&locationType=state&locationId=351&unit=km&from=2018-04-01&to=2018-10-22">Ici l'évolution des immeuble sur namur</a></p>
<p>J'en suis fier car je suis responsable d'une grosse partie <img src="/themes/default/smilies/smile.png" alt=":)" class="smiley" /></p>https://blog.dedj.be/index.php/post/2018/07/04/Afficher-l-%C3%A9volution-d-openstreetmap#comment-formhttps://blog.dedj.be/index.php/feed/atom/comments/378Extraction de donnée openstreetmapurn:md5:b8c5c20e997ba6d59d1a3b42852f8aa02018-05-20T17:37:00+02:002018-11-04T22:52:08+01:00DJlogiciels libresopenstreetmap <p>J'avais besoin de télécharger des donnés d'openstreetmap.</p>
<p>La solution la plus simple c'est d'aller sur le Planet<a href="https://planet.openstreetmap.org/" title="Planet"></a></p>
<p>Mais le monde fait 70 giga (malgré la compression bz2) donc c'est lent à télécharger, et très lent à manipuler.</p>
<p>Pour aider, il y a Geofabrik qui propose des zones plus petits (pays généralement) <a href="https://blog.dedj.be/index.php/post/2018/05/20/download.geofabrik.de">sur cette page </a>, ici <a href="http://download.geofabrik.de/europe/">l'europe</a></p>
<p>Vu que j'avais juste besoin de la ville de Namur, la solution la plus simple c'est de télécharger les limites de la zone.</p>
<p>Pour ce faire, dans openstreetmap j'utilise le moteur de recherche. Pour Namur, il y a plusieurs limite (ville, commune et province) , moi c'est la commune dont j'ai besoin.</p>
<p>Bon ça s'appelle "<a href="https://www.openstreetmap.org/relation/1405439">City Namur, Wallonia, Belgium</a>" dans openstreetmap .</p>
<p>Quand on clique dessus, on remarque sur le coté qu'il indique <strong>Relation: Namur (1405439)</strong></p>
<p>Pour en obtenir les limites, le site <a href="http://polygons.openstreetmap.fr">Polygons.openstreetmap.fr</a> est facile à utiliser.</p>
<p>Il propose donc de télécharger un fichier <a href="https://en.wikipedia.org/wiki/Well-known_text">WKT</a>, un fichier GeoJSON, un fichier poly (ce qu'on va utiliser) et un fichier image</p>
<p><img src="https://blog.dedj.be/blog_public/.openstreetmap_limite_namur_m.png" alt="openstreetmap_limite_namur.png" style="display:table; margin:0 auto;" /></p>
<p>Je renomme le fichier en namur.poly ça sera plus simple</p>
<p>L'utilisation des fichiers .poly est très bien expliqué sur <a href="https://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format">la page Poly d'opensteetmap</a></p>
<pre>
Attention que si vous téléchargez un fichier en .osm.pbf, il faut d'abord le convertir en .osm via
osmium cat belgium-140101.osm.pbf -o belgium-140101.osm
</pre>
<p>Après avoir extrait le fichier osm de l'archive, je lance donc la commande</p>
<p><code>osmosis <del>read-xml file="belgium-180428.osm " </del>bounding-polygon file="namur.poly" --write-xml file="namur.osm"</code></p>
<p>Je me ramasse une erreur</p>
<p><em>Node 123295 does not have a version attribute as OSM 0.6 are required to hav</em></p>
<p>(un nœud est tellement vieux qu'il date de la version précédente d'openstreetmap)</p>
<p>La solution indiqué dans les forums est d'utiliser cette commande</p>
<p><code>osmconvert belgium-180428.osm --fake-version -o=belgium-180428_correct.osm</code></p>
<p>Qui permet d'ajouter des fausses infos de version si besoin</p>
<p>J'aurais put relancer la première commande, mais j'ai décidé de continuer à tester osmconvert, donc</p>
<p><code>osmconvert belgium-180428_correct.osm -B=namur.poly -o=namur-180428.osm</code></p>
<p>Et on obtient un fichier .osm de 16.5mo, facilement ouvrable avec JOSM etc</p>
<p>Vu que j'ai télécharger plusieurs années (2014->2018)
Voici une commande qui permet de lancer tout le processus pour chaque année</p>
<p><code>osmium cat belgium-140101.osm.pbf -o belgium-140101.osm && osmconvert belgium-140101.osm --fake-version -o=belgium-140101_correct.osm && osmconvert belgium-140101_correct.osm -B=namur.poly -o=namur-140101.osm</code></p>
<p>Il y a peut être moyen de simplifier ça avec les <a href="https://fr.wikipedia.org/wiki/Tube_(shell)">pipe</a>, mais je ne vais pas en apprendre l'usage pour si peu.</p>
<p>On pourrait aussi certainement utiliser des expressions régulières pour avoir toutes les années en un coup mais bon... , j'ai simplement faire un "control-h" dans un éditeur de texte pour remplacer 14 par 15, 16 etc</p>https://blog.dedj.be/index.php/post/2018/05/20/Extraction-de-donn%C3%A9e-openstreetmap#comment-formhttps://blog.dedj.be/index.php/feed/atom/comments/376