Si on indique une bbox, overpass passera en revue tout les objets dans
cette bbox sans pouvoir tirer partie de ses index.
Si on utilise seulement un tag, overpass utilise l'index sur ce tag pour
trouver les objets correspondants qui si ils sont peu nombreux donneront le
résultat très rapidement.

overpass n'a pas la puissance (relative) du query planner de postgres qui
va tenter d'exploiter le meilleur index et la meilleure méthode en fonction
de la requête et des données (via des statistiques).

Il faudrait avoir des statistiques sur tout les tags, et une info sur la
quantité (même approximative) d'objets présents dans une bbox pour choisir
la meilleure approche... chercher par bbox et filtrer sur les tags ou
l'inverse.

En attendant un query-planner de ce type (et si c'est pas déjà le cas), je
verrai bien un fonctionnement où:

way
  ["power"="sub_station"]
  ["operator"="RTE"]
  (41.333740, -5.140600, 51.089062, 9.559320);
(._;>;);
out body;

chercherai sur les tags, puis filtrerai sur la bbox (en suivant l'ordre des
critères dans la requête)

et

way
  (41.333740, -5.140600, 51.089062, 9.559320)
  ["power"="sub_station"]
  ["operator"="RTE"]  ;
(._;>;);
out body;

chercherai sur la bbox et filtrerai sur les tags... d'ailleurs je pense que
changer l'ordre des tags a aussi une importance, non ?

Voici ce qui devrait être le plus rapide si l'ordre de recherche/filtre
respectait celui de la requête.

way
  ["operator"="RTE"]
  ["power"="sub_station"]
  (41.333740, -5.140600, 51.089062, 9.559320);
(._;>;);
out body;


Un tel fonctionnement permettrait à celui qui écrit la requête de
l'optimiser en ayant une vague idée de ce qui est le plus discriminant.



Le 2 octobre 2013 23:03, Ista Pouss <ista...@gmail.com> a écrit :

> Le 2 octobre 2013 22:39, Stéphane Péneau <stephane.pen...@wanadoo.fr> a
> écrit :
>
>> Je viens de faire une requête très simple (elle trouve 18 POI) sur la
>> france entière .
>>
>> Avec bbox : au bout de 15 minutes ce n'était pas terminé
>> Sans bbox : résultat quasi instantané.
>>
>>
> Mais alors, comment fait-on ensuite pour savoir quels sont les points qui
> correspondent à la bbox ?
>
> (ou question subsidiaire : pourquoi faut-il tant de temps à overpass pour
> faire le tri sur la bbox ??? )
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
>
>


-- 
Christian Quest - OpenStreetMap France
Un nouveau serveur pour OSM... http://donate.osm.org/server2013/
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à