Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Геокодирование внутри дома, внутри osm границы #42

Open
d1g opened this issue Jun 8, 2016 · 11 comments

Comments

@d1g
Copy link

d1g commented Jun 8, 2016

Геокодирование по паре сотен POI внутри дома может выглядеть как overkill но для неё есть самое прямое применение в OpenLevelUp. Главное чтобы osmid в ответе приходил.

Параметры API

В WEB API gazetteer нужно добавить какой-нибудь параметр по которому будет ограничена область геокодинга.

Похожее было здесь: https://github.com/kiselev-dv/gazetteer/tree/develop/Gazetteer#3-how-to-filter-data-by-boundary

osm_id=w00000001
osm_id=r00000001

Очевидно, что для этого клиентам нужно знать osmid (что противоречит геокодингу без костылей), но OpenLevelUp может сделать и такое потому как данные есть от overpass.

Возможно упростить всё пользователям двумя параметрами:
restrict=admin_level + restrict_query=Москва
restrict=building + restrict_query=Афимолл Сити
restrict=mall + restrict_query=Centre Commercial Le Coudoulet

Индексация

Самая простая реализация это добавить метки is_in_Афимолл_Сити всем объектам внутри здания.

Моллы/retail здания можно выделить из всех остальных "домов" для уменьшения индекса.

Для админ границ не такая востребованная фича, может подождать.

Обработка запросов

Матчить 2 параметра по этим меткам да хоть на равенство (уже лучше Номинатима).

Можно сортировать одинаковые результаты по дистанции к lat/lot/zoom параметоров из клиентского приложения (у OpenLevelUp в URL есть они). Т.е. перезаписывая веса внутренние веса ES на метры до lat/lot.

Можно эту пост-сортировку до центра экрана сделать опциональной.

PS.
тикет в OpenLevelUp https://framagit.org/PanierAvide/OpenLevelUp/issues/10
тикет в Photon komoot/photon#226

@d1g d1g changed the title Геокодирование до дома, до osm границы Геокодирование внутри дома, внутри osm границы Jun 8, 2016
@kiselev-dv
Copy link
Owner

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

@d1g
Copy link
Author

d1g commented Mar 8, 2017

Nominatim:

osm.me:

  • начнём что Афимолл Сити возвращает одну деревню; отсюда и речь веду что моллы - как популярные "места" городов можно рассматривать
  • дальше холось бы часть названия магаза подписать или в начало или в конец, тут дело хозяйское как параметры добавлять или всё в одну строку

@kiselev-dv
Copy link
Owner

Погоди, для начала, давай разберемся с выгрузками, что ищет osm.me это отдельный разговор (Мне так и не удалось добиться от ElasticSearch всего того что я хочу по поиску и сортировке результатов, так что находит он далеко не всегда то что я ожидаю).

Дай осмовскую айдишку для этого мола пожалуйста.

@d1g
Copy link
Author

d1g commented Mar 8, 2017

@kiselev-dv
Copy link
Owner

Хорошо, мне надо посмотреть что именно я выгружаю для мола и для поек внутри. Это займет некоторое время.

@kiselev-dv
Copy link
Owner

Так вот что я выгружаю для Афимола https://gist.github.com/kiselev-dv/a24c3e6e498d142d905db5ddfe3db966

@d1g
Copy link
Author

d1g commented Mar 11, 2017

вижу есть данные по Starbucks: http://www.openstreetmap.org/node/1225311629

  • не пустой "poi_class" (насколько я понял)
  • "poi_addr_match": "contains"

Я ожидаю его увидеть по "Старбакс АФИМОЛЛ" "АФИМОЛЛ Старбакс" "старбакс в афимолле"

@kiselev-dv
Copy link
Owner

Точно не старбакс в афимолле, вообще над генерацией текста я еще подумаю как это лучше сделать, сам объект я добавил https://gist.github.com/kiselev-dv/67737f2a0ff1abc24b88bd7ee4ae2595

@kiselev-dv
Copy link
Owner

Так, поехали дальше, @d1g как ты хотел это использовать?

@d1g
Copy link
Author

d1g commented Mar 16, 2017

@kiselev-dv, изначальный сценарий был "вывести все POI внутри <АФИМОЛЛ>". В случае OLU была часть магазов на экране (из overpass).

Когда смотришь большой молл, нужно подменить результаты с bbox на area.

Затем возникла идея по айдишнику POI (n1225311629) возвращать ID здания (+ название). Третий вариант (магаз-здание) я недавно предложил.

overpass плох тем, что 1. он выводит по bbox (не попадает в экран часть магазов) 2. он требует знать название магаза (в случае area)

@kiselev-dv
Copy link
Owner

kiselev-dv commented Mar 16, 2017

Так, POI=>здание будет работать как только обновлю, точнее айдишку и сейчас думаю можно вытащить она в рефах должна быть.

Все пои внутри здания, если я записываю айди здания для пои в рефы, то тоже уже сейчас должно работать.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants