Le mardi 20 juillet 2010 21:13:37, Christophe Merlet a écrit : > Ta requête ne semble pas faire ce que tu dis. > > Il me semble que tu fais la somme des éléments des relations ayant > (ref:sandre ET (waterway=river OU waterway=canal))
Oui, c'est ça, pour être bien clair, c'est : quand (ref:sandre=le code qui m'intéresse et (waterway=river OU waterway=canal)) avec un "group by osm_id" à la fin, c'est à dire pour un seul et unique objet osm. Question à $1, pourquoi "grouper des ways" alors qu'il ne s'agit que d'un seul objet ? ben parce que osm2pgsql découpe les trop grand ways et j'ai utilisé se hack pour compenser. (Je devrais pouvoir simplifier ça ultérieurement car j'ai patché mon osm2pgsql pour ne plus couper arbitrairement des longs way et ma requête devrait se simplifier en : select osm_id,st_length(st_transform(way,2154)) as longueur from planet_osm_line where "ref:sandre"='bidule' and (waterway='river' or waterway='canal' or waterway='stream') ; A noter bien sûr que cette approche dispose d'une faille : si plusieurs objets osm porte la même référence sandre, je n'en prend qu'un au hasard sur les deux > Or il me semble que la bonne formule est de faire la somme des éléments > (waterway=river OU waterway=stream OU waterway=canal) des relations > ayant juste ref:sandre. Je ne suis pas sûr d'avoir compris, est-ce que ce que j'ai indiqué plus haut rend la chose plus claire ? > Du coup dans ton tableau on trouve des rivières qui font 200% de leur > taille normal car il prend en compte les riverbank contenu dans la > relation :/ Exact... mais comment faire autrement ? > Les manières de taguer varie, et pourtant ton script n'en accepte qu'une > seule alors qu'il pourrait être beaucoup plus générique et exact. Sans doute, mais à quelle complexité ? ensuite on pourrait philosopher : Est-ce que fournir des outils incroyablement complexes est une bonne chose pour osm ? permettre/aider/encourager le tagging très diversifié et non homogène est-il au final une bonne chose ? le mappeur doit il être au centre et les développeurs s'adapter, ou font ils parti de la chaîne de rétro-surveillance du schéma et des méthodes de tagging ? En version plus terre à terre avec un exemple concret ça donne : le tag disused=yes n'est supporté par quasiment aucun logiciel (pourtant il n'est pas idiot) et on peut lire d'un développeur de osmarender : "This type of tagging is extremely unfriendly to data consumers (don't assume that all data consumers that don't care about your pet tag supports it), and in osmarender it would require really big and ugly stylesheet changes to support it and it's related tags. I'm not going to make the stylesheet almost impossible to figure out in order to support a bad tag." Doit-on le conspuer ? doit-on prendre son avis de développeur comme : il y'a un problème avec ce tag ? La question est posée, mais la réponse est loin... -- sly _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr