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.prat...@laposte.net> a écrit :

>
> Le 17 nov. 2013 à 22:27, Christian Quest <cqu...@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@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
>
>


-- 
Christian Quest - OpenStreetMap France
Un nouveau serveur pour OSM... http://donate.osm.org/server2013/
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à