You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#51 2013-02-20 20:31:35
- andygol
- Moderator
- From: Дніпро
- Registered: 2009-07-31
- Posts: 1,968
- Website
Re: Автоматизация создания и поддержка автоматически созданных POI
Nominatim поддерживает это?
Підтримує, але йому потрібен деякий час (кілька днів) на оновлення даних.
dimonster пише:
она унаследует адрес от здания.
Что это значит?
це означає, що вкладені об’єкти наслідують властивості об’єктів до яких вони входять (це ж Гео-БД).
Наприклад: місто Київ входить до полігону Україна і нам не потрібно додатково зазначати, що Київ знаходиться в Україні.
Offline
#52 2013-02-20 21:02:13
- Vanuan
- Member
- Registered: 2013-01-26
- Posts: 301
Re: Автоматизация создания и поддержка автоматически созданных POI
Есть ли пример POI с "унаследованным" номером дома? Что-то я сомневаюсь, что Nominatim такое может.
Offline
#53 2013-02-21 09:09:10
- dimonster
- Member
- Registered: 2012-07-08
- Posts: 1,501
Re: Автоматизация создания и поддержка автоматически созданных POI
Ну х.з. что там с Номинатим, но конвертер osm2mp такие вещи распознаёт аж бегом. Сейчас специально проверил: открыл в Навител сконверченную карту Харькова, нашёл банкомат "регион-банк" в магазине "Альфа-маркет", ткнул в "инфо". Адрес прописан.
И в поиске POI по названию банка выдаётся этот банкомат с адресом того магазина, в котором он стоит.
Offline
#54 2013-02-24 19:14:44
- Vanuan
- Member
- Registered: 2013-01-26
- Posts: 301
Re: Автоматизация создания и поддержка автоматически созданных POI
Так есть у кого-то скрипт или SQL запрос, где это реализовано?
Я так понимаю, алгоритм такой: выбрать полигоны с тэгом building, пересекающиеся с POI, выбрать тэг addr:housenumber, addr:street, выбрать relation типа street и выбрать тэг name.
Offline
#55 2013-02-24 19:23:10
- dimonster
- Member
- Registered: 2012-07-08
- Posts: 1,501
Re: Автоматизация создания и поддержка автоматически созданных POI
Посмотри скрипт osm2mp. Там это реализовано. Подсказать не могу. В перле не соображаю ![]()
Offline
#56 2013-02-25 03:10:24
- Vanuan
- Member
- Registered: 2013-01-26
- Posts: 301
Re: Автоматизация создания и поддержка автоматически созданных POI
После 3х часов работы родил такой скрипт: https://github.com/Vanuan/csv2osm
Загружает точки из cvs-файла в osm и обратно. Тестировал на точках Укрсиббанка: http://my.ukrsibbank.com/ua/branches_at … 13%5B%5D=1.
Результат: https://docs.google.com/spreadsheet/ccc … sp=sharing
Очень удобно. Сразу видно, какая POI не имеет адреса или находится не на здании. Можно быстро сверить адреса с размещёнными на оф. сайте.
Last edited by Vanuan (2014-06-04 17:52:13)
Offline
#57 2013-02-25 06:00:49
- dimonster
- Member
- Registered: 2012-07-08
- Posts: 1,501
Re: Автоматизация создания и поддержка автоматически созданных POI
Це добре. Але зверніть увагу, що релейшен вулиці може бути не лише типу asociatedStreet, а ще й просто street.
Може, цей рядок треба підправити?
if relation['type'] == 'associatedStreet':Offline
#58 2013-02-25 10:17:24
- Vanuan
- Member
- Registered: 2013-01-26
- Posts: 301
Re: Автоматизация создания и поддержка автоматически созданных POI
Может быть. Не встречал такого типа у зданий. Мне кажется цель associatedStreet - замена addr:street, в то время как цель street - указать принадлежность чего-либо к улице.
Поправить не проблема:
if relation['type'] == 'associatedStreet' or relation['type'] == 'street':Offline
#59 2013-02-25 10:54:28
- dudka
- Member
- From: Київ
- Registered: 2011-04-22
- Posts: 1,605
Re: Автоматизация создания и поддержка автоматически созданных POI
Чому ж cvs2osm а не csv2osm?:)
Пропоную також зробити порівняння текстових значень case insensitive, адже зустрічаються не тільки "Укрсиббанк", а також "УкрСиббанк". Можна спробувати пошукати і "УкрСиб", "Укрсиб", можливо й такі є.
addr:housenumber, addr:street також інколи пишуть на мультиполігоні, було б непогано і такі випадки розпізнавати.
Результат: https://docs.google.com/spreadsheet/ccc … sp=sharingЦе тільки по Одесі? А всю Україну скрипт зможе опрацювати?
Offline
#60 2013-02-25 11:27:23
- Vanuan
- Member
- Registered: 2013-01-26
- Posts: 301
Re: Автоматизация создания и поддержка автоматически созданных POI
Чому ж cvs2osm а не csv2osm?:)
osm2csv? Изначально идея была именно в загрузке данных из файла в OSM (импорт). Экспорт понадобился, чтобы сравнить адреса POI в OSM с "официальными".
Це тільки по Одесі? А всю Україну скрипт зможе опрацювати?
Думаю, не сможет. Он довольно неэффективен в плане производительности и потребления памяти (Одесса занимает десятки мегабайт, так что весь файл вполне влазит в память). Одессу обрабатывает за десятки секунд.
Можно в принципе сделать в три прохода, сбрасывая промежуточные результаты на диск. Пока не знаю как это сделать.
Довольно просто сделать скрипт универсальным, для любого типа POI.
Есть идея поправить скрипт csv2osm, чтобы можно было загнать POI обратно.
Last edited by Vanuan (2013-02-25 11:34:53)
Offline
#61 2013-02-25 11:29:46
- dudka
- Member
- From: Київ
- Registered: 2011-04-22
- Posts: 1,605
Re: Автоматизация создания и поддержка автоматически созданных POI
у вас в назві cvs, а файли csv
Offline
#62 2013-02-25 11:33:40
- Vanuan
- Member
- Registered: 2013-01-26
- Posts: 301
Re: Автоматизация создания и поддержка автоматически созданных POI
А, да косяк, не заметил, спасибо.
https://github.com/Vanuan/csv2osm
Last edited by Vanuan (2013-02-25 11:34:28)
Offline
#63 2013-02-25 12:09:08
- _sev
- Moderator
- Registered: 2010-10-12
- Posts: 721
Re: Автоматизация создания и поддержка автоматически созданных POI
Я без проблем обрабатываю всю Украину, как на Perl, так и на Python. Да, оно тормозит, на лептопе занимает минут 20. Исходники можно посмотреть у меня в репозитории.
Offline
#64 2013-03-10 20:03:49
- Dmytro Ovdiienko
- Member
- From: Kraków
- Registered: 2010-02-15
- Posts: 307
Re: Автоматизация создания и поддержка автоматически созданных POI
Хм.. при чем тут тема хранения POI к адресации?
Модератор, перенесите все посты начиная с #48 в новую тему.
Offline