{"id":45468937,"url":"https://github.com/deevroman/overpass-queries","last_synced_at":"2026-02-22T10:45:45.579Z","repository":{"id":38391327,"uuid":"485084748","full_name":"deevroman/overpass-queries","owner":"deevroman","description":"Сборник (бес)полезных запросов к Overpass Turbo","archived":false,"fork":false,"pushed_at":"2025-12-14T14:05:39.000Z","size":75,"stargazers_count":6,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-16T21:13:14.893Z","etag":null,"topics":["openstreetmap","overpass-api","overpass-ql","overpass-turbo"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deevroman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-24T16:49:11.000Z","updated_at":"2025-12-14T14:05:43.000Z","dependencies_parsed_at":"2023-12-07T01:52:01.039Z","dependency_job_id":"2d044de4-a0fc-452b-8555-7cd3590d561c","html_url":"https://github.com/deevroman/overpass-queries","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deevroman/overpass-queries","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevroman%2Foverpass-queries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevroman%2Foverpass-queries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevroman%2Foverpass-queries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevroman%2Foverpass-queries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deevroman","download_url":"https://codeload.github.com/deevroman/overpass-queries/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deevroman%2Foverpass-queries/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29710246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T10:34:24.778Z","status":"ssl_error","status_checked_at":"2026-02-22T10:32:23.200Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openstreetmap","overpass-api","overpass-ql","overpass-turbo"],"created_at":"2026-02-22T10:45:45.021Z","updated_at":"2026-02-22T10:45:45.573Z","avatar_url":"https://github.com/deevroman.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# overpass-queries\nНекоторые (бес)полезные запросы к [Overpass-turbo](https://overpass-turbo.eu/) ([зеркало от mail.ru](https://maps.mail.ru/osm/tools/overpass/))\n\n\n### Сёла без домов\n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Смоленская область\"]\n-\u003e.b;\n\n(\n  node(area.b)\n    [\"place\"~\"village\"];\n)-\u003e.c;\n\nforeach .c -\u003e .d (\n  (way[building](around.d:500); .d;);\n  node._(if:count(ways) == 0);\n  out;\n);\n\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eБолее быстрый, но менее гибкий запрос\u003c/summary\u003e\nhttps://gis.stackexchange.com/questions/407903/places-near-which-there-are-no-buildings\n  \n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Смоленская область\"]\n-\u003e.b;\n\n(\n  node(area.b)\n    [\"place\"~\"village\"];\n)-\u003e.c;\n\n(\n  way[building](around.c:500)-\u003e.build; // \u003c- !\n) -\u003e .build;\n\n(\n  node(around.build:500)\n    [\"place\"~\"village\"];\n) -\u003e .d;\n\n(.c; - .d;)-\u003e.result;\n\n.result out center;\n```\n\n\u003c/details\u003e\n\n  \n\u003cdetails\u003e\n\u003csummary\u003eАналогичное для кладбищ\u003c/summary\u003e\n  \n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Воронежская область\"]\n-\u003e.b;\n\n(\n  node(area.b)\n  \t[\"place\"=\"village\"];\n)-\u003e.c;\n\n(\n  wr(area.b)[\"landuse\"=\"cemetery\"]-\u003e.build;\n) -\u003e .build;\n\n(\n  node(around.build:4000)\n  \t[\"place\"=\"village\"];\n) -\u003e .d;\n\n(.c; - .d;)-\u003e.result;\n\n.result out center;\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eАналогичное для лежачих поличейских около школ\u003c/summary\u003e\n  \n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Липецкая область\"]\n-\u003e.b;\n\n(\n  node(area.b)\n    [\"amenity\"=\"school\"];\n)-\u003e.c;\n\n(\n  way[traffic_calming](around.c:2000)-\u003e.build; // \u003c- !\n) -\u003e .build;\n\n(\n  node(around.build:1000)\n    [\"amenity\"=\"school\"];\n) -\u003e .d;\n\n(.c; - .d;)-\u003e.result;\n\n.result out center;\n```\n\u003c/details\u003e\n\n  \n### Висячие подъезды \n```graphql\n{{geocodeArea:\"Центральный федеральный округ\"}}-\u003e.b;\n\n(\nnode(area.b)[entrance]; \u003e -\u003e .ent;\n)-\u003e.ent;\n\n(\nnode.ent; \u003c -\u003e .w;\n)-\u003e.w;\n\n(\nway.w; \u003e -\u003e .w;\n)-\u003e.w;\n\n( node(area.b)[entrance]; - node.w; );\nout meta;\n```\n\n### Имена рек, требующие исправления. v3 https://maproulette.org/browse/challenges/24018\n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Центральный федеральный округ\"]\n-\u003e.b;\n\nway(area.b)[waterway][\"name\"~\"^[Рр](ека|\\\\.).*[^яй]$\"];\n\nout center;\n```\n\n#### Имена рек, требующие исправления. v4 \n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Центральный федеральный округ\"]\n-\u003e.b;\n\nway(area.b)[waterway][\"name\"~\"^[Рр](е[ч]?ка|\\\\.|уч).*[^аяй]$\"];\n\nout center;\n```\n  \n#### Имена рек, требующие исправления. v5\n```graphql\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Центральный федеральный округ\"]\n-\u003e.b;\n\nway(area.b)[waterway][\"name\"~\"^[Рр].*?\\\\..*$\"];\n\nout center;\n```\n  \n### Фильтрация по длине значения ключа\n```graphql\nnode[\"addr:flats\"~\".{150,}\"];\n\nout body;\n\u003e;\nout skel qt;\n```\n\n  \n### Граффити без artwork_type\n```graphql\nnode\n  [name~\".*раффити.*\"][!artwork_type][tourism=artwork];\nout;\n```\n\n### Запрос для выискивания значения тегов, в которых есть ;\n\u003cdetails\u003e\n\u003csummary\u003eТык\u003c/summary\u003e\n  \n// WARN постепенным добавлением ключей можно скрыть искомые ключи\n  \n// Например, если у всех точек с somekey есть name, то они не будут обнаружены этим запросом\n  \n// Однако запрос простой и быстрый по времени, чтобы получить примерный список \n```graphql\n[out:json]\n[timeout:25];\nnode[~\".*\"~\".*;.*\"]\n[!opening_hours]\n[!\"opening_hours:covid19\"]\n[!collection_times]\n[!\"addr:flats\"]\n[!voltage]\n[!\"voltage:primary\"]\n[!utility]\n[!waste]\n[!cuisine]\n[!phone]\n[!source]\n[!note]\n[!fixme]\n[!name]\n[!old_name]\n[!description]\n[!inscription]\n[!\"inscription:1\"]\n[!\"subject:wikidata\"]\n[!\"contact:phone\"]\n[!vending]\n[!brand]\n[!\"camera:direction\"]\n[!craft]\n[!ref]\n[!\"toilets:position\"]\n[!\"seamark:buoy_cardinal:colour\"]\n[!\"seamark:buoy_lateral:colour\"]\n[!\"seamark:buoy_isolated_danger:colour\"]\n[!\"seamark:buoy_special_purpose:colour\"]\n[!\"seamark:beacon_lateral:colour\"]\n[!\"seamark:cable_submarine:name\"]\n[!\"seamark:notice:addition\"]\n[!\"seamark:notice:impact\"]\n[!\"seamark:topmark:colour\"]\n[!sport]\n[!level]\n[!levels]\n[!\"building:levels\"]\n[!clothes]\n[!direction]\n[!designated]\n[!\"motor_vehicle:conditional\"]\n[!\"access:conditional\"]\n[!\"was:collection_times\"]\n[!\"was:opening_hours\"]\n[!operator]\n[!shop]\n[!material]\n[!crossing]\n[!barrier]\n[!manhole]\n[!playground]\n[!map_type]\n[!fitness_station]\n[!colour]\n[!amenity]\n[!animal]\n[!traffic_sign]\n[!\"traffic_sign:backward\"]\n[!\"traffic_sign:forward\"]\n[!\"addr:housenumber\"]\n[!\"addr:unit\"]\n[!\"communication:mobile_phone\"]\n[!destination]\n[!\"destination:backward\"]\n[!\"destination:forward\"]\n[!\"turn:lanes:forward\"]\n[!\"turn:lanes:backward\"]\n[!\"motorcycle:conditional\"]\n[!\"traffic_signals:direction\"]\n[!\"motorcar:conditional\"]\n[!\"restriction:conditional\"]\n[!\"turn:lanes\"]\n[!\"piste:grooming\"]\n[!\"building:material\"]\n[!\"building:cladding\"]\n[!\"building:levelPlan\"]\n[!start_date]\n[!surface]\n[!\"building:part:use\"]\n[!\"species:ru\"]\n[!length]\n[!motor_vehicle]\n[!weather_protection]\n[!layer]\n[!access]\n[!content]\n[!product]\n[!crop]\n[!route_ref]\n[!species]\n[!\"destination:ref\"]\n[!traffic_calming]\n[!information]\n[!\"generator:source\"]\n[!network]\n[!whitewater]\n[!\"flag:wikidata\"]\n[!\"flag:type\"]\n[!\"addr:postcode\"]\n[!traffic_signals]\n[!stop]\n[!door]\n[!kerb]\n[!highway]\n[!railway]\n[!antenna]\n[!repeat_on]\n[!specality]\n[!\"disused:ref\"]\n[!\"surveillance:zone\"]\n[!\"fire_hydrant:type\"]\n[!\"destination:lanes\"]\n[!\"healthcare:speciality\"]\n[!seasonal]\n[!man_made]\n[!curb]\n[!\"graffiti:tag\"]\n[!pipelinemarker]({{bbox}});\n\nout body;\n\u003e;\nout skel qt;\n``` \n  \n\u003c/details\u003e\n  \n### Озёра без water=lake\n```graphql\n(\n  way[name~\".*ое$\"][natural=water][!water]({{bbox}});\n  way[name~\".*зеро.*\"][natural=water][!water]({{bbox}});\n);\n(._;\u003e;);\nout;\n```\n\n### Отношения рек без связи с википедией\n```graphql\n// TODO реки с викидатой, но в отношении\n// TODO длинные без отношения\nrelation[waterway=river][!wikidata]({{bbox}});\nout body;\n\u003e;\nout skel qt;\n```\n\n### Подозрительные объекты на со словом яндекс\n```graphql\n// TODO убрать маркет, такси регулярками\n// TODO все типы\nnode[~\".*\"~\"(я|Я)ндекс\"][shop!=outpost][office!=it][amenity!=vending_machine][amenity!=parcel_locker][source!=\"Яндекс Панорамы\"][office!=company][name!=\"Яндекс.Маркет\"];\nout;\n```\n\n### Попытка найти нетривиальные знаки Уступи дорогу без направления\n```graphql\n// тривиальные — на перекрёстках дорог с разным статусом. Но почему-то не всегда работает:(\narea\n  [\"boundary\"=\"administrative\"]\n  [\"name\"=\"Воронежская область\"]\n-\u003e.b;\n\nway[highway][!oneway](area.b)-\u003e.h;\n.h \u003e -\u003e .h;\nnode.h[\"highway\"=\"give_way\"][!direction](area.b)-\u003e.c;\n\n(\n  way[highway=trunk](around.с:100);\n  way[highway=primary](around.с:100);\n  way[highway=secondary](around.с:100);\n)-\u003e.w;\n\n.w \u003e -\u003e .w;\n\nnode.h(around.w:100)-\u003e.d;\n\n(.c; - .d;)-\u003e.res;\n\n.res out body;\n```\n  \n### Для шаурмы и шашлыка на русском\n```graphql\nnode[cuisine~\"шаурма|шава|шашлык\", i];\nout body;\n\u003e;\nout skel qt;\n```\n  \n### Длинные ЛЭП без вольтажа\n```graphql\n{{geocodeArea::Russia}}-\u003e.a;\n(\n  way[\"power\"=\"line\"][!voltage](area.a)(if: length() \u003e 100000);\n);\nout body;\n\u003e;\nout skel qt;\n```\n  \n### Вероятно ошибочные островки безопасности\n```graphql\narea[\"boundary\"=\"administrative\"][\"name\"=\"Россия\"]-\u003e.b;\nway[\"crossing:island\"=\"yes\"](area.b)(if: length() \u003e 60);\n(._;\u003e;);\nout;\n```\n  \n  \n### fixme=continue не на концах линий\n```graphql\nnode[fixme=continue]({{bbox}});\n(._;\u003c;);\n(._;\u003e;)-\u003e.x;\n\nnode.x[fixme=continue]-\u003e.a;\nnode(w.x:1,-1)[fixme=continue]-\u003e.b;\n(.a; - .b;);\n\nout geom;\n```\n\n### Длинные footway=crossing + поиск в нескольких округах\n\n```graphql\n(\n  {{geocodeArea:\"Северо-Западный федеральный округ\"}};\n  {{geocodeArea:\"Центральный федеральный округ\"}};\n  {{geocodeArea:\"Южный федеральный округ\"}};\n  {{geocodeArea:\"Северо-Кавказский федеральный округ\"}};\n  {{geocodeArea:\"Приволжский федеральный округ\"}};\n)-\u003e.b;\nway[footway=crossing](area.b)(if: length() \u003e 150);\n(._;\u003e;);\nout;\n```\n\n### Геометрия с слишком острыми углами\n\n```graphql\nway({{bbox}})(if:lrs_in(1,per_vertex(angle() \u003c -175 || angle() \u003e 175)));\nout geom;\n```\n\n### Названия улиц на точках\n```graphql\n{{geocodeArea:\"Russian Federation\"}}-\u003e.a;\nnode[\"name\"~\"улица\"][highway!=bus_stop][!public_transport][highway!=platform](if: count_tags() == 1)(area.a);\nout geom;\n```\n\n### Самые крайние остановки\n\n```graphql\n[timeout:250];\n{{geocodeArea:\"Russian Federation\"}}-\u003e.a;\nnode[highway=bus_stop](area.a)-\u003e.b;\n\nnode.b(if:lat() == b.min(lat())); out;\nnode.b(if:lon() == b.min(lon())); out;\nnode.b(if:lat() == b.max(lat())); out;\nnode.b(if:lon() == b.max(lon())); out;\n```\n\n\n#### Попытка оптимизации\n\n```graphql\n[timeout:250];\n{{geocodeArea:\"Россия\"}}-\u003e.a;\nnode[highway=bus_stop](area.a)-\u003e.b;\n\nmake node ::geom = pt(b.min(lat()), b.min(lon()))-\u003e.mins;\nmake node ::geom = pt(b.max(lat()), b.max(lon()))-\u003e.maxs;\n\nnode.b(if:lat() == mins.min(lat())); out;\nnode.b(if:lon() == mins.min(lon())); out;\nnode.b(if:lat() == maxs.max(lat())); out;\nnode.b(if:lon() == maxs.max(lon())); out;\n```\n\n#### Поиск неправильных ролей мультиполигонов\n\n```graphql\n{{geocodeArea:RU}}-\u003e.a;\nrel[type=multipolygon][!place](if:count_by_role(\"outer\") + count_by_role(\"inner\") != count_members())(area.a);\n(._;\u003e;);\nout meta;\n```\n\n#### Сравнение тегов между собой\n\n```graphql\nnwr[\"shop_1\"](if: t[\"shop_1\"] == t[\"shop\"]);\nout geom;\n\n{{style:\n\nnode {\n  text: name;\n}\n\n}}\n```\n\n### Крупнейшие type=building\n\nПо количеству участников:\n```overpassql\nrel[type=building](if:count_members() \u003e 2000);\n(._;\u003e\u003e;);\nout;\n```\n\nПо количеству точек:\n```overpassql\nrel[type=building]-\u003e.b;\n\nforeach .b -\u003e .d (\n  (.d;\u003e\u003e;);\n  rel._(if:count(nodes) \u003e 20000);\n  (._;\u003e\u003e;);\n  out;\n);\n```\n\n\n### route_master с чем-то кроме отношений\n\n```overpassql\nrel[route_master]-\u003e.r;\n\nforeach .r -\u003e .member (\n  (.member;\u003e;);\n  rel._(if:count(ways) + count(nodes) \u003e 0);\n  out geom;\n);\n```\n\n### Кто и в каких правках редактировал объекты с нужным тегом\n\n```overpassql\n[out:csv(all,changeset, user)];\nnwr[education=school];\nfor-\u003e.i(changeset()) {\n  make stat changeset=i.set(changeset()),user=i.set(user()),all=i.count(nwr);\n  out;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeevroman%2Foverpass-queries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeevroman%2Foverpass-queries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeevroman%2Foverpass-queries/lists"}