FiasReader
Библиотека для работы с XML базой ФИАС. Библиотека позволяет провести обход по всем активным записям домов.
Installation
Добваить строку в Gemfile:
gem 'fias_reader', path: '/path_to_dir/fias_reader'
И выполнить после:
$ bundle
Usage
Перед запуском лучше исполнить rake для построения индекса:
rake fias_reader:build DB_PATH=/path/to/dir
если запускать без него то индекс построится в процессе выполнения.
Для просотого обхода по всем записям домов нужно вызвать итератор следующим способом:
FiasReader.open('/path/to/unpacked/fais/xml/dir/').each do |row|
# somecode here
end
Итератор передает аргумент типа FiasReader::Reader::Row, который имеет методы:
postal_code- почтовый индексhouse_number- номер домаhouse_building_number- номер корпуса, опциональноhouse_structure_number- номер строения, опциональноlevels- хеш всех уровни частей адреса- Части адреса возращаются либо масивом из двух объектов(сокращенное название типа части адреса, название части адреса). В случае если часть адреса не указана возвращаем nil.
street- улицаsettlement- населенный пунктcity_district- внутригородская территорияcity- городdistrict- районautonomy- автономный округstate- регион
После выполнения работы нужно удалить индекс:
rake fias_reader:clear
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.