Геометрия объекта (здания) на карте
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 29 дек 2018, 19:39
- Репутация: 0
- Откуда: Ижевск
Геометрия объекта (здания) на карте
Доброго времени суток!
Стоит такая задача:
Вывести карту, нарисовать на ней некоторый круг; определить, какие здания находятся внутри этого круга; если здание находится на границе, то узнать, какая часть здания внутри, какая - снаружи.
Пробовал сделать это на Яндекс картах, но уперся в то, что у зданий в api нет информации об их геометрии.
Задача в рамках диплома в универе, если кому интересно: для прогнозирования последствий землетрясения. Круг - область с определенной бальностью землетрясения.
Вопрос:
Можно ли решить задачу с помощью других каких-либо систем? Сейчас изучаю OpenStreetMap + OpenLayers 3. Реализуемо ли это с данными средствами и в какую сторону надо копать? Какие гайды есть?
Спасибо за ответы!
Стоит такая задача:
Вывести карту, нарисовать на ней некоторый круг; определить, какие здания находятся внутри этого круга; если здание находится на границе, то узнать, какая часть здания внутри, какая - снаружи.
Пробовал сделать это на Яндекс картах, но уперся в то, что у зданий в api нет информации об их геометрии.
Задача в рамках диплома в универе, если кому интересно: для прогнозирования последствий землетрясения. Круг - область с определенной бальностью землетрясения.
Вопрос:
Можно ли решить задачу с помощью других каких-либо систем? Сейчас изучаю OpenStreetMap + OpenLayers 3. Реализуемо ли это с данными средствами и в какую сторону надо копать? Какие гайды есть?
Спасибо за ответы!
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Геометрия объекта (здания) на карте
https://overpass-turbo.eu/
(around:radius,latitude,longitude)
тут три разные задачи:
1. Где взять данные
2. Как анализировать
3. Как отображать
и эти задачи совершенно не зависимы друг от друга
(around:radius,latitude,longitude)
тут три разные задачи:
1. Где взять данные
2. Как анализировать
3. Как отображать
и эти задачи совершенно не зависимы друг от друга
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 29 дек 2018, 19:39
- Репутация: 0
- Откуда: Ижевск
Re: Геометрия объекта (здания) на карте
Спасибо, крутая штука.
Получил точки по запросу:
Ответ такой:
Собственно,
с relationship не получается
Получил точки по запросу:
Код: Выделить всё
node(around:20,56.85,53.21);
out;
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API 0.7.55.5 2ca3f387">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2018-12-29T19:59:02Z"/>
<node id="1397317817" lat="56.8499082" lon="53.2100989"/>
<node id="1397317819" lat="56.8499274" lon="53.2102448"/>
<node id="1397317834" lat="56.8500520" lon="53.2100274"/>
<node id="1397317835" lat="56.8500724" lon="53.2101784"/>
<node id="5366248785" lat="56.8500831" lon="53.2101874"/>
<node id="5366248786" lat="56.8498255" lon="53.2100646">
<tag k="barrier" v="gate"/>
</node>
<node id="5648241690" lat="56.8500582" lon="53.2099981"/>
<node id="5648241691" lat="56.8498744" lon="53.2100488"/>
<node id="5648241692" lat="56.8499054" lon="53.2102690"/>
</osm>
Спойлер
Собственно,
как получить связанные точки, принадлежащие одному конкретному зданию?
с relationship не получается
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Геометрия объекта (здания) на карте
Код: Выделить всё
node(around:20,56.85,53.21);<->.a;
(way.a[building=yes];>;);
out;
(area.a[building=yes];>;);
out;
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 29 дек 2018, 19:39
- Репутация: 0
- Откуда: Ижевск
Re: Геометрия объекта (здания) на карте
trir, еще такой вопрос:
как получить такой же результат, как выше, если входными данными являются координаты точки, лежащей в области исследуемого здания.
Т.е. сделали клик на карте по зданию - получили опять же данные связанных точек этого здания, как выше.
Пытался разобраться с языком overpass-а, но пока тяжеловато дается.
как получить такой же результат, как выше, если входными данными являются координаты точки, лежащей в области исследуемого здания.
Т.е. сделали клик на карте по зданию - получили опять же данные связанных точек этого здания, как выше.
Пытался разобраться с языком overpass-а, но пока тяжеловато дается.
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 29 дек 2018, 19:39
- Репутация: 0
- Откуда: Ижевск
Re: Геометрия объекта (здания) на карте
trir, выше вы мне дали запрос для получения точек здания по координатам точки и радиусу (around...).
А сейчас я, кликнув на произвольном месте по зданию на карте, хочу получить тот же результат (связанные точки здания, по которому кликнул).
Типа как в любых коммерческих картах, когда кликаешь по зданию, и вся его геометрия выделяется, появляется какая-то информация о нем.
А сейчас я, кликнув на произвольном месте по зданию на карте, хочу получить тот же результат (связанные точки здания, по которому кликнул).
Типа как в любых коммерческих картах, когда кликаешь по зданию, и вся его геометрия выделяется, появляется какая-то информация о нем.
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Геометрия объекта (здания) на карте
для этого придётся делать свой GUI
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 29 дек 2018, 19:39
- Репутация: 0
- Откуда: Ижевск
Re: Геометрия объекта (здания) на карте
trir, т.е. делать свой слой карты с нанесенными полигонами под размеры объектов?
Задача то вроде и под силу overpass-у: взять точку на карте и искать полигон, в который входит эта точка.
В принципе попробую так:
1. взять тот же around с определённым радиусом
2.получим полигоны, которые связаны с этой областью
3. перебираем все полигоны, и если точка входит в полигон n - это и есть искомый полигон (здание)
Задача то вроде и под силу overpass-у: взять точку на карте и искать полигон, в который входит эта точка.
В принципе попробую так:
1. взять тот же around с определённым радиусом
2.получим полигоны, которые связаны с этой областью
3. перебираем все полигоны, и если точка входит в полигон n - это и есть искомый полигон (здание)
Кто сейчас на конференции
Сейчас этот форум просматривают: Semrush [Bot] и 19 гостей