Некоторые (бес)полезные запросы к Overpass-turbo (зеркало от mail.ru)
area
["boundary"="administrative"]
["name"="Смоленская область"]
->.b;
(
node(area.b)
["place"~"village"];
)->.c;
foreach .c -> .d (
(way[building](around.d:500); .d;);
node._(if:count(ways) == 0);
out;
);
Более быстрый, но менее гибкий запрос
https://gis.stackexchange.com/questions/407903/places-near-which-there-are-no-buildingsarea
["boundary"="administrative"]
["name"="Смоленская область"]
->.b;
(
node(area.b)
["place"~"village"];
)->.c;
(
way[building](around.c:500)->.build; // <- !
) -> .build;
(
node(around.build:500)
["place"~"village"];
) -> .d;
(.c; - .d;)->.result;
.result out center;
Аналогичное для кладбищ
area
["boundary"="administrative"]
["name"="Воронежская область"]
->.b;
(
node(area.b)
["place"="village"];
)->.c;
(
wr(area.b)["landuse"="cemetery"]->.build;
) -> .build;
(
node(around.build:4000)
["place"="village"];
) -> .d;
(.c; - .d;)->.result;
.result out center;
Аналогичное для лежачих поличейских около школ
area
["boundary"="administrative"]
["name"="Липецкая область"]
->.b;
(
node(area.b)
["amenity"="school"];
)->.c;
(
way[traffic_calming](around.c:2000)->.build; // <- !
) -> .build;
(
node(around.build:1000)
["amenity"="school"];
) -> .d;
(.c; - .d;)->.result;
.result out center;
{{geocodeArea:"Центральный федеральный округ"}}->.b;
(
node(area.b)[entrance]; > -> .ent;
)->.ent;
(
node.ent; < -> .w;
)->.w;
(
way.w; > -> .w;
)->.w;
( node(area.b)[entrance]; - node.w; );
out meta;
Имена рек, требующие исправления. v3 https://maproulette.org/browse/challenges/24018
area
["boundary"="administrative"]
["name"="Центральный федеральный округ"]
->.b;
way(area.b)[waterway]["name"~"^[Рр](ека|\\.).*[^яй]$"];
out center;
area
["boundary"="administrative"]
["name"="Центральный федеральный округ"]
->.b;
way(area.b)[waterway]["name"~"^[Рр](е[ч]?ка|\\.|уч).*[^аяй]$"];
out center;
area
["boundary"="administrative"]
["name"="Центральный федеральный округ"]
->.b;
way(area.b)[waterway]["name"~"^[Рр].*?\\..*$"];
out center;
node["addr:flats"~".{150,}"];
out body;
>;
out skel qt;
node
[name~".*раффити.*"][!artwork_type][tourism=artwork];
out;
Тык
// WARN постепенным добавлением ключей можно скрыть искомые ключи
// Например, если у всех точек с somekey есть name, то они не будут обнаружены этим запросом
// Однако запрос простой и быстрый по времени, чтобы получить примерный список
[out:json]
[timeout:25];
node[~".*"~".*;.*"]
[!opening_hours]
[!"opening_hours:covid19"]
[!collection_times]
[!"addr:flats"]
[!voltage]
[!"voltage:primary"]
[!utility]
[!waste]
[!cuisine]
[!phone]
[!source]
[!note]
[!fixme]
[!name]
[!old_name]
[!description]
[!inscription]
[!"inscription:1"]
[!"subject:wikidata"]
[!"contact:phone"]
[!vending]
[!brand]
[!"camera:direction"]
[!craft]
[!ref]
[!"toilets:position"]
[!"seamark:buoy_cardinal:colour"]
[!"seamark:buoy_lateral:colour"]
[!"seamark:buoy_isolated_danger:colour"]
[!"seamark:buoy_special_purpose:colour"]
[!"seamark:beacon_lateral:colour"]
[!"seamark:cable_submarine:name"]
[!"seamark:notice:addition"]
[!"seamark:notice:impact"]
[!"seamark:topmark:colour"]
[!sport]
[!level]
[!levels]
[!"building:levels"]
[!clothes]
[!direction]
[!designated]
[!"motor_vehicle:conditional"]
[!"access:conditional"]
[!"was:collection_times"]
[!"was:opening_hours"]
[!operator]
[!shop]
[!material]
[!crossing]
[!barrier]
[!manhole]
[!playground]
[!map_type]
[!fitness_station]
[!colour]
[!amenity]
[!animal]
[!traffic_sign]
[!"traffic_sign:backward"]
[!"traffic_sign:forward"]
[!"addr:housenumber"]
[!"addr:unit"]
[!"communication:mobile_phone"]
[!destination]
[!"destination:backward"]
[!"destination:forward"]
[!"turn:lanes:forward"]
[!"turn:lanes:backward"]
[!"motorcycle:conditional"]
[!"traffic_signals:direction"]
[!"motorcar:conditional"]
[!"restriction:conditional"]
[!"turn:lanes"]
[!"piste:grooming"]
[!"building:material"]
[!"building:cladding"]
[!"building:levelPlan"]
[!start_date]
[!surface]
[!"building:part:use"]
[!"species:ru"]
[!length]
[!motor_vehicle]
[!weather_protection]
[!layer]
[!access]
[!content]
[!product]
[!crop]
[!route_ref]
[!species]
[!"destination:ref"]
[!traffic_calming]
[!information]
[!"generator:source"]
[!network]
[!whitewater]
[!"flag:wikidata"]
[!"flag:type"]
[!"addr:postcode"]
[!traffic_signals]
[!stop]
[!door]
[!kerb]
[!highway]
[!railway]
[!antenna]
[!repeat_on]
[!specality]
[!"disused:ref"]
[!"surveillance:zone"]
[!"fire_hydrant:type"]
[!"destination:lanes"]
[!"healthcare:speciality"]
[!seasonal]
[!man_made]
[!curb]
[!"graffiti:tag"]
[!pipelinemarker]({{bbox}});
out body;
>;
out skel qt;
(
way[name~".*ое$"][natural=water][!water]({{bbox}});
way[name~".*зеро.*"][natural=water][!water]({{bbox}});
);
(._;>;);
out;
// TODO реки с викидатой, но в отношении
// TODO длинные без отношения
relation[waterway=river][!wikidata]({{bbox}});
out body;
>;
out skel qt;
// TODO убрать маркет, такси регулярками
// TODO все типы
node[~".*"~"(я|Я)ндекс"][shop!=outpost][office!=it][amenity!=vending_machine][amenity!=parcel_locker][source!="Яндекс Панорамы"][office!=company][name!="Яндекс.Маркет"];
out;
// тривиальные — на перекрёстках дорог с разным статусом. Но почему-то не всегда работает:(
area
["boundary"="administrative"]
["name"="Воронежская область"]
->.b;
way[highway][!oneway](area.b)->.h;
.h > -> .h;
node.h["highway"="give_way"][!direction](area.b)->.c;
(
way[highway=trunk](around.с:100);
way[highway=primary](around.с:100);
way[highway=secondary](around.с:100);
)->.w;
.w > -> .w;
node.h(around.w:100)->.d;
(.c; - .d;)->.res;
.res out body;
node[cuisine~"шаурма|шава|шашлык", i];
out body;
>;
out skel qt;
{{geocodeArea::Russia}}->.a;
(
way["power"="line"][!voltage](area.a)(if: length() > 100000);
);
out body;
>;
out skel qt;
area["boundary"="administrative"]["name"="Россия"]->.b;
way["crossing:island"="yes"](area.b)(if: length() > 60);
(._;>;);
out;
node[fixme=continue]({{bbox}});
(._;<;);
(._;>;)->.x;
node.x[fixme=continue]->.a;
node(w.x:1,-1)[fixme=continue]->.b;
(.a; - .b;);
out geom;
(
{{geocodeArea:"Северо-Западный федеральный округ"}};
{{geocodeArea:"Центральный федеральный округ"}};
{{geocodeArea:"Южный федеральный округ"}};
{{geocodeArea:"Северо-Кавказский федеральный округ"}};
{{geocodeArea:"Приволжский федеральный округ"}};
)->.b;
way[footway=crossing](area.b)(if: length() > 150);
(._;>;);
out;
way({{bbox}})(if:lrs_in(1,per_vertex(angle() < -175 || angle() > 175)));
out geom;
{{geocodeArea:"Russian Federation"}}->.a;
node["name"~"улица"][highway!=bus_stop][!public_transport][highway!=platform](if: count_tags() == 1)(area.a);
out geom;
[timeout:250];
{{geocodeArea:"Russian Federation"}}->.a;
node[highway=bus_stop](area.a)->.b;
node.b(if:lat() == b.min(lat())); out;
node.b(if:lon() == b.min(lon())); out;
node.b(if:lat() == b.max(lat())); out;
node.b(if:lon() == b.max(lon())); out;
[timeout:250];
{{geocodeArea:"Россия"}}->.a;
node[highway=bus_stop](area.a)->.b;
make node ::geom = pt(b.min(lat()), b.min(lon()))->.mins;
make node ::geom = pt(b.max(lat()), b.max(lon()))->.maxs;
node.b(if:lat() == mins.min(lat())); out;
node.b(if:lon() == mins.min(lon())); out;
node.b(if:lat() == maxs.max(lat())); out;
node.b(if:lon() == maxs.max(lon())); out;
{{geocodeArea:RU}}->.a;
rel[type=multipolygon][!place](if:count_by_role("outer") + count_by_role("inner") != count_members())(area.a);
(._;>;);
out meta;