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

Frédéric Rodrigo fred.rodrigo at gmail.com
Dim 24 Mai 13:47:46 UTC 2015


Bon ok on reste sur la France et un utilise la tag name en plus de highway.

1. Je prend quoi pour filtrer sur par name ?
2. On peut faire exactement même chose avec "highway.tags?'ref:INSEE'" ? 
voir même en une seule fois avec un "OR" ?


Voilà ce que j'ai :
SELECT
   id,
   ST_AsText(intersection)
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 ('construction', 'proposed', 
'motorway', 'trunk', 'motorway_link', 'trunk_link', 'raceway') 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'
) AS t
WHERE
   -- la taille de l'intersection par rapport a la longueur de la voie 
est significative
   ST_Line_Locate_Point(linestring, intersection) BETWEEN .1 AND .9
;



Le 19/05/2015 18:16, Jérôme Amagat a écrit :
> liste des types de  highway dans routes.csv avec leur occurance :
>
>
> Il faut se limiter à certains. Moi je dirais, ceux là :
> primary, secondary, tertiary, unclassified, residential, track,living_street
> plus surement ceux la :
> primary_link, secondary_link, tertiary_link, service, road
> peut être :
> trunk, trunk_link, footway, cycleway, bridleway, pedestrian, path, steps
> Mais pas ceux là :
> motorway, motorway_link, construction, proposed, raceway, corridor,
> bus_stop, via_ferrata, bus_guideway, platform
>
> Apres, il y a aussi le problème des routes nommés qui "dépassent"
> seulement de quelques mètres ou dizaines de mètre sur la commune d'à
> coté ou celles qui longent plus ou moins la frontière en empiétant des 2
> cotés.
>
>
>
> Le 19 mai 2015 15:08, didier2020 <didier2020 at free.fr
> <mailto:didier2020 at free.fr>> a écrit :
>
>     Le mardi 19 mai 2015 à 09:29 +0200, Frédéric Rodrigo a écrit :
>     > J'aimerais bien que l'analyse puisse être internationale.
>     > Filer sur un type de hygjway c'est possible ?
>
>     pour la france je dirais
>     'primary','secondary','primary_link','secondary_link','tertiary','tertiary_link',
>     'residential', 'unclassified', 'service', 'road'
>
>     mais je ne suis pas sur que cela vaut pour les autres pays...
>
>      >
>      > Le 18 mai 2015 23:01, "didier2020" <didier2020 at free.fr
>     <mailto:didier2020 at free.fr>> a écrit :
>      >
>      >         aprés avoir corrigé un bon nombre de "détection",
>      >         je ne pense pas que cela soit la géométrie de l'intersection
>      >         qui importe, mais plutôt la "nature" de la voie :
>      >
>      >         J'ai remarqué que les intersections complexes sont plus liés
>      >         aux écarts entre le tracé Bing vs tracé cadastre .
>      >
>      >         Faire une analyse sans faux positifs grace au premier mot du
>      >         name :
>      >         upper(split_part(tag->'name',' ', 1) in (....)
>      >
>      >         Toujours a corriger
>      >         Rue , Place, Impasse
>      >
>      >         Mitigé :
>      >         Avenue - Allée (dans les forets)
>      >
>      >         Faux positifs :
>      >         Route
>      >         Chemin
>      >         Chaussée
>      >
>      >         Le lundi 18 mai 2015 à 21:54 +0200, Frédéric Rodrigo a
>     écrit :
>      >         > Le 17/05/2015 11:08, didier2020 a écrit :
>      >         > > 1)
>      >         > > colonne intersectioncomplexe ajoutée
>      >         > > ( a prioris il y aura plus de faux positif si .t.)
>      >         > > voir id=153318806 ou id=111737255
>      >         >
>      >         > Pour osmose, on prend ou on prend pas ?
>      >         >
>      >         >
>      >         on prend tout, le critere etant ailleur.





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