c'est mieux avec la requete ...
Le samedi 16 mai 2015 à 16:25 +0200, didier2020 a écrit : > j'ai bati un truc a partir de la requete de christian > sur une base osmosis . > > j'ai pas réussi a aggreger les communes - longueur du way dans la > commune. > > Le samedi 16 mai 2015 à 11:42 +0200, Frédéric Rodrigo a écrit : > > Le 15/05/2015 18:36, Christian Quest a écrit : > > > Suite à cet échange et à une demande de didier2020, j'ai sorti un CSV > > > des highway qui portent un nom et qui croisent plusieurs communes. > > > Les motorway ont été retiré, et c'est trié par nombre de communes > > > croisées, puis par kilométrage décroissant. > > > La liste des codes INSEE des communes croisées est indiquée. > > > > > > C'est ici: http://osm105.openstreetmap.fr/~cquest/routes.csv > > > > > > A affiner pour une future analyse osmose ? > > > > Si vous avais une requête qui tourne sur base osmosis je prends. > > > > > > _______________________________________________ > > Talk-fr mailing list > > talk...@openstreetmap.org > > https://lists.openstreetmap.org/listinfo/talk-fr >
select h.id, h.name as nameway, h.ref as refway, c.ref_insee as insee, ST_Length(st_intersection(c.polygon,h.wline),false)/1000 as km_in_com from ( -- les ways qui ne sont pas des autoroutes, qui ont un tag name et qui sont > a 1km select id,tags->'highway' as highway,tags->'name' as name,tags->'ref'as ref,linestring::geography as wline from debugwithjosm.ways where tags ? 'highway' and not tags->'highway' in ('proposed','motorway','trunk','motorway_link','trunk_link') and tags ? 'name' and ST_Length(linestring,false)/1000>1.00 ) as h join ( -- les communes SELECT relations.id AS id, relations.tags->'ref:INSEE' AS ref_insee, ST_Polygonize(ways.linestring) AS polygon FROM debugwithjosm.relations JOIN debugwithjosm.relation_members ON relation_members.relation_id = relations.id AND relation_members.member_type = 'W' JOIN debugwithjosm.ways ON ways.id = relation_members.member_id AND ST_NPoints(ways.linestring) > 1 WHERE relations.tags?'type' AND relations.tags->'type' = 'boundary' AND relations.tags?'boundary' AND relations.tags->'boundary' = 'administrative' AND relations.tags?'admin_level' AND relations.tags->'admin_level' = '8' and relations.tags?'ref:INSEE' GROUP BY relations.id, relations.tags->'ref:INSEE' ) as c -- avec une intersection on st_intersects(c.polygon,h.wline) where --ST_Length(st_intersection(c.polygon,h.wline),false)/1000>1.0 and -- la taille de l'intersection par rapport a la longueur de la voie est significative ST_Length(st_intersection(c.polygon,h.wline),false)/ST_Length(h.wline)>0.20 ;
_______________________________________________ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr