[OSM-dev-fr] requete pour trouver un way qui intersecte plusieurs communes

Frédéric Rodrigo fred.rodrigo at gmail.com
Sam 16 Mai 18:13:46 UTC 2015


Salut,

Voilà ce que j'en ai fait, regarde un peut les résultats et si tu peux 
l'améliorer. Il y a un bug avec les voies qui reviennent dans la commune 
d'origine, à voir si c'est est acceptable.

SELECT
   id
FROM
(
SELECT
   highway.id,
   highway.linestring,
   ST_ClosestPoint(highway.linestring, ST_Intersection(admin.linestring, 
highway.linestring)) AS intersection
FROM
   relations
   JOIN relation_members ON
     relation_members.relation_id = relations.id AND
     relation_members.member_type = 'W'
   JOIN ways AS admin ON
     admin.id = relation_members.member_id AND
     ST_NPoints(admin.linestring) > 1
   JOIN ways AS highway ON
     -- les ways qui ne sont pas des autoroutes, qui ont un tag name et 
qui sont > a 1km
     highway.tags?'highway' AND
     NOT highway.tags->'highway' IN ('proposed', 'motorway', 'trunk', 
'motorway_link', 'trunk_link') AND
     highway.tags?'name' AND
     ST_Length(highway.linestring, false) > 1000 AND
     ST_NPoints(highway.linestring) > 1 AND
     -- avec une intersection
     ST_Intersects(admin.linestring, highway.linestring)
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'
) AS t
WHERE
   -- la taille de l'intersection par rapport a la longueur de la voie 
est significative
   ST_Line_Locate_Point(linestring, intersection) > 0.1 AND
   ST_Line_Locate_Point(linestring, intersection) < 0.9
;



Le 16/05/2015 16:26, didier2020 a écrit :
> 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-fr at openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-fr
>>
>




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