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 [email protected] http://lists.openstreetmap.org/listinfo/dev-fr
