[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