[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