[OSM-dev-fr] Détection de mailles de réseau ouvertes

Frédéric Rodrigo fred.rodrigo at gmail.com
Mer 16 Mar 14:08:44 GMT 2011


Intéressant,
Je voulais aussi expérimenter cela. Tu n'a devancer.
Effectivement les way sont brutalement coupé aux limites de région.
Suivant les test ça crée de faux positifs. Il faut peut être trouver
une solution à ça.


Le 16 mars 2011 14:56, Vincent de Chateau-Thierry <vdct at laposte.net> a écrit :
>
> Bonjour,
> Pour rebondir sur ce mail [1], et avec le retour d'Osmose et son schéma Osmosis,
> je vous propose une requête [3] qui permet de detecter les discontinuités du réseau
> par niveau de réseau (primary, secondary, etc.).
> Le principe des mailles de réseau imbriquées est rappelé sur le wiki [2]. L'idée de la
> requête est de détecter les ruptures dans ces mailles, en cherchant les nodes qui
> respectent les conditions suivantes :
>
> - le node est situé à une extrémité de way d'un niveau de réseau donné (par ex : primary)
> - le node n'est référencé qu'une seule fois par tous les ways du niveau donné et des
> niveaux "supérieurs" (ici : primary, trunk et motorway, et les *_link correspondants).
> Lorsque les deux conditions sont respectées, alors on a à faire à un "cul-de-sac" du
> niveau de réseau donné.
>
> Je n'ai testé que sur Nord-Pas-de-Calais, avec des cas qui marchent :
>
> http://www.openstreetmap.org/browse/node/664044070
> http://www.openstreetmap.org/browse/node/314072806
> http://www.openstreetmap.org/browse/node/339723997
> http://www.openstreetmap.org/browse/node/1083572614
>
> et d'autres qui ne marchent pas :
>
> http://www.openstreetmap.org/browse/node/955800025
> http://www.openstreetmap.org/browse/node/900604729
> http://www.openstreetmap.org/browse/node/717798691
>
> La liste complete des IDs retournés (88 sur NPC) est en bas du mail [4].
>
> Pour les cas qui ne marchent pas, j'ai dans mon extrait Nord-Pas-deCalais de Geofabrik
> une définition différente (tronquée) des ways, et par suite un node en plein milieu du
> way (en vrai) se retrouve chez moi en extrémité du way. Est-ce un effet de bord des
> emprises d'extraction Geofabrik ?
>
> Si des détenteurs de schéma Osmosis v6 peuvent tester ce que ça donne et faire un retour,
> la requête pourrait (si c'est concluant) se convertir en test dans Osmose, en déclinant
> le principe sur les différents niveaux de réseau.
>
> merci pour vos retours
> vincent
>
> [1] : http://lists.openstreetmap.org/pipermail/talk-fr/2011-March/031186.html
>
> [2] :
> http://wiki.openstreetmap.org/wiki/FR:France_roads_tagging#Exemple_2_de_ce_qu.27il_ne_fau
> t_pas_faire
>
> [3] :
> --
> -- index à créer au préalable
> -- create index hidx_ways_tags on ways using gin(tags);
>
> select nodes_at_end.node_id
> from
> (
> select wn.node_id
> from ways w
> join way_nodes wn on w.id = wn.way_id
> where w.tags @> 'highway=>primary' and
> wn.sequence_id = 0
> union
> select node_id
> from
> (
> select w.id,wn.node_id,rank() over(partition by w.id order by
> wn.sequence_id desc)seq_inverse
> from ways w
> join way_nodes wn on w.id = wn.way_id
> where w.tags @> 'highway=>primary'
> ) i
> where i.seq_inverse = 1
> ) nodes_at_end
> join
> (
> select wn.node_id
> from ways w join way_nodes wn on w.id = wn.way_id
> where (
> w.tags @> 'highway=>primary'
> or w.tags @> 'highway=>primary_link'
> or w.tags @> 'highway=>motorway'
> or w.tags @> 'highway=>motorway_link'
> or w.tags @> 'highway=>trunk'
> or w.tags @> 'highway=>trunk_link'
> )
> group by wn.node_id
> having count(*) = 1
> ) nodes_in_ways
> on nodes_at_end.node_id = nodes_in_ways.node_id;
> --
>
> [4] :
> /****** IDs des nodes detectés *********/
> 22601556
> 146850824
> 149375005
> 225048672
> 232445227
> 242836430
> 252509599
> 252509602
> 254492292
> 257821141
> 262107104
> 267272574
> 270367404
> 280062007
> 294806893
> 294806925
> 294810040
> 296497328
> 297296081
> 299846277
> 302933972
> 302944547
> 303443999
> 306222079
> 306222091
> 310171442
> 313919118
> 313919119
> 314072806
> 320432488
> 321684711
> 330618703
> 339723997
> 363728163
> 375919732
> 403788428
> 403788456
> 403797554
> 403797607
> 403800983
> 410493943
> 411853431
> 416379513
> 417102320
> 418365519
> 435655660
> 443822314
> 446020664
> 446020665
> 454631330
> 491082314
> 506769342
> 517498386
> 530185961
> 535308633
> 565683721
> 618287122
> 644618645
> 664044070
> 671151734
> 676823973
> 699932953
> 717798691
> 774479626
> 782738822
> 811997306
> 826152556
> 842210146
> 900604729
> 924656755
> 932372495
> 934920033
> 944696767
> 954557840
> 955800025
> 958383923
> 986682246
> 1014191255
> 1055566627
> 1075948347
> 1081117116
> 1083572614
> 1096401612
> 1165816015
> 1170511547
> 1172079796
> 1189344219
> 1189745680
>
>
> Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
> Je crée ma boîte mail www.laposte.net
>
>
> _______________________________________________
> dev-fr mailing list
> dev-fr at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev-fr
>



Plus d'informations sur la liste de diffusion dev-fr