[Requête Overpass] Overpass avec Qgis ou JOSM

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Répondre
Sefoun
Messages : 239
Inscription : lun. nov. 03, 2014 8:01 pm

[Requête Overpass] Overpass avec Qgis ou JOSM

Message par Sefoun » lun. nov. 16, 2015 12:57 pm

Bonjour,

J'ai un petit soucis, deux fois rien, mais ça m'agace.
J'ai construis une requête overpass avec l'assistant sur http://overpass-turbo.eu/

ça donne ça... :

Code : Tout sélectionner

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“(route=bus and operator=TransUrbain) in "Grand Evreux Agglomération"”
*/
[out:json][timeout:25];
// fetch area “Grand Évreux Agglomération” to search in
{{geocodeArea:Grand Évreux Agglomération}}->.searchArea;
// gather results
(
  // query part for: “route=bus and operator=TransUrbain”
  node["route"="bus"]["operator"="TransUrbain"](area.searchArea);
  way["route"="bus"]["operator"="TransUrbain"](area.searchArea);
  relation["route"="bus"]["operator"="TransUrbain"](area.searchArea);
);
// print results
out body;
>;
out skel qt;
...et ça fonctionne. Jusque là pas de soucis.

Hier, je vais sur Qgis, j'ouvre le plugin QuickOSM, je fais un copier-coller de cette requête dans l'éditeur et déjà il me fout du rouge partout, y'a un truc qui lui plait pas dans la syntaxe. Comme c'est souvent le cas, c'est les guillemets double (") qu'il n'aime pas, je les remplace donc par apostrophes(') et déjà ça va mieux mais ça ne fonctionne toujours pas. C'est là que ça se complique...

Hier j'ai bien réussi, à finalement faire fonctionner cette requête dans Qgis, j'avais même modifié le [out:json] pour qu'il me sorte du shp. Le hic c'est que je ne me souvient plus exactement ce que j'avais modifié dans la requête pour que ça fonctionne dans qgis et bien sur je ne n'avais pas enregistré les modifs (au passage c'est quand même ballot que la même requête overpass ne fonctionne pas d'un soft à l'autre...).

Ce matin avant même de réessayé ma requête sur Qgis j'essai de m'en servir sur JSOM... J'essai d'abord la version brute que m'a donné Overpass Turbo mais idem JOSM me renvoi une erreur. Je vais donc les mêmes changement que la veille mais il ne veux rien savoir (au passage [encore !] JOSM n'est pas très bavard, à part dire que ça ne va pas il n'explique pas ce qui ne lui convient pas).

Je retourne dans Qgis, j'essaie de reproduire ce que j'avais fais la veille et qui avait fini par fonctionner mais là j'obtiens plus rien... après plusieurs modifications infructueuses la requête semble fonctionner mais je n'obtiens aucun résultats (le plugin lui même me dit que la requête à réussie) >_<

Si quelqu'un veut bien jeter un oeil, parce que moi c'est en train de me rendre chèvre :

Code : Tout sélectionner

[out:shp][timeout:25];
// fetch area 'Grand Évreux Agglomération' to search in
area(3602719717)->.searchArea;
// gather results
(
  // query part for: route=bus and operator=TransUrbain
  node['route=bus']['operator=TransUrbain'](area.searchArea);
  way['route=bus']['operator=TransUrbain'](area.searchArea);
  relation['route=bus']['operator=TransUrbain'](area.searchArea);
);
// print results
out body;
>;
out skel qt;
ça c'est la requête qui fonctionne mais que ne donne rien sous qgis. Je précise que j'ai déjà essayé en enlevant tous les ' ou en mettant partout ou en mettant qu'a certains endroits, bref j'ai l'impression d'avoir essayé toute les combinaisons possibles... help :cry:

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Gustry » lun. nov. 16, 2015 1:30 pm

Bonjour.
Désolé réponse bref, le smartphone c'est pas pratique.
Je suis le développeur de Quickosm.

Quickosm ne sait pas colorer une requête OQL, seulement du XML. Mais cela ne veut pas dire qu'il faut modifier quelques chose. Normalement la requête doit marcher telle qu'elle est après ton copier coller.

Pour le format de sortie, shp existe ? Je ne connais que json et XML en overpass. Quoi qu'il arrive QUICKOSM va changer ton format de sortie en OSM. Par contre tu peux changer le format dans les paramètres.

Quand QUICKOSM te dis "requête reussie" tu n'as pas de nouvelles couches ?? Dans ce cas là c'est un bug car si tu n'as pas de couche c'est "requête réussi mais oas de résultats "

Sefoun
Messages : 239
Inscription : lun. nov. 03, 2014 8:01 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Sefoun » lun. nov. 16, 2015 2:52 pm

Salut,

Merci pour la réponse rapide.

Donc je confirme ce que je disais, la requête qui fonctionne en ligne avec Overpass Turbo, ne fonctionne pas telle quelle dans QuickOSM (je viens de refaire le test) et le message d'erreur qui me revient est : L'Ordre doit être node-way-relation. Vérifiez le "print".

Si je copie-colle la deuxième requête de mon précédent message j'obtiens bien ce que tu dis : Requête réussie, mais pas de résultat.

Je précise que si je remet json à la place du shp pour le out j'ai exactement le même message, réussie mais pas de résultat.

Hier quand ça a fonctionné, donc quand les couches se sont affichée, elles étaient bien au format shapefile, je les aient même éditées.

Dans l'onglet configuration de QuickOSM j'avais déjà régler la sortie sur shapefile.

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Gustry » lun. nov. 16, 2015 3:55 pm

Pour ta première requête, c'est un message d'erreur normal. Regardes l'aide du plugin, il me semble avoir indiqué cette différence avec overpass turbo. Il faut supprimer un de tes out à la fin. Le wizard d'overpass turbo en génère deux, mais un seul est suffisant. Donc cet erreur est normal.

Pour le format, la clause out dans la requête est totalement inutile dans Quickosm. Quelque soit la clause out, tu obtiendra le format spécifié dans les paramètres.

Sefoun
Messages : 239
Inscription : lun. nov. 03, 2014 8:01 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Sefoun » lun. nov. 16, 2015 5:11 pm

Non désolé ça ne veut vraiment pas...

Si je copie-colle la requête du wizard overpass turbo mais en enlevant un des out à la fin j'obtiens quand même l'erreur L'Ordre doit être node-way-relation. Vérifiez le "print"

Si j'enlève le out au début ça ne change rien non plus.

Par contre si je change les lignes

Code : Tout sélectionner

(
  // query part for: “route=bus and operator=TransUrbain”
  node["route"="bus"]["operator"="TransUrbain"](area.searchArea);
  way["route"="bus"]["operator"="TransUrbain"](area.searchArea);
  relation["route"="bus"]["operator"="TransUrbain"](area.searchArea);
)
;

en

Code : Tout sélectionner

(
  // query part for: route=bus and operator=TransUrbain
  node['route=bus']['operator=TransUrbain'](area.searchArea);
  way['route=bus']['operator=TransUrbain'](area.searchArea);
  relation['route=bus']['operator=TransUrbain'](area.searchArea);
);
C'est à dire si j'enlève les guillemets doubles la requête sera lue en entier mais elle ne me donnera aucun résultat (indépendamment du fait que j'ajoute ou j'enlève des out à la fin ou au début du script).

Pour moi le soucis en 1er lieu c'est les guillemets, si je les laisses le script ne mouline même pas.

Par contre je viens de me rendre compte d'une chose (et honte sur moi) c'est qu'hier en fait je n'avais pas réussi à faire fonctionner la requête overpass, je m'étais finalement rabattu sur requête rapide et j'ai simplement demander route=bus... c'est pour cela que j'avais dû éditer mes couches ensuite car j'avais tous les transporteurs de la zone et pas seulement celui qui m'intéressait... :oops:

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Gustry » mar. nov. 17, 2015 2:42 am

Donc tu dis que tu obtiens l'erreur node-way-relation, mais que si tu changes les " en ', l'erreur disparait? Quelques soit les print? Étrange, normalement cela ne doit pas changer. Les print sont spécifiques à overpass, pas quickosm. Je n'ai pas QGIS sous la main, je regarde ça fin novembre.

Pour la requête rapide, c'est en effet assez simple de télécharger les itinéraires puis de faire une sélection attributaire dans QGIS à l'aide de l'expression suivante

Code : Tout sélectionner

"operator"='TransUrbain'

Avatar de l’utilisateur
cquest
Messages : 1929
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par cquest » mar. nov. 17, 2015 5:29 pm

Pour JOSM, il faut:
- du XML
- avec les meta données...

donc:

[out:xml]

et

out meta;

Sefoun
Messages : 239
Inscription : lun. nov. 03, 2014 8:01 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Sefoun » mer. nov. 18, 2015 1:09 pm

:)

Je dois avoir la poisse, le mauvais oeil, un mauvais fluide ou je sais pas quoi, mais dès que je manipule moi même ce foutu code overpass, ça ne fonctionne plus...

J'avais réussi à importé les données souhaité dans JOSM mais grâce au wizard Overpass Turbo, en faisant "Exporter" > "Données" et enfin en cliquant sur JOSM dans "charger les données dans un éditeur externe OSM :". A partir du moment où JOSM est ouvert et qu'on a le remote control ça se passe merveilleusement bien.

Il faut juste cliquer sur réparer sur "réparer la requête" et bim les données sont dans JOSM. Quand on retourne sur Overpass Turbo et qu'on regarde la requête qui à été réparée on a :

Code : Tout sélectionner

[out:xml]/*fixed by auto repair*/[timeout:25];
// fetch area “Grand Évreux Agglomération” to search in
{{geocodeArea:Grand Évreux Agglomération}}->.searchArea;
// gather results
(
  // query part for: “route=bus and operator=TransUrbain”
  node["route"="bus"]["operator"="TransUrbain"](area.searchArea);
  way["route"="bus"]["operator"="TransUrbain"](area.searchArea);
  relation["route"="bus"]["operator"="TransUrbain"](area.searchArea);
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/
Donc exactement comme le disait Christian il faut un [out:xml] et un out meta.

Eh bien devinez quoi ? si je copie-colle moi-même cette requête dans l'éditeur de requête overpass de JOSM accessible en mode avancée ça ne fonctionne pas...

C'est possible d'avoir autant la poisse ou pas ? :roll:

Avatar de l’utilisateur
cquest
Messages : 1929
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par cquest » jeu. nov. 19, 2015 10:09 pm

Je procède autrement... requête dans overpass-turbo, puis onglet "Exporter" et là tu as un lien qui passe directement la bonne requête à JOSM.

Le requêteur overpass de JOSM limite à la bbox qu'on selectionne... donc en copiant/collant la requête dedans ça ne fonctionne généralement pas.

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Gustry » dim. nov. 22, 2015 12:26 pm

Quelle était l'erreur dans JOSM?

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Gustry » dim. nov. 22, 2015 12:29 pm

Tu as la requête de base écrite en OQL ou XML. Mais le language entre accolades est spécifique à Overpass Turbo. QuickOSM est capable aussi de lire les accolades. Mais peut être pas JOSM, je n'ai jamais vérifié.

Sefoun
Messages : 239
Inscription : lun. nov. 03, 2014 8:01 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Sefoun » dim. nov. 22, 2015 3:09 pm

Gustry a écrit :Quelle était l'erreur dans JOSM?
Salut, l'erreur est : Le serveur 'overpass-api.de' a signalé une requête erronée. Si je choisi l'autre serveur c'est pareil.

Mais t'as peut être raison, je vais regardé du côté des accolades ou autres détails de la syntaxe.

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Gustry » jeu. nov. 26, 2015 2:31 pm

Sefoun a écrit : Salut, l'erreur est : Le serveur 'overpass-api.de' a signalé une requête erronée. Si je choisi l'autre serveur c'est pareil.
Dans QuickOSM tu as pu obtenir ce message ?

Sefoun
Messages : 239
Inscription : lun. nov. 03, 2014 8:01 pm

Re: [Requête Overpass] Overpass avec Qgis ou JOSM

Message par Sefoun » ven. nov. 27, 2015 12:43 pm

Salut,

Non je n'ai jamais eu ce message dans QuickOSM.


Juste au cas où... le fait que je sois sous windows n'a aucune incidence ?

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités