Привет. Презентую свой проект.
https://github.com/kiselev-dv/gazetteer
Релизы с бинарниками (gazetteer.jar)
https://github.com/kiselev-dv/gazetteer/releases
Демо сайт где можно посмотреть на поиск по этим данным
http://osm.me/#!/map
Проверить что API жив и работает можно по ссылке http://osm.me/api/health.json
метаописание на API http://osm.me/api/info.json
Таймстемпы загруженых данных http://osm.me/timestamps.html
Выгрузки:
http://be.gis-lab.info/data/gazetteer/
http://tr1.nowtaxi.ru/dumps/
Сами выгрузки - это *.json.gz рядом генерятся файлики *.ts с таймстэмпом дампа на основе которого сгенерирована выгрузка и еще кое-какой полезной статистикой.
Если в кратце - эта штука умеет генерить описание для пои, адресов, улиц и т.д. осм в различных форматах.
Сейчас это
Выгрузки в csv оптимизированные для быстрой загрузки в postgresql через copy
Выгрузки в JSON
В планах генерация HTML
Из особенностей.
Газетир не использует постгрес/постгис все что вам нужно это java.
Возможность поступившись производительностью выйграть в использовании оперативки. И в целом довольно неплохая скорость работы.
На 4ех поточном intel i5 8 Гб рам (На разных этапах я выделяю от 4 до 6 при реальном использовании до 5)
РФ обрабатывается примерно за полтора часа. (От момента окончания загрузки RU.osm.bz2 до окончания генерации ru-addr.csv и ru-poi.csv)
Используя примерно 80 Гб hdd. (Возможно я подсокращу эту цифру в будущих релизах).
Для обработки пои используется каталог осм.ру (точнее его форк, но это пока не принципиально).
Для адресов поддерживаются
Карлсруе
street2 (питерский вариант)
housenumber2 + street2
AddrN:
(В планах conscriptionnumber/streetnumber - чешская схема)
Поддерживается AssociatedStreet, поддерживается поиск близлежайших улиц по имени (точное совпадение либо вхождение, в планах fuzzy matching).
Поддерживается поиск полностью переведенных адресов, можно добавить поиск и вывод частичных переводов.
Кастомизировать работу программы можно через groovy скрипты либо обрабатывая данные на промежуточных этапах работы.
Глобальный план:
Настроить кластер который бы нарезал планету на страны, для каждой страны/региона генерил бы json, csv с настройками характерными для региона + фронтенд для поиска (геокодер прямой + обратный) + site.xml для индексации гуглом/бингом и т.п.
Ближайшие планы:
- Фронтенд для поиска (jelasticsearch + генерация html по выдачи elasticsearch’а)
- Документация (в первую очередь докумнтация на код, и howto на плагины/кастомайзеры)
- Поддержка составных имен вида “name:en - name:fr” (довольно популярная практика в билингвальных странах)
Среднесрочные планы:
- Общественный транспорт
- “Сшивание” отдельных геометрий улиц в общую дорожную сеть, генерация схем дорожной сети.