Outils pour utilisateurs

Outils du site


tutoverpass:jour_4_eviter_les_doublons

Jour 4 – Éviter les doublons

Supposons que nous cherchons les hôtels et les restaurants. Nous avons vu qu'une requête peut retourner plusieurs lots de données :

nwr[amenity=restaurant]({{bbox}});
out geom;
nwr[tourism=hotel]({{bbox}});
out geom;

Le problème de cette requête est qu'elle peut retourner des doublons : les hôtels-restaurants, qui portent à la fois le tag amenity=restaurant et tourism=hotel. Ainsi l'hôtel-restaurant “Les Flots Bleus” à Palavas-les-Flots, est en double dans le résultat de la requête : regardez dans l'onglet Données (en haut à droite de la carte).

Pour éviter cela, la solution consiste à assembler en un seul lot de données, les hôtels et les restaurants, en effectuant une union avec la syntaxe suivante :

(
  requete1; 
  requete2; 
);

Placer plusieurs requêtes entre parenthèses a pour effet de créer l'union des lots de données résultant de chaque requête : les doublons sont éliminés. Voici ce que cela donne pour notre exemple :

(
  nwr[amenity=restaurant]({{bbox}});
  nwr[tourism=hotel]({{bbox}});
);  
out geom;

Notez que l'on peut inclure dans l'union un nombre quelconque de requêtes : ajoutons les fast-foods. Une astuce au passage : pour éviter de répéter la syntaxe ({{bbox}}) pour chaque requête, il est possible de le préciser une seule fois au tout début de la requête, avec la syntaxe suivante : [bbox:{{bbox}}];.

On obtient donc :

[bbox:{{bbox}}];
(
  nwr[amenity=restaurant];
  nwr[tourism=hotel];
  nwr[amenity=fast_food];
);  
out geom;

{{style:
  node, way, relation {
    text: name;
  }
}}

Tiens ! Des étiquettes apparaissent sur la carte ! C'est le résultat du bloc {{style: }} ci-dessus, qui indique d'afficher la valeur du tag name en étiquette (text:) pour tous les nodes, ways et relations. Il s'agit d'une syntaxe MapCSS comprise par Overpass Turbo – nous y reviendrons.

Exercices

  • Trouvez les magasins de vêtements et de chaussures.
  • Trouvez les galeries d'art, pratiquant la vente ou pas.
  • Rédigez une requête qui retourne les distributeurs de billets et les banques équipées d'un ATM.

© CC-by-sa Carto’Cité

tutoverpass/jour_4_eviter_les_doublons.txt · Dernière modification : 2023/11/06 14:13 de charles