Overpass query example

National parks and nature reserves

Find protected areas by protection class. Example: Switzerland.

Protected areas are boundaries tagged boundary=national_park or boundary=protected_area. protect_class follows the IUCN categories: 1a and 1b are strict reserves and wilderness, 2 is a national park.

The query

[out:json][timeout:60];
area["ISO3166-1"="CH"][admin_level=2]->.ch;
rel["boundary"~"^(national_park|protected_area)$"]["protect_class"~"^(1a|1b|2)$"](area.ch);
out geom;

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. Most protected areas are relations, because their boundaries are long and shared.
  2. out geom; returns the boundary ways, joined into areas on the map below.

Variations

  • All nature reserves: ["leisure"="nature_reserve"].

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 →