Overpass query example

Peaks higher than 4000 m

Compare numbers with an if: filter. Example: every Alpine summit above 4000 metres.

Tag filters compare text. To compare numbers, such as an elevation, use an if: filter with an expression.

The query

[out:json][timeout:60];
node["natural"="peak"](if: t["ele"] >= 4000)(45.7,6.7,46.7,8.2);
out;

Run it

Running the query…

Live result from overpass.ch, cached for up to 12 hours. Map data © OpenStreetMap contributors (ODbL).

How it works

  1. (if: t["ele"] >= 4000) reads the ele tag and keeps peaks at or above 4000.
  2. Values that are not numbers are treated as 0 and drop out.
  3. The bounding box covers the Valais and Mont Blanc massifs.

Variations

  • Use number(t["…"]) when you need arithmetic, e.g. (if: number(t["building:levels"]) * 3 > 50).
  • Volcanoes: node["natural"="volcano"].
  • A height for every peak, also those without ele: peaks with their height from elevation data.

Run it from your code

curl https://api.overpass.ch/v1/YOUR_API_KEY/interpreter \
  --data-urlencode 'data@query.overpassql'

Save the query as query.overpassql. It works the same in Overpass Turbo, QGIS and JOSM.

More examples

All examples →