Le 26 janvier 2012 14:30, Hélène PETIT <h...@free.fr> a écrit :
> Le 25/01/2012 18:52, sly (sylvain letuffe) a écrit :
>>
>> Tentons de rester objectif, et de mettre des "peut-être" quand ça reste
>> une
>> supposition plutôt que les superlatifs récemment lu du genre :
>> C'est 10000 fois plus rapide.
>
>
> Dans mon univers perso un sgbd est (10)mille fois plus rapide quand il fait
> ce pour quoi il a été conçu au départ ; comme je préfère cartographier que
> mettre la main dans le code (pour l'instant) je n'ai pas pris le temps
> d'aller lire la descro du schéma de la base et de ses abatis.
> Cela dit, quand je vois toute cette tonne de débats ne faisant (je crois ?
> AC) pas particulièrement référence au schéma actuel de la base, je me
> demande si j'ai des chances d'y comprendre quelque chose ; tout ça : à
> vérifier, à confirmer ; et à relire le jour où j'aurais aussi pu comprendre
> le système de catégories utilisé par le wiki :>(
>
> Pendant que j'y suis :
> À quoi pourrait bien servir le tag "label" dans une relation "frontière
> administrative" de niveau 8 ?

Pour une commune dont la forme fait que son centroïde calculé tombe en
dehors de ses frontières et le label par défaut semble indiquer le nom
d'une autre commune. Regarde les boucles de la Seine dans le 92 pour
comprendre...


> À quoi ça sert de mettre admin_level=n sur une polyligne déjà étiquetée
> boundary=administrative, vu que de toutes façons, c'est la relation boundary
> qui dira le admin_level ?

Non ! L'admin_level de la polyligne peut être de niveau inférieur au
niveau 8 de la relation communale. Regarde donc les communes en
frontière d'arrondissement, de département, de région ou de pays: les
polylignes des contours sont de niveau différents.

L'admin_level de la polyligne indique aussi au moteur de rendu des
tuiles comment dessiner (quel style de ligne, quelle épaisseur, quelle
couleur) sur ce contour partiel. Un moteur de rendu de tuile ne charge
pas nécessairement la totalité de la commune ou des communes
environnantes, ni toutes les relations de niveau inférieur qui
contiennent cette polyligne. Il se contente de regarder l'admin_level
qu'on lui a assigné localement, et ça suffit car il ne voudra pas
charger tous les noeuds et toutes les polylignes de la relation
parente qui sortent de son rectangle de tracé, cela prendrait trop de
temps et trop de données.

Il demande au serveur les objets contenus dans un rectangle et le
serveur ne lui retourne que les noeuds dans ce rectangle, les
polylignes qui ont une intersection dans ce rectangle.

En fait parfois il en oublie si la polyligne n'a pour seule
interection qu'un seule segment de droite entre deux noeuds qui ne
sont pas dans le rectangle d'intérêt, ce qui parfois aboutit à des
morceaux oubliés de lignes dessinées d'une tuile à l'autre; pour
régler cela, si plus tard une autre tuile est analysée contenant un
noeud dont un trait sort du cadre, il marque les tuiles extérieures
comme étant à revisiter plus tard en tenant compte de nœuds trouvés
dans une autre tuile; de ce fait il peut aussi "oublier" des relations
contenant des polylignes avec ces segments oubliés; je pense, sans
l'affirmer, que cela marche avec des listes d'attentes marquant chaque
tuile à redessiner avec les numéros de tuiles voisines contenant des
noeuds de la base ou des noeuds calculés sur des rendus de lignes
épaisses, mais dont les données ont été mises à jour et sont à charger
depuis la base OSM en plus de celles des noeuds tombant dans la tuile
à redessiner, afin d'avoir des données suffisantes pour ne rien
oublier).

En conséquence, les tuiles se mettent à jour avec des décalages dans
le temps, en plusieurs passes successives selon la longueur des files
d'attentes de tuiles à redessiner. Mais on doit encore lui mâcher le
travail trait par trait, pour minimiser le nombre de ces "oublis".

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

Répondre à