[OSM-dev-fr] requete pour trouver un way qui intersecte plusieurs communes
didier2020
didier2020 at free.fr
Dim 10 Mai 09:49:47 UTC 2015
j'ai commencé par dégrossir les erreurs avec :
select osm_id,name
from planet_osm_line
where
highway is not null and
name is not null and
(
upper(left(name,3)) = 'RUE'
or upper(left(name,6))='AVENUE'
or upper(left(name,5))='ALLEE'
or upper(left(name,6))='PLACE'
)
and (ST_Length(ST_Transform(way,2154))/1000)>5.0
Le samedi 09 mai 2015 à 15:28 +0200, Vincent de Château-Thierry a
écrit :
> Bonjour,
>
> Le 08/05/2015 12:24, didier2020 a écrit :
> > voila c'est dans le titre ...
> >
> > depuis que je "banote" j'ai remarqué plusieur fois :
> > un nom est mis sur une voie mais comme celle-ci n'est pas découpée,
> > ce nom est erroné sur la commune voisine.
> >
> > donc
> > le but est de trouver l'id d'un way
> > de type route (primary, secondary,unclassified, ...)
> > qui est "long" => tri decroissant par la longueur
> > qui a un nom
> > qui a une intersection avec au moins 3 communes
> > => c'est la que je coinse !
> >
> > etape suivante
> > si que 2 il faudrait connaitre la longueur sur les 2... pour avoir une
> > longueur significative (2km,1km par exemple)
>
> Le souci à corriger peut commencer avec un way (pas forcément long) qui
> est à cheval sur 2 communes, dès lors qu'il croise la limite de commune
> plutôt que d'être confondu avec elle.
>
> Tu es dans quel environnement technique pour ça : une BD PostGIS ? En
> supposant que oui, ta recherche revient à détecter les ways ayant
> certains de leurs points strictement inclus dans un polygone "limite de
> commune" et d'autres points dans une autre commune, toujours en stricte
> inclusion, donc pas superposés à la limite.
> Une manière d'approcher le résultat si tu as les ways et polygones sous
> la main :
> SELECTion de l'ID du way, et du code INSEE du polygone admin 8 dans
> lequel est inclus le 1er point du way,
> UNION
> SELECTion de l'ID du way, et du code INSEE du polygone admin 8 dans
> lequel est inclus le dernier point du way
>
> Ça va te sortir une liste où, pour un way inclus dans une seule commune,
> tu auras une seule ligne en sortie (vu que le UNION dédoublonne). Ce qui
> va t'intéresser c'est les ways pour lesquels tu as 2 lignes qui sortent
> : ils sont à cheval sur 2 communes au moins.
>
> Ca ne gère pas tout, notamment les cas où le way commence et finit dans
> la même commune mais fait un détour par une commune voisine. Mais ça
> devrait permettre de dégrossir.
>
> Pour le 1er et le dernier point des ways tu as ST_StartPoint et
> ST_EndPoint tous cuits.
>
> vincent
>
> _______________________________________________
> dev-fr mailing list
> dev-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/dev-fr
Plus d'informations sur la liste de diffusion dev-fr