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

2015-05-24 Par sujet didier2020
Le dimanche 24 mai 2015 à 15:47 +0200, Frédéric Rodrigo a écrit : 
> 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 ?
Rue Impasse Passage Ruelle Boulevard

j'exclus Allée & Avenue a cause des forets... 
> 2. On peut faire exactement même chose avec "highway.tags?'ref:INSEE'" ? 
> voir même en une seule fois avec un "OR" ?
j'ai pas saisi ... 
> 
> 
3) ajouter aux highway a exclure
bridleway bus_guideway bus_stop steps viaferrata

> 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  > > 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"  > > 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.
> 
> 
> 
> ___
> dev-fr 

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

2015-05-24 Par sujet Frédéric Rodrigo

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 mailto:didier2...@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" mailto:didier2...@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.




___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-22 Par sujet didier2020
-l'analyse n'est pas du tout internationale, plutot "pointue" mais avec
peu de faux positif (pour ce que j'ai corrigé jusqu'a maintenant)
- il vaux mieux prendre des way qui sont longs, je pense que pour les
plus petits, d'autres analyses serait plus pertinente ou aurait le meme
effet de correction
(point adresse eloigné du way, associated street sans tag complémentaire
"xx:left ou xx:right dont le way est sur plusieurs commune,
analyse/verification de bano ou autre ?)

select 
t.id,
-- a adapter a osmose
ST_AsText(ST_Centroid(t.linestring))
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
 -- way qui sont > a 2km et
 -- qui ont le debut du name qui commence par "RUE" et certain type
de highway
 -- OU qui ont un code fantoir (avec ou sans name)
 highway.tags?'highway' AND
 (
   (
   highway.tags->'highway' IN
('primary','secondary','primary_link','secondary_link','tertiary','tertiary_link',
 'residential', 'unclassified', 'service', 'road') and
   highway.tags?'name' AND
   upper(left(highway.tags->'name',3))='RUE'
   )
   or highway.tags ? 'ref:FR:FANTOIR' 
 ) and
 ST_Length(highway.linestring, false) > 2000 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
group by 1,2
;


___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-19 Par sujet Philippe Verdy
Le 19 mai 2015 18:16, Jérôme Amagat  a écrit :

> liste des types de  highway dans routes.csv avec leur occurance :
>
> unclassified 20923
> residential 20637
> tertiary 16783
> track 11960
> secondary 10341
> primary 5270
> path 2762
> service 1325
> trunk 726
> footway 697
> cycleway 629
> road 139
> living_street 109
> motorway_link 70
> bridleway 68
> trunk_link 55
> pedestrian 55
> primary_link 46
> construction 26
> proposed 21
> raceway 19
> tertiary_link 19
> steps 16
> bus_guideway 15
> platform 14
> secondary_link 13
> corridor 3
> bus_stop 3
> via_ferrata 3
> unclassified;residential 1
> unclassified;tertiary 1
>
> 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
>

Pas "road", ou alors juste comme un alias, synoryme de "unclassified"
(certains ont d'autres avis justement parce qu'ils inclus des voies non
routières dans les highways (par exemple les vias ferratas sont des voies
nécessitant un équipement sportif particulier et un entrainement
spécifique, sinon elles sont très dangereuses; et elles ne sont pas à
pratiquer seul).


> peut être :
> trunk, trunk_link, footway, cycleway, bridleway, pedestrian, path, steps.
>

OK pour steps, mais les bridleways sont davantage des restrictions d'accès
que des équipements très spécifiques. Sinon ce sont des allées piétonnes
comme les autres (et parfois aussi ouvert à certains véhicules privés
autorisés). On en trouve rarement dans les espaces publics, ce sont surtout
des chemins de service internes à des propriétés privées, clubs hippiques,
ou hippodromes. Partout ailleurs il n'y a pas d'espace réservé aux seuls
chevaux. D'ailleurs la plupart des bridleways (bon nombre en fait des
chemins de ferme) sont maintenant des chemins piétons classiques, et
ouverts aussi aux cyclistes, il n'y en a plus du tout dans les villes
actuelles.

D'ailleurs les voisins des fermiers se plaignent dans des animaux ou
troupeaux utilisent les rues et routes "normales" (alors qu'ils ne peuvent
plus faire autrement) et les bergers doivent demander des autorisations
spéciales pour fermer les routes le temps de déplacer les troupeaux sur la
voie publique. Et la gendarmerie fait vite dégager les cavaliers des routes
du réseau principal ou secondaire (les cavaliers ne sont admis que sur le
réseau tertiaire et dans des espaces limités des campagnes et forêts, et
dont les routes sont balisées pour avertir la présence de chevaux)



Mais pas ceux là :
> motorway, motorway_link, construction, proposed , raceway, corridor,
> bus_stop, via_ferrata, bus_guideway, platform
>

- proposed: OK, car on utilise plutôt le tag proposed:highway=*

- motorway: pas du tout d'accord (je ne vais pas être le seul, les
autoroutes ne sont pas que des voies rapides du réseau primaire, alors que
tu mets au donditionnel aussi les "trunk" !)

- raceway: on peut envisager que c'est en fait une route de service (accès
réservé à certains véhicules ayant une autorisation spéciale, interdit à
tous les autres; cependant on est en plus dans des terrains privés, bref la
législation devient floue à leur sujet, gormis les obligations relatives à
l'accueil du public et la protection du voisinage; sinon ces lieux
n'existent que temporairement le temps d'une course et rouverts ensuite à
la circulation normale); à voir donc plutôt ave la façon plus générale de
taguer les espaces sportifs (stades, etc... y compris pelouses, terrains
marqués pour certains sports, gradins/tribunes, batiments, et pistes de
toutes sortes: le circuit "raceway" est très secondaire dans tout ça et
soit c'est un highwya normal réservé le temps d'une course, soit c'est une
voie de service à suage sportif donc highway=service; service=raceway et
sport=car_racing ou autres sports motorisés)


> 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.
>

Plus que la route seule, ce sont les propriétés longées et accessibles par
cette route qui posent le problème des adresses qui font déborder beaucoup
plus qu'on ne s'imagine le nom des voies, en incluant non seulement les
façades mais une large surface derrière, et ce n'est pas parce que les
occupants ont leur appartement du côté opposé à cette rue qu'il ne sont pas
à la même adresse, il peut même arriver que le bâtiment soit à cheval sur
la frontière communale et on peut se demander alors à quelle commune
revient tel appartement dans le même immeuble quand tous ses accès se font
uniquement d'un seul côté depuis la voirie publique qui est entièrement sur
une seule commune).

Le cas est plus fréquent dans les périphéries de villes assez grandes pour
avoir une banlieue, dans les zones commerciales et industrielles, où tel ou
tel entrepôt ou magasin peut se retrouver à chev

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

2015-05-19 Par sujet Jérôme Amagat
liste des types de  highway dans routes.csv avec leur occurance :

unclassified 20923
residential 20637
tertiary 16783
track 11960
secondary 10341
primary 5270
path 2762
service 1325
trunk 726
footway 697
cycleway 629
road 139
living_street 109
motorway_link 70
bridleway 68
trunk_link 55
pedestrian 55
primary_link 46
construction 26
proposed 21
raceway 19
tertiary_link 19
steps 16
bus_guideway 15
platform 14
secondary_link 13
corridor 3
bus_stop 3
via_ferrata 3
unclassified;residential 1
unclassified;tertiary 1

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  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"  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.
> > > ___
> > > 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
> > ___
> > 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
>
___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-19 Par sujet didier2020
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"  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.
> > ___
> > 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 
> ___
> 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


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

2015-05-19 Par sujet Eric Sibert

Christian Quest  a ?crit :


J'ai sorti un CSV du résultat sur la France entière:
http://osm105.openstreetmap.fr/~cquest/routes.csv

92750 cas à vérifier... ;)


Je crains qu'on passe encore à côté d'un certain nombre de cas à cause  
des redécoupages ultérieurs des voies:
- un premier contributeur, il y a longtemps (dans une galaxie  
lointaine...) a mis le nom sur le way qui parcours 10 communes
- un second contributeur a coupé le way en plusieurs morceaux pour  
mettre les ponts (sur la rivière formant la limite entre les communes)  
ou les limites de vitesses qui peuvent changer aux limites de communes


Je pense qu'il faudrait une analyse qui aille au delà d'un seul way et  
qui regroupe les ways consécutifs portant le même nom.


Je ne parle pas du troisième contributeur qui a renommé certains  
morceaux au milieu en constatant que ça ne collait pas au terrain :-p





Eric


___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-19 Par sujet Frédéric Rodrigo
J'aimerais bien que l'analyse puisse être internationale. Filer sur un type
de hygjway c'est possible ?
Le 18 mai 2015 23:01, "didier2020"  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.
> > ___
> > 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
>
___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-18 Par sujet didier2020

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. 
> ___
> 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


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

2015-05-18 Par sujet Frédéric Rodrigo

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 ?


___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-17 Par sujet didier2020
pour le nord pas de calais,
voila le detail des intersections
51 GEOMETRYCOLLECTION 
14 LINESTRING 
63 MULTILINESTRING
410 MULTIPOINT  
868 POINT 

donc pour la représentation la condition serait plutot
typeintersection<>'POINT' pour indiquer qu'il a d'autres endroit avec
une intersection

et du coup

la requete :

SELECT
   id,
   st_astext(intersection) as locosmose,
   typeinter,
   count(*) as nbintersection
FROM
(
SELECT
   highway.id,
   highway.linestring,

ST_ClosestPoint(highway.linestring,ST_Intersection(admin.linestring,highway.linestring))
 AS intersection,
   GeometryType(ST_Intersection(admin.linestring,highway.linestring)) as
typeinter

group by 1,2,3
;





___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-17 Par sujet didier2020
1)
colonne intersectioncomplexe ajoutée
( a prioris il y aura plus de faux positif si .t.)
voir id=153318806 ou id=111737255
2)
la meme route decoupée en plusieurs morceaux
- 1 morceau etait un way de la frontiere entre 2 communes => pas dans
analyse = ok (39219738)
- 1 autre morceau avec une intersection avec encore une autre commune =>
trouvé dans analyse = ok(107747493)

ce meme nom est bien présent dans fantoir :
591840060A
593660047V
594970200S

en ne mettant pas ref:FR:FANTOIR, le rapprochement est fait 
(points bleu)

=> 
- l'analyse est ok
- la description actuelle dans osm permet de faire le rapprochement bano
(sans code fantoir)
- faut-il splitter ce way et lui attribuer un code fantoir par commune ?

--
l'analyse utilisée :
--

SELECT
   id,
   st_astext(intersection) as locosmose,
   count(*) as nbintersection,
   sum(anadm)>0 as intersectioncomplexe

FROM
(
SELECT
   highway.id,
   highway.linestring,
   ST_ClosestPoint(highway.linestring,
ST_Intersection(admin.linestring,highway.linestring)) AS intersection,
   case
 when
GeometryType(ST_Intersection(admin.linestring,highway.linestring))='MULTIPOINT'
 then 1
 else 0 end as anadm
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 voies type autoroute ni des
raceway, 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','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' 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
group by 1,2
;


___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-16 Par sujet didier2020
deja merci :)

j'ai ajouté
group by id a la fin 
highway=raceway a filter

j'ai fais plusieurs test locaux, les id retournés sont tous bien a
corriger.
j'ai lancé 2 analyses osmose sur le nord_pas_de_calais (dept ou il y a
le plus de commune concernés) avec les 2 requetes.

j'analyserais demain ...


Le samedi 16 mai 2015 à 20:13 +0200, Frédéric Rodrigo a écrit : 
> 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...@openstreetmap.org
> >>> https://lists.openstreetmap.org/listinfo/talk-fr
> >>
> >
> 
> 
> ___
> 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


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

2015-05-16 Par sujet Frédéric Rodrigo

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...@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr







___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-16 Par sujet didier2020
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...@openstreetmap.org
> > https://lists.openstreetmap.org/listinfo/talk-fr
> 

select 
 h.id,
 h.name as nameway,
 h.ref as refway,
 c.ref_insee as insee,
 ST_Length(st_intersection(c.polygon,h.wline),false)/1000 as km_in_com
from 
(
-- les ways qui ne sont pas des autoroutes, qui ont un tag name et qui sont > a 1km
select 
id,tags->'highway' as highway,tags->'name' as name,tags->'ref'as ref,linestring::geography as wline
from 
debugwithjosm.ways 
where
tags ? 'highway' and not tags->'highway' in ('proposed','motorway','trunk','motorway_link','trunk_link')
and tags ? 'name'
and ST_Length(linestring,false)/1000>1.00
) as h
join
(
-- les communes
SELECT
relations.id AS id,
relations.tags->'ref:INSEE' AS ref_insee,
ST_Polygonize(ways.linestring) AS polygon
FROM
debugwithjosm.relations
JOIN debugwithjosm.relation_members ON
relation_members.relation_id = relations.id AND
relation_members.member_type = 'W'
JOIN debugwithjosm.ways ON
ways.id = relation_members.member_id AND
ST_NPoints(ways.linestring) > 1
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'
GROUP BY
relations.id,
relations.tags->'ref:INSEE' ) as c
-- avec une intersection
on  st_intersects(c.polygon,h.wline)
where
--ST_Length(st_intersection(c.polygon,h.wline),false)/1000>1.0 and
-- la taille de l'intersection par rapport a la longueur de la voie est significative
ST_Length(st_intersection(c.polygon,h.wline),false)/ST_Length(h.wline)>0.20
;
___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-16 Par sujet didier2020
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...@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr



___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr


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

2015-05-15 Par sujet Christian Quest
J'ai sorti un CSV du résultat sur la France entière:
http://osm105.openstreetmap.fr/~cquest/routes.csv

92750 cas à vérifier... ;)

Le 15 mai 2015 15:50,  a écrit :

> - j'ai compris depuis ...
> 1,2,3,4,5 correspond aux select (id... km)
> mais sans les remettre - je connaissais pas cette syntaxe
>
> - j'ai ajouté having count(*)>1
> ça fait moins de lignes
>
> - du coup c'est meme pas long pour la france !
>
> encore merci christian !
>
>
> - Mail d'origine -
> De: Christian Quest 
> À: Discussions développeur OSM en français 
> Envoyé: Fri, 15 May 2015 14:04:36 +0200 (CEST)
> Objet: Re: [OSM-dev-fr] requete pour trouver un way qui intersecte
> plusieurs communes
>
> le group 5 c'est pour la longueur du way, vu qu'il n'y a pas d'aggregation
> dessus, il faut le mettre dans le group by.
>
> La requête a besoin d'un index sur le ref:INSEE pour être rapide... c'est
> le cas sur osm105 où j'ai testé ça.
>
> Le 15 mai 2015 10:43, didier2020  a écrit :
>
> > 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 Boeufs |
> > > | 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  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))='AV

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

2015-05-15 Par sujet didier2020
- j'ai compris depuis ...
1,2,3,4,5 correspond aux select (id... km)
mais sans les remettre - je connaissais pas cette syntaxe

- j'ai ajouté having count(*)>1 
ça fait moins de lignes

- du coup c'est meme pas long pour la france !

encore merci christian !


- Mail d'origine -
De: Christian Quest 
À: Discussions développeur OSM en français 
Envoyé: Fri, 15 May 2015 14:04:36 +0200 (CEST)
Objet: Re: [OSM-dev-fr] requete pour trouver un way qui intersecte  
plusieurs communes

le group 5 c'est pour la longueur du way, vu qu'il n'y a pas d'aggregation
dessus, il faut le mettre dans le group by.

La requête a besoin d'un index sur le ref:INSEE pour être rapide... c'est
le cas sur osm105 où j'ai testé ça.

Le 15 mai 2015 10:43, didier2020  a écrit :

> 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 Boeufs |
> > | 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  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 re

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

2015-05-15 Par sujet Christian Quest
le group 5 c'est pour la longueur du way, vu qu'il n'y a pas d'aggregation
dessus, il faut le mettre dans le group by.

La requête a besoin d'un index sur le ref:INSEE pour être rapide... c'est
le cas sur osm105 où j'ai testé ça.

Le 15 mai 2015 10:43, didier2020  a écrit :

> 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 Boeufs |
> > | 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  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 

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

2015-05-15 Par sujet didier2020
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  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 p

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

2015-05-15 Par sujet Christian Quest
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 Boeufs |
| 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  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

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

2015-05-10 Par sujet didier2020
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


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

2015-05-09 Par sujet didier2020
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.
> 

ok (presque compris) en tout cas merci !
je vais essayer ca 
> 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


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

2015-05-09 Par sujet Vincent de Château-Thierry

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


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

2015-05-08 Par sujet didier2020
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)

merci de vos suggestions
didier







___
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr