А такое не подойдет ??
http://resultmaps.neis-one.org/unmapped#8/54.561/43.720
дело-то в том, что в нн области все нп отмечены. И по ссылке это видно хорошо. Но отмечены они точками. Плюс хотелось бы выгрузку, которую в josm можно было бы подгрузить.
Нужны именно отсутствующие полигоны при наличии точки place
https://overpass-turbo.eu/s/wwt
[out:json][timeout:25];
// gather results
(
way["place"]({{bbox}});
rel["place"]({{bbox}});
);
map_to_area -> .f;
(
node(area.f)[place];
) -> .a;
(
node[place]({{bbox}}) -> .e;
);
(.e - .a) -> .d;
.d out geom qt;
круто, но я немного изменил запрос - для получения данных сразу по региону и поменял формат на XML, для экспорта в JOSM
Спасибо
Здравствуйте, помогите сделать запрос, чтобы получить следующие данные:
- Если открыть карту на 14 уровне или ближе https://www.openstreetmap.org/#map=14/57.4041/67.0257
- Вызвать контексное меню и выбрать “Что здесь”
- Получить в поле Местоположение значение: Граница района Yarkovsky District и для него значение name:Ярковский район
Т.е. нужно по координатам получить значение, к какому району относится данное место.
ua9lif, кажется, у Вас неправильная постановка задачи. ИМХО, Ваш вопрос звучит так - “Как определить к какому району принадлежит указанная точка?”
Первое что нужно, это определить какой “район” Вас интересует - https://wiki.openstreetmap.org/wiki/RU:Tag:boundary%3Dadministrative
Спасибо за ответ, с nominatim возникла проблема:
Есть остров - https://www.openstreetmap.org/#map=16/57.3272/65.0330
Запрос nominatim https://nominatim.openstreetmap.org/reverse.php?format=json&lat=57.3265571&lon=65.031597&zoom=12 возвращает только один объект:
{“place_id”:“179297093”,“licence”:“Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright”,“osm_type”:“relation”,“osm_id”:“897988”,“lat”:“57.2068608”,“lon”:“65.5398027882382”,“display_name”:“Центральный административный округ, Тюмень, городской округ Тюмень, Тюменская область, Уральский федеральный округ, 625000, РФ”,“address”:{“city_district”:“Центральный административный округ”,“city”:“Тюмень”,“county”:“городской округ Тюмень”,“state”:“Тюменская область”,“postcode”:“625000”,“country”:“РФ”,“country_code”:“ru”},“boundingbox”:[“57.1359188”,“57.277846”,“65.398993”,“65.672417”]}
Хотя должен быть Тюменский район и который описан https://www.openstreetmap.org/relation/1660242#map=11/57.2759/65.1476
Мне нужен admin_level=6.
Потому что он работает немного по другой логике. Он ищет ближайший идентифицируемый объект (просто в чистом поле не к чему привязаться) и он оказывается где-то в городском округе, поэтому и адрес выдаёт его.
по мотивам темы про “landuse=military” попытался составить запрос:
http://overpass-turbo.eu/s/yWN
но для полного счастья не хватает условия - выбрать объекты у которых номер версии больше 1, то есть после создания были изменения.
Ранее тут писали что с историей объектов overpass не работает, но в последнее время вроде были большие изменения, а вдруг теперь и это можно?
Хотя это не поможет в “особо хитром случае”, но как вариант простого просмотра и для составления списка пакетов правок может сгодится.
Возможно кто-то знает лучший способ мониторинга изменения тега “military”?
P.S. если у кого запрос не пашет, я в настройках выбрал сервер https://overpass.kumi.systems/api/
P.P.S. надо как-нибудь собраться и составить таблицу - как подписывают и комментируют объекты “military” в России… думаю будет весело.
Подскажите пожалуйста, как найти два highway=footway, соединённые одной или двумя highway=service общей длиной не более 50 метров?
Коллеги, подскажите, можно найти отдельную линию из двух точек на одной из точек которой стоит определённый тег?
В частности, мне нужно найти highway=track у которой на конце traffic_calming=*
Вот такую, например, https://www.openstreetmap.org/way/401638910
Можно, смотрите справки по count_members, возможно foreach, но мне кажется можно без него.
Подскажите, почему запрос работает нестабильно? Он рисует дороги на пешеходных полигонах, но не всегда, некоторые дороги не отображаются, так и не нашел закономерности.
Достаточно частая ошибка когда дорога просто подсоеденина к краю полигона и в итоге роутинг через него не работает.
Или может есть сервис который находит подобные ошибки? osmose и keepright их не видят.
Например вот тут все дороги соеденины адекватно, но отображается только часть.
Пробовал смотреть с помощью (around.area:0), но это не работает для путей, которые не пересекают границу, либо надо увеличивать радиус (до 1, 5, 10? метров), что тоже не гарантирует 100 % результат.
[timeout:20][bbox:{{bbox}}];
(
way ["area:highway"="footway"];
relation ["area:highway"="footway"];
relation ["highway"="footway"];
way ["area:highway"="pedestrian"];
relation ["area:highway"="pedestrian"];
relation ["highway"="pedestrian"];
);
out geom;
map_to_area ->.area;
(
way ["highway"](area.area);
);
out geom;
Upd: внезапно на полигонах 3337985 (Neumarkt) и 3337984 (Frauenkirche) все стало нормально отображаться, но рядом полно площадей где до сих пор не работает.
- Роутинг по area:highway не предполагается, это чисто для красоты
- map_to_area работает только для полигонов в name
Так я про это и говорю, что не всем мапперам очевидно, что только для красоты. Часто встречаю просто дороги брошенные на такой полигон и все.
Как это не работает? Часть дорог же отображается, и они ограничены именно .area. Может быть криво работает? Или area работает только с name?
Причем некоторые мультиполигоны последний раз редактировались более года назад, думаю overpass должен был успеть их перегенерить, если менялась геометрия.
Внезапно на полигонах 3337985 (Neumarkt) и 3337984 (Frauenkirche) все стало нормально отображаться, но рядом полно площадей где до сих пор не работает.
Попробовал поменять сервера, через //overpass-api.de/api/ и https://overpass.kumi.systems/api/ (не)отображаются одни и те же дороги, может быть дело в overpass-turbo?
У overpass поиск по значению действительно медленнее, чем по ключу, или есть какая то хитрость?
а то по ключу можно искать регуляркой по всему миру, а по значению отказывается искать в 100х100 км несильно замапленной территории.
по ключу я ищу так:
node[~"."~"value"];
есть более производительный способ или это особенность базы?
предположу что это особенности индексации базы ??
к примеру, индекс ключей есть, а индекс значений не формируют.
для значений некоторых ключей, name operator, индексы имеют мало смысла.
вариант2: индексы значений неимоверно больше индекса ключей - что в принцеипе логично.
и т.д.
Сдается мне что regexp сам по себе очень небыстр и индексация для него не работает вообще.