Можно ли сделать выбоку объектов по условию "недалеко река"

Добрый день.
Пожалуйста, укажите направление работы:
Подбираю деревню. Решил попробовать выбрать населенные пункты, недалеко от которых есть река или озеро.
Дернулся туда, сюда. Вроде OSM позволит это сделать, но я совершенно не представляю как.

Найдется ли у кого-нибудь подобный пример или ссылка на процесс подготовки такой выборки?
Про OSM ничегошеньки не знаю.

Был тут где-то валидатор на тему “удалённость НП от дороги”, не думаю, что задача принципиально различается. Единственное что, ни автора, ни как тема называлась - не помню.

OSM ничего не позволяет сделать. Это лишь данные.
Вы можете загрузить их в базу PostgreSQL / PostGIS с помощью osm2pgsql и затем найти искомое.

Проще всего это сделать при помощи какой-нибудь GIS, там обычно есть подобные инструменты.

  1. Берёшь ГИС
  2. Делаешь буфер в заданное количество метров вокруг всех рек (получая из линий полигоны). Добавляешь сюда слой озёр (так же с добавленным буфером).
  3. Используя эти полигоны, вырезаешь из точечного слоя деревень нужные.

Только нужно не забывать, что населённые пункты всегда основываются у воды. Исключениями являются лишь населённые пункты, основанные в последние десятилетия, когда рядом с месторождениями полезных ископаемых и в некоторых других очень редких случаях основываются нас. пункты и без наличия там поверхностных источников воды. Но это и не деревни, а другие типы населенных пунктов.

Исходя из данного факта, из рек и озёр нужно предварительно выбрать нужные (скажем, исключить озёра меньше заданной площади).

http://forum.openstreetmap.org/viewtopic.php?id=18287

Пора писать валидатор на тему “удалённость НП от речки”?

Да, надо бы.

В России во многих местах с гидрографией беда, совсем карта белая (только импортированные нас. пункты есть), хотя с Бинга реки вполне опознаются. Был бы валидатор, был бы дополнительный мотив порисовать реки.

http://vwo.osm.rambler.ru/

Через OverpassAPI, можно на сайте смотреть, можно напрямую в JOSM. Примеры для того и другого тут http://forum.openstreetmap.org/viewtopic.php?pid=387486#p387486
Только запрос надо переделать, к сожалению сейчас не думается…

Не, не.
Этот валидатор широко известен и его значение никто не принижает.

Но по расстоянию между нас. пунктом и водой тоже было бы интересно повалидировать.

Я сейчас сходу посчитал на примере одного региона - в Татарстане в OSM у четверти имеющихся в OSM населенных пунктов ближе двух километров нет никакой воды.

Впрочем, с учётом того, что в ОСМ главенствует принцип «сделай сам», такой, вручную запускаемый валидатор в виде ГИС меня вполне устраивает. Захотел порисовать - получил точки нас. пунктов без воды и исследуй их.

shornikov

Вот сделал запрос http://overpass-turbo.eu/s/2uQ
Отзумьте карту на нужное место и нажмите кнопку Run. Для начала попробуйте на небольшом районе чтобы оценить скорость обработки.

Расстояние в метрах задается в строках

интересно, что отрицания в языке overpass нет, поэтому нельзя выбрать «НП не у водоёма».

Есть вычитание, по моим предыдущим ссылкам есть пример запроса “населенные пункты, около которых не нарисована дорога”. Заплатка, но работает ))

У меня скорость получилась крайне малой. Для целей поиграться на маленьких площадях способ подойдёт, для иного - нет.

Значит у меня запрос неоптимальный. В принципе можно сделать то же самое в JOSM сразу на весь регион, подождать сколько требуется, а потом рассматривать в редакторе не запрашивая сервер.

Большое спасибо. Теперь понятно, как это делается.