Le 5 mai 2012 14:38, Vincent Pottier <vpott...@gmail.com> a écrit :
> Le 05/05/2012 14:12, Philippe Verdy a écrit :
>>
>> Le 5 mai 2012 14:04, Christian Quest<cqu...@openstreetmap.fr>  a écrit :
>>>
>>> Pour moi (et visiblement pour d'autres) il n'y a pas de limitation
>>> côté OSM mais un bug dans osm2gis qui ne gère pas correctement les cas
>>> particuliers que tu as très justement signalé.
>>
>> Je maintiens que ton fichier démo2 reste ambigu
>
> Ambigu mais valide.

Si c'est ambigu et cela décrit des géométries différentes cela ne peut
pas être valide. On a besoin d'une règle claire pour lever l'ambiguïté
et donc obtenir de façon stable des géométries valides.

>>  selon les règles mêmes
>> énoncées dans le wiki et qu'il n'y a PAS de bogue d'osm2gis selon les
>> règles énoncées dans le wiki qui interdit d'interpréter l'ordre des
>> membres mais ne propose pas d'autre mécanisme (je propose les rôles
>> comme mécanisme de distinction) !
>
> En fait il manque une heuristique à osm2* pour trouver des modèles valides
> dans leurs représentations à partir de représentations valides dans OSM.
> Et c'est sur qu'ajouter cette heuristique plomberait le calcul.

Non, surtout pas une heuristique ! toute heuristique n'est qu'une
approximation destinée à résoudre des cas courants, mais génère des
résultats faux.

Ce qu'il faut c'est une règle impérative permettant de ne jamais avoir
à choisir arbitrairement parmi les ways candidats possibles à ajouter
pour former le polygone en cours : en arrivant à n'importe quel noeud
par un way, s'il reste plus d'un way non encore parcouru par où aller
ensuite, il doit être possible de le déterminer de façon unique par
cette règle :

- l'égalité des rôles assignés entre le way d'arrivée à ce nœud et le
way de départ pour continuer le chemin fournit une solution claire
qu'on peut rendre unique justement en différenciant les rôles
- (il n'est pas nécessaire de contrôler les rôles s'il n'y a qu'un
seul way suivant possible et non encore parcouru)
- il ne doit pas être permis de trouver plusieurs ways possibles pour
sortir de ce noeud et ayant tous les mêmes rôles.
- cette méthode a l'avantage de ne pas dépendre de l'ordre des membres
dans la relation puisque cet ordre n'est PAS significatif, ni non plus
de la direction des ways (qui n'est pas significative non plus)
- il reste possible de trouver les cas d'intersections incorrectes
créées par des géométries mal taguées où on aurait fusionné par erreur
des noeuds (y comrpis en traçant point par point un chemin à la souris
ou en cliquant sur le point d'intersection de deux segments pour
ajouter un noeud partagé pour lequel on devra qualifier les rôles de
parcours avant et après de nouveau noeud)

_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à