[OSM-talk-fr] Suivi cours d'eau

Christian Quest cquest at openstreetmap.fr
Dim 17 Nov 23:45:36 UTC 2013


osm2pgsql a évolué et le choix des relations exploitées ou non pour générer
les géométries correspondantes se fait dans style.lua

Voir ici:
https://github.com/openstreetmap/osm2pgsql/blob/6739c1a973fdd7bcb0f3129d5f3ff25f925ac256/style.lua#L82

On peut donc ajouter d'autres types de relation si l'on veut. sly l'avait
fait avant que ça fonctionne en LUA, c'est et c'était donc possible mais
pas avec la config par défaut.

Pour la manip alternative que j'évoque, elle consiste à remonter dans les
tables planet_osm_rels pour savoir que tel "line" fait partie d'une
relation waterway dont on pourra récupérer le nom. C'est possible quand on
a une base importe en mode "slim", c'est à dire lorsque l'on conserve les
tables nodes/ways/rels pour faire les mise à jour futures par des diffs.
J'utilise cette astuce pour retrouver les lignes passant par un arrêt de
bus afin de récupérer la valeur de operator=* pour personnaliser les logos
dans le rendu FR.



Le 17 novembre 2013 23:59, Yves Pratter <yves.pratter at laposte.net> a écrit :

>
> Le 17 nov. 2013 à 22:27, Christian Quest <cquest at openstreetmap.fr> a
> écrit :
>
> osm2pgsql ne gère pas les relations waterway par défaut, mais il suffit de
> modifier le fichier de config (default.style) et il les conservera et le
> rendu pourra les exploiter…
>
> J’avais regardé le code source et de mémoire ce n’est pas possible pour
> les relations.
>
> D’ailleurs le wiki le confirme (si il est bien à jour) :
> *OSM object type*: can be node, way or both separated by a comma. waywill also apply to relations with
> type <http://wiki.openstreetmap.org/wiki/Key:type>=multipolygon<http://wiki.openstreetmap.org/wiki/Tag:type%3Dmultipolygon>,
> type <http://wiki.openstreetmap.org/wiki/Key:type>=boundary<http://wiki.openstreetmap.org/wiki/Tag:type%3Dboundary>,
> or type <http://wiki.openstreetmap.org/wiki/Key:type>=route<http://wiki.openstreetmap.org/wiki/Tag:type%3Droute>;
> all other relations are ignored by osm2pgsql.
>
> Le code source (en C) n’est pas très difficile à modifier (surtout pour
> les auteurs) pour accepter d’autres types de relations type=waterway.
>
>
>  le problème c'est que ça sera uniquement les rendus qui feront ce
> changement.
>
> J’avais regardé cette possibilité de modif dans le cadre du rendu
> OpenRiverBoatMap.
>
> Mais si j’ai tout suivi, les données « waterways » resteraient dans la
> base Postgres et seraient disponibles sur le serveur pour d’autres outils
> (une version spécifique de courdo par exemple) ?
>
> Le rendu peut aussi faire sans, c'est pas bien compliqué mais possible en
> modifiant les requêtes SQL.
>
> Sans les relations ?
> Il me semble que osm2pgsql ne peut pas en l’état stocker dans la base
> Postgres les relations de type waterway.
> Donc pas de données, pas de requête SQL à modifier ;-)
>
>  http://www.h-renrew.de/h/osm/osmchecks/07_watershed/fr/hierarchical.html
>>
>>
>> Je ne connaissais pas.
>> Le code source est disponible quelque part ?
>>
> Il est sur github : http://github.com/werner2101/osm-tests
> J’avais même l’info sur la OSM Waterway analyses<http://www.h-renrew.de/h/osm/osmchecks/07_watershed/index.html>
>  :-D
>
>> Yves
>
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
>
>


-- 
Christian Quest - OpenStreetMap France
Un nouveau serveur pour OSM... http://donate.osm.org/server2013/
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20131118/596d979e/attachment.htm>


Plus d'informations sur la liste de diffusion Talk-fr