Язык запросов Overpass QL позволяет делать запросы в базу данных OpenStreetMap (OSM) по собственным критериям. wiki.openstreetmap.org Основная семантика Overpass API заключается в том, что потоки данных OSM (точки, линии и т. д.) создаются и изменяются операторами, запускающимися один за другим. wiki.openstreetmap.org
Некоторые особенности работы языка:
- Каждый оператор должен заканчиваться точкой с запятой (;), которая отделяет его от следующего. telegra.ph wiki.openstreetmap.org
- Операторы записывают результат в наборы данных, которые затем передаются на вход последующим операторам. telegra.ph Если набор не указан явно, то используется набор данных по умолчанию, который имеет имя ”_”, после каждого оператора он перезаписывается. telegra.ph
- Возможно использование оператора объединения, который записывается в виде пары круглых скобок (…). telegra.ph Внутри объединения может быть размещена любая последовательность операторов. telegra.ph
- Запрос может включать в себя сразу несколько пар ключ/значение, но в этом случае части запроса должны быть связаны одним из логических операторов AND или OR. baltti.github.io При выборе AND поиск объектов будет осуществляться с учётом того, что все части запроса должны выполняться одновременно. baltti.github.io При использовании оператора OR будет производиться поиск объектов, удовлетворяющих хотя бы одному условию из заданных. baltti.github.io
Для интерактивной обработки запросов прямо в браузере существует сервис Overpass Turbo. dzen.ru janakiev.com