GithubHelp home page GithubHelp logo

fias_xml2postgresql's Introduction

Экспорт справочника ФИАС в БД PostgreSQL

GoDoc

ФИАС - Федеральная информационная адресная система

ФИАС выкладывает справочник адресов России в открытом доступе (и регулярно его обновляет). Но данные доступны всего в 2 форматах XML и DBF (FoxPro). В распакованом виде база весит около 20Гб. В таком формате не совсем удобно работать со справочником.

Для решения этой проблемы на Go была написана утилита экспортирующая данные из XML (в дальнейшем будет опция XML или DBF) в PostgreSQL.

Программа работает в терминале и выглядит следующим образом :)

Установка

  1. Скачайте утилиту go get -u github.com/pavlik/fias_xml2postgresql
  2. Перейдите в директорию с исходниками cd $GOPATH/src/github.com/pavlik/fias_xml2postgresql
  3. Скачайте все зависимости go get -u
  4. В этой директории создайте папку xml (позже будет создаваться автоматически).
  5. Скачайте в директорию xml полный архив справочника в формате XML (позже будет скачиваться автоматически).
  6. Создайте в PostgreSQL базу с именем fias принадлежащую пользователю dev с паролем dev. Или ваши данные, но тогда не забудьте изменить строку подключения в файле main.go
  7. Запустите go run main.go

Сделано:

  • Сделать обработку таблиц многопоточной
  • Написать Makefile для автоматического создания таблицы fias и пользователя, для работы с ней

В планах:

  • Добавить возможность автоматического скачивания архива с сайта ФИАС, распаковки и экспорта
  • Вариант экспорта либо из XML, либо из DBF
  • Добавить возможность автоматической проверки обновлений базы и автоматической установки, если требуется
  • Проставить в схемах таблиц индексные поля

fias_xml2postgresql's People

Contributors

region23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

fias_xml2postgresql's Issues

Error searching file: File not found

create directory xml

# ls
db_create.sh  db_create.sql  helpers  LICENSE  log.txt  main.go  README.md  screenshot.png  structures  todo.md  xml

to directory copy files of FIAS

 # ls xml
AS_ACTSTAT_20180204_3e83d83c-8b1f-4083-9947-8f805af2daeb.XML      AS_HSTSTAT_20180204_56fc86e1-3450-44ea-96e1-fce8ffae4ec6.XML
AS_ADDROBJ_20180204_ed637c07-3726-4bf8-a565-27aed76689dd.XML      AS_INTVSTAT_20180204_5808877c-37fc-4502-92ac-083d3c709f28.XML
AS_CENTERST_20180204_178f56c3-1d85-4ac8-ab28-ae4b1294e8fc.XML     AS_NDOCTYPE_20180204_509dc762-cc6c-4ea7-9957-e596c4241562.XML
AS_CURENTST_20180204_261d54d3-1032-4a73-b0c7-214ecb9c4835.XML     AS_NORMDOC_20180204_06ebb78a-3a03-4193-9b5d-18c85ef4ff51.XML
AS_DEL_ADDROBJ_20180204_df10f6b3-fe25-4d07-b20b-8a0d1ce20677.XML  AS_OPERSTAT_20180204_ec158f7a-c36f-4419-8fa0-b00a51c75c6b.XML
AS_DEL_HOUSE_20180204_0500e81a-2470-42ea-afd0-0c22429c8d46.XML    AS_ROOM_20180204_81c6252e-5b36-4e4d-8eaf-db13fa9b80a5.XML
AS_DEL_NORMDOC_20180204_b9e89bf0-ea1e-4c05-b890-4575ef3c411c.XML  AS_ROOMTYPE_20180204_f9df8c1d-743c-45cf-a022-bc5e8d824743.XML
AS_ESTSTAT_20180204_c1c1532d-4cb1-4776-bb8b-0fc8d1511937.XML      AS_SOCRBASE_20180204_dfca6d81-f015-4897-8cda-50af50c2c1a8.XML
AS_FLATTYPE_20180204_d89a2ca8-d027-4ba7-b406-7cd47be7b1f4.XML     AS_STEAD_20180204_a7c0d396-d6a8-403f-bea0-24adf2747999.XML
AS_HOUSE_20180204_67d9e657-86c2-420f-aa4d-1a8691ab68bd.XML        AS_STRSTAT_20180204_bd86e003-23b9-43f7-9df1-138a97e7df8e.XML

Start program and take error in log.txt: FATAL: 2018/02/13 02:48:08 export.go:79: Error searching file: File not found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.