Le 16 août 2012 14:20, Etienne Trimaille <etienne.trimai...@gmail.com> a écrit :
> Le 16 août 2012 13:24, Pieren <pier...@gmail.com> a écrit :
>
>> Monde:
>> - "addr:street" : 14.080.304
>> - "type=associatedStreet" : 75.102
>> France:
>> - "addr:street" : 439.859
>> - "type=associatedStreet" : 23.373
>
>
> On ne peut pas compter comme çà :)
> La relation regroupe plusieurs numéros de rue. Alors que addr:street est
> répété à chaque numéro de rue !

Oui effectivement, il faudrait compter le total du nombre de membres
dans les relations type=associatedStreet.
Maintenant en terme de place dans la base de données, la différence
n'est pas énorme : la relation a besoin de place pour stocker un noeud
membre de plus pour chaque point d'adresse, là où l'attribut
addr:street sur un noeud nécessite la place du nom et de la valeur de
l'attribut pour chaque point d'adresse.

Mais la relation reste tout de même plus économe et évite la
redondance des noms, et facilite les traductions (les rues ont parfois
des noms dans plusieurs langues).

Cependant en terme de maintenant la relation est plus simple. Et
surtout il n'est pas simple du tout de chercher toutes les adresses
d'une même rue étant donné que les points d'adresse sont situés dans
une zone buffer autour de la rue, mais de largeur non précisée. La
recherche par bounding box totale de la rue risque de manquer des
points près des deux extrémités voire même partout si la rue est
quasiment sur un axe cardinal Nord-Sud ou Est-Ouest.

Si on recherche cette fois dans la commune, on va en oublier aussi,
car des rues sont communes à plusieurs communes (les rues frontalières
ou les rues traversant plusieurs communes). En revanche une relation
associatedStreet peut exister pour chaque segment (où côté de rue)
spécifique à une commune donnée. Sur combien de communes va-t-on
chercher ? Faut-il alors calculer des intersections entre les rues et
les frontières adminsitratives ? Le résultat sera assez complexe.

Si on fait une requête de recherche d'adresse en mentionnant la ville,
le nom d'une rue et un numéro, c'est bien plus facile de trouver avec
la relation. La recherche purement géométrique a de grande chances
d'échouer et on risque au mieux de ne trouver que la rue sans
localiser le numéro.

La relation a donc bien des avantages étant donné la façon dont on
trace la géométrie des rues (uniquement un trait sans aucune largeur
précisée et qui ne passe jamais par un des points d'adresse), d'autant
plus que la rue peut avoir entre elle et le point d'adresse des voies
secondaires (chemins piétons, voies bus, pistes cyclables...). Rien
dans la géométrie des rues ne permet même de savoir quel est le côté
pair ou impair.

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

Répondre à