Le 07/12/2016 à 10:06, Topographe Fou a écrit :

Probablement parce que comme l'explique le Wiki un multipolygon est par défaut une aire (contrairement à boundary qui est une frontière, quelque chose de linéaire) et que si un tag manque au niveau de la relation il va le chercher au niveau des membres (là je suis d'accord avec toi : ce n'est pas normal et pousse à la surinterpretation). Il donne même un exemple en Allemagne ou des mp ont été massivement utilisés au lieu de boundary. Un multipolygon est conçu comme une manière de définir une aire mais en utilisant plusieurs ways au lieu de une.

Donc comme le rendu ne reconnaît pas cette manière de tagger un parcelle, il adopte son comportement par défaut qui est "c'est une aire" et "je cherche les tags d'abord dans la relation, sinon dans les membres". Avec une boundary il ne dessine pas d'aire donc le glitche ne se produit pas. Est-ce une magouille ou un " taguer pour le rendu" ? Je ne sais pas trop encore... Si tu rajoute un tag landuse=forest à un mp de type parcel, on devrait logiquement arriver au même résultat et cela ne me paraît pas sémantiquement faux aussi.

Résultat un multipolygon avec que des membres highway est donc vu comme un highway. Contrairement à ce que j'ai pu dire je ne pense plus qu'il y ai bug mais reste persuadé qu'il y a une erreur de conception (à savoir la remontée de tags qui pousse à une mauvaise pratique).

Cordialement

LeTopographeFou

frontière ou surface, ça arrive dans la même table postgres via osm2pgsql...

Ensuite, le rendu se mélange forcément les pinceaux car les données dans la base osm2pgsql sont incohérentes mais le rendu peut soit remplir les surfaces des (multi)polygones soit ne tracer que leurs frontières... ce n'est qu'une question de feuille de style.

Le souci provient à l'origine de l'euristique d'osm2pgsql qui lorsqu'on utilise un type=multipolygon qui ne fait que décrire le type de géométrie sans décrire à quoi elle correspond va chercher à la compléter par l'information sémantique.

Cette euristique n'est pas parfaite... et donc il vaut mieux indiquer qu'on décrit bien la frontière d'une section (comme on décrit la frontière d'une commune) avec un type=boundary et du coup osm2pgsql ne cherche par à découvrir par lui même la sémantique estimant qu'elle est déjà décrite dans la relation.

On peut voir ça comme un bug d'osm2pgsql, mais le code ne peut pas toujours deviner l'intention du contributeur... il est préférable d'expliciter le type et en plus ça me parait cohérent en terme de tags.

--
Christian Quest - OpenStreetMap France

_______________________________________________
Talk-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à