Le 26 janvier 2012 23:49, Vincent de Chateau-Thierry
<v...@laposte.net> a écrit :
>
>
> Le 26/01/2012 23:08, Philippe Verdy a écrit :
>
>
>>
>> JAMAIS je n'ai voulu supprimer des frontières, je les ai toutes
>> laissées (j'ai fait un seul test uniquement du boundary_segment sur la
>> côte nord de l'Ille-et-Vilaine et j'attendais de voir le résultat, car
>> il y avait déjà des boundary_segments incohérents et très difficiles à
>> mettre à jour, pour la frontière française, que le serveur peine
>> énormément à gérer et que chaque édition locale sur la côte nécessite
>> un chargement énorme de données et de pénibles synchonisations de
>> dizaines de milliers de noeuds: les boundary_segments de la France
>> sont trop acutellement beaucoup longs, et même si on décide de garder
>> les ways pour les côtes de l'Ille-et-Vilaine, les segments de
>> frontière frontçaise par départements sont à privilégier au niveau de
>> la zone France, afin de soulager le travail: c'est un redécoupage plus
>> fin qui ne change pas le modèle actuel pour la France; mais il reste
>> que le problème est aussi ardu pour la Bretagne).
>
>
> Le fait de splitter les limites côtières (et uniquement elles) françaises en
> relations "boundary_segment" à raison d'une relation par département, a déjà
> été discuté ici et admis. J'avais proposé de m'en occuper et je ne l'ai pas
> fait :
> http://lists.openstreetmap.org/pipermail/talk-fr/2011-November/037663.html
> Tu peux prendre le relais.
> À noter qu'il existe déjà un boundary_segment pour les Côtes d'Armor :
> http://www.openstreetmap.org/browse/relation/1846740
> créé de mon côté en guise de test,
> et un autre créé par toi pour l'Ille-et-Vilaine, et auquel je n'ai pas
> touché en "réparant" le contour de ce département hier :
> http://www.openstreetmap.org/browse/relation/1979939
>
> Donc pour la Bretagne, on ne part pas de rien.

OK, donc je vais continuer à ajouter les splits départementaux, pour
qu'enfin on puisse remplacer les segments trop grands de la frontière
française (pour l'instant ils restent là), par les segments
départementaux.

Mais que faire alors de la frontière de la région Bretagne elle-même
(très compliqué ?) peut-on la splitter en utilisant alors les segments
départementaux qu'on aura créés ??

Dernier point: je ne suis pas le seul à vouloir utiliser les subareas
(même si on n'en a pas besoin pour dessiner une surface): regardez par
exemple la Belgique et l'Espagne, qui les utilisent comme métadonnées
intégrées directement dans les mêmes relations de frontières (et PAS
dans des relations différentes).

Je n'ai jamais nié l'intérêt de la définition par frontières (quoique
l'absence de support partout des boundary_segments pose encore
problème).

Je ne l'ai jamais remise en cause, pas même lors de mon essai
d'utiliser le boundary_segment de la côte nord l'Ille-et-Vilaine, au
lieu de dupliquer les ways comme on ne fait encore, avec toutes les
incohérences que cela génère quand les différents niveaux ne sont pas
mis en jour en même temps, ce qui n'est franchement pas facile à faire
pour les hauts niveaux qui contiennent des centaines de ways
désordonnées et anonymes, raison pour laquelle je me bat en permanence
pour essayer de les faire apparaitre comme formant des boucles
complètes, afin d'identifier les ways à ajouter ou supprimer de la
relation mère  !)

On est pas les seuls en France à avoir ces incohérences (les Allemands
se plaignent, et les Anglais aussi surement, mais je n'ai pas regardé
si eux aussi utilisaient les subareas pour faciliter la maintenance
des ways de toutes les relations de niveau inférieur quand une petite
zone locale a été modifié...).

Les Belges utilisent les subareas avec un outil qui se charge tout
seul de reconstruire les frontières de niveau inférieur, lorsqu'une
plus petite zone de niveau supérieure est modifiée: pas d'incohérence
(sauf temporairement: le robot fait le travail bien mieux qu'un
humain, sans erreur). Ils l'utilisent aussi pour faciliter l'import de
données externes (depuis des bases de données qui n'ont strictement
AUCUNE définition géolocalisée permettant la recherche des
sous-zones).

Cette automatisation des "remontées" de frontières automatisées est
justement possible dès qu'une zone est entièrement partitionnée en
zones filles.

S'il manque des tracés, ce n'est pas du tout un problème: la zone est
marquée comme non encore partitionnée ou contient des "FIXME" pour les
zones manquantes (que strictement rien n'empêche de créer
immédiatement même sans encore aucune frontière définie, afin de
permettre justement des imports externes des données géolocalisées qui
manquent: on crée la zone sans frontières, ou avec une frontière
incomplète pas encore fermée, on la référence avec un "subarea", et on
avance...).

Ceux qui travaillent sur le dessin d'un niveau (et ont un accès direct
à des bases OpenData ou qui aiment dessiner des frontières précises
verront ces manques de frontières suffisantes (qui sont signalés par
nos outils).


Notez que la définition des hiérarchique des "subareas" est
extrêmement stable en comparaison des données de frontières (qui sont
sujètes à des tas de corrections ou remise à jour par des relevés plus
précis sur le terrain par les géomètres des collectivités ou autres).

Les GPS qu'on utilise de façon populaire pour les routes sont souvent
assez imprécis (décalage de plusieurs mètres, qui peuvent placer des
objets du mauvais côté d'un autre, ou créer des intersections
inexistantes, des demi-tours, des zigzags sur des routes droites:
l'exploitation de leurs tracés tient plus au "feeling" du cartographe
que par un relevé très précis, et malgré cela, il reste aussi les
anomalies provenant de la synchronisation imparfaite ou de
l'imprécision des projections de photos aériennes: il y a des
décalages par exemple entre la géolocalisation WGS84 de Bing, celle de
Google Maps, selon les sources utilisées et les dates des photos
utilisées, ou la source réelle de ces photos).

De plus des relevés de position précise des repères géodésiques
conduit à réajuster plus tard la position des photos, indépendamment
du géoïde qui a été utilisé au départ pour positionner ces photos.
Dans OSM, on utilise abondamment les photos aériennes dans lesquelles
on a inclus des points géodésiques qu'on ne doit pas toucher
(contrairement à tout le reste, qu'on pourra ensuite réajuster de
façon automatique pour réaligner les points physiques cartographiés
sur les photos avec les points géodésiques.

On a aussi des évolutions dans la précision des modèles de projection
utilisés dans les différents outils.

Tout cela amènera à améliorer les frontières et les remettre à jour un
peu partout, pour arriver à une précision de l'ordre de 0.5 mètres
(nécessaire pour le tracé des rues et positionner les bâtiments dans
les villes, puis pour fournir des adresses pour les "POI"): plus les
frontières sont précises, plus le travail sur les frontières des zones
mères (afin d'obtenir leur adhérence) devient pénible.

A terme même, je pense que les frontières mères ne pourront plus être
mises à jour du tout pour fournir une adhérence totale, mais juste
approximées sur une précision plus faible et dans ce cas le test
d'inclusion d'une zone fille dans la zone mère (par une recherche
spaciale) ne pourra plus fonctionner du tout (c'est déjà le cas
actuellement): et seules les relations de type "subarea" dans les
zones mères (moins précises) partitionnées en sous-zones (plus
précises), fourniront une réponse fiable.

SAUF si on hiérarchise aussi les boundary_segments (qui tôt ou tard
devront venir si on ne veut plus dupliquer les "ways") comme le
suggère le nom de votre modèle "pyramidal" (votre pyramide ne concerne
que les contours mais uniquement aux noeuds d'intersection des
frontières entre elles). Car dans ce cas il est possible de conserver
l'adhérence (puisqu'il n'y a plus du tout duplication des ways dans
les différentes relations définissant une zone, les données des ways
ne figurent alors que dans 1 et 1 seul boundary_segment, ceux-ci se
combinant entre eux par des relations récursives, ce qui aboutit à ce
moment-là à un modèle réellement dual du modèle par surface, que
peuvent représenter les "subareas").

Je le répète donc: les frontières (faites de ways actuelles qu'on
duplique dans les relations) n'est pas du tout topologiquement
équivalent au modèle par surface: il est nettement plus coûteux en
données à stocker et mettre à jour de façon constante (la mise à jour
doit se faire simultanément entre les zones mitoyennes d'un même
niveau ET dans toutes les zones mères quand elles en définissent le
contour externe : cela ne serait plus nécessaire du tout avec des
frontières hiérarchisées, ce qu'on n'a pas encore et qu'on est très
loin d'avoir dans OSM et ses outils).

Le modèle actuel, à frontières simples fermées (entièrement définies
par les ways tous dans la seule relation definissant le contour d'une
zone) a pu marcher jusqu'à présent,pour débuter, tant que la
cartographie était peu avancée, mais c'est de plus en plus lourd et de
moins en moins gérable. On devra passer au modèle par segments
(eux-mêmes hiérarchisés par définition récursive), car le modèle
actuel produit trop d'erreurs à cause de remontées qu'on a de plus en
plus de mal à faire vers les zones mères (qui du coup sont "oubliées"
dans les mises à jour). Les requêtes spaciales sont aussi de plus en
plus lourdes sur le serveur (qui ne sait plus répondre: volume de
données trop grand) pour de simples tests d'inclusion d'une zone
donnée dans une zone mère. Et on le voit bien: même en ajoutant de
nouveaux serveurs, ils ont du mal à suivre (aussi bien la base
principale que les serveurs de rendus de tuiles qui prennent de plus
en plus de retard...)

Ce n'est pas un problème de ressources, on peut avoir les serveurs
nécessaires, mais on utilise mal ces serveurs en les gavant de données
qu'ils doivent sans arrêt ingurgiter de façon répétés même si une part
infime de ces données a été réellement modifiée, alors qu'on peut
grandement leur faciliter le travail.

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

Répondre à