Mode d'emploi d'API Overpass

Trouver des objets
Compter d'objets
Analyser des données
Plus d'informations

Rectangle englobant

Obtenir des données d'OpenStreetMap dans un extrait de la façon la plus simple.

Le filtre

La façon la plus simple d'obtenir toutes les données dans un rectangle englobant est, de ça formuler explicitement:

nwr(51.477,-0.001,51.478,0.001);
out;

(51.477,-0.001,51.478,0.001) représente le rectangle englobant. L'ordre des bords dans l'expression est toujours le même:

L'API Overpass utilise uniquement des fractions décimales, la notation minute-seconde ou la notation de fraction minute-décimale n'est pas supportée.

La valeur de la frontière sud doit toujours être inférieure à celle de la frontière nord, comme dans le système de coordonnées latitude-longitude, les degrés augmentent du pôle Sud au pôle Nord, de -90,0 à +90,0.

Les longitudes augmentent d'ouest en est aussi presque partout. Mais il y a l'antiméridien - là la valeur de longitude passe de +180,0 à -180,0. Conclusion: Dans presque tous les cas, la valeur ouest est inférieure à la valeur est, à moins que vous ne vouliez étirer un rectangle englobant à travers l'Antiméridien.

C'est généralement assez fastidieux, pour trouver le bon rectangle englobant vous-même. C'est pourquoi presque tous les programmes décrits sous Usage ont des fonctions de confort pour cela. Pour Overpass Turbo et aussi JOSM toutes les occurrences de la chaîne de caractères {{bbox}} sont remplacées par le rectangle englobant visible avant que la requête ne soit envoyée. Avec ceci vous pouvez écrire une requête comme ci-dessus plus générale que (Lien)

nwr({{bbox}});
out;

La requête prend alors effet dans le rectangle englobant visible correspondante.

Notez que certains éléments sont en pointillés sur l'affichage. C'est un indice d'un plus gros problème que nous allons explorer dans la prochaine section: Des objets formellement complets seront livrés, mais ces objets ont des géométries incomplètes, parce que nous l'avons spécifié dans la requête.

Restriction d'affichage

Une deuxième situation dans laquelle il y a des rectangles englobants, est out geom pour la limite de sortie. Si vous voulez visualiser une chemin ou une relation sur la carte, vous devez indiquer explicitement l'API Overpass d'équiper l'objet de coordonnées contraires aux conventions de l'OSM.

Dans le cas des relations, cela peut conduire à de grandes quantités de données. Ainsi, dans cet exemple, la géométrie est livrée sans demande dans toute l'Angleterre, bien que seulement quelques centaines de mètres carrés aient été mis au point:

relation(51.477,-0.001,51.478,0.001);
out geom;

La quantité de données peut être limitée, en ne demandant explicitement que les coordonnées de le rectangle englobant donné dans l'instruction de sortie:

relation(51.477,-0.001,51.478,0.001);
out geom(51.47,-0.01,51.49,0.01);

Le rectangle englobant est notée directement derrière geom. Il peut être identique ou différente de celle des rectangles englobants des instructions précédentes. Dans ce cas, nous avons décidé d'utiliser une réserve très large en utilisant différents rectangles englobants.

Pour les nœuds se produisant explicitement, les coordonnées sont fournies exactement à ce moment-là, si elles sont à l'intérieur du rectangle englobant.

Avec chemins, ce ne sont pas seulement les coordonnées de tous les nœuds du rectangle englobant qui sont fournies, mais aussi la coordonnée suivante et précédente, même s'il est déjà en dehors du rectangle englobant. Pour voir ceci dans l'exemple, veuillez cliquer sur Données dans le coin supérieur droit après exécution; le déplacement de la carte indique également l'endroit où elle a été coupée:

way[name="Blackheath Avenue"](51.477,-0.001,51.478,0.001);
out geom(51.477,-0.002,51.479,0.002);

Seule une partie des nœuds dans le chemin a des coordonnées ici.

Les sections du chemin avec les coordonnées peuvent être déconnectées, même dans un seul chemin:

way[name="Hyde Vale"];
out geom(51.472,-0.009,51.475,-0.005);

Une courbe modérée à partir du rectangle englobant et retour est suffisante pour cela, comme dans cet exemple.

Avec relations, un membre du type chemin est allongé, si au moins l'un des nœuds de cet chemin se trouve à l'intérieur du rectangle englobant. Les autres membres de type chemin ne sont pas allongés. Dans ces chemins, les nœuds du rectangle englobant plus un nœud extra sont fournis avec des coordonnées, comme pour les chemins individuels.

Comme avec le rectangle englobant comme filtre, la plupart des programmes ont un mécanisme, pour insérer automatiquement la boîte de délimitation. Avec Overpass Turbo cela fait comme ci-dessus {{bbox}}, (exemple):

relation({{bbox}});
out geom({{bbox}});

Rectangle globale de délimitation

...


prochaine: Des géométries