cool merci, group by 1,2,3,4,5 ? goup by je vois mais c a 5 cela correspond à ?
il me manquait les codes insee pour trouver sur quelle commune etait le VRAI "name" avec http://cadastre.openstreetmap.fr/fantoir/ (c'est pas toujours évident) la majorité des "erreurs" sont sur les RD - name avec la valeur du ref - name mis sans découpage du way sur l'emprise de la rue - split d'un way sans enlever le name Le vendredi 15 mai 2015 à 09:32 +0200, Christian Quest a écrit : > Voilà de quoi faire: > > select h.osm_id, h.highway, h.name, h.ref, > st_length(st_transform(h.way,2154))/1000 as km, count(*) as nb, > string_agg(c.tags->'ref:INSEE',' ' order by c.tags->'ref:INSEE') as > insee from planet_osm_line h join planet_osm_polygon c on (c.boundary > is not null and c.admin_level='8' and c.tags ? 'ref:INSEE' and > st_intersects(c.way,h.way)) where h.highway is not null and > c.tags->'ref:INSEE' like '94%' and h.name is not null group by > 1,2,3,4,5 order by nb desc, km desc; > > > ça sort ça pour le 94 en 1s... > > osm_id | highway | name | > ref | km | nb | insee > -----------+-------------+------------------------------------------+------+------------------+----+------------------------- > 28668562 | track | Chemin du Vieux Colombier | > | 2.91488193057937 | 4 | 94004 94048 94070 94071 > 60738141 | path | Ligne de Paris-Bastille à Marles-en-Brie | > | 3.02463682219015 | 3 | 94047 94048 94075 > 24913577 | track | Chemin du Parc aux Boeufs | > | 2.44325866723766 | 3 | 94048 94060 94071 > 43369126 | track | Chemin du Poteau | > | 2.23332426743423 | 3 | 94060 94070 94071 > 43368301 | track | Chemin de Saint-Nicolas | > | 1.81601370313942 | 3 | 94053 94060 94071 > 4573532 | motorway | Autoroute du Soleil | > A 6a | 1.4758116729325 | 3 | 94016 94038 94076 > 161231620 | residential | Chemin des Bœufs | > | 1.27336749011341 | 3 | 94022 94028 94078 > 43368511 | track | Allée Dauphine | > | 1.26276853571814 | 3 | 94060 94070 94071 > 284745962 | primary | Avenue de Lattre de Tassigny | > N 19 | 1.12256190972095 | 3 | 94004 94048 94075 > 25150801 | motorway | Autoroute de l'Est | > A 4 | 1.004138777096 | 3 | 94015 94017 94079 > > > On peut virer les motorway ;) > > > > Le 10 mai 2015 11:49, didier2020 <didier2...@free.fr> a écrit : > 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@openstreetmap.org > > https://lists.openstreetmap.org/listinfo/dev-fr > > > > _______________________________________________ > dev-fr mailing list > dev-fr@openstreetmap.org > https://lists.openstreetmap.org/listinfo/dev-fr > > > > > -- > Christian Quest - OpenStreetMap France > _______________________________________________ > dev-fr mailing list > dev-fr@openstreetmap.org > https://lists.openstreetmap.org/listinfo/dev-fr _______________________________________________ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr