Pull to refresh

Comments 14

CREATE TABLE addrs

CREATE TABLE hous


Что мотивирует Вас использовать такие названия таблиц?
Можно использовать велосипеды из статьи (один метод открытия dbf через Excel чего стоит), а можно поставить это приложение на Python и горя не знать. Оно за вас не только базу будет импортировать, но еще и правильные запросы для поискового движка Sphinx создаст.
возможность подать заявку на включение отсутствующего адреса в справочную систему

Могли бы поподробнее рассказать как реализовали данную возможность?


Иерархия объектов выглядит следующим образом:
Субъект федерации
Регион субъекта федерации
Населенный пункт
Улица
Дом

Населенный пункт может находится в населенном пункте. Пример: поселок Малино в Зеленограде

Населенный пункт может находится в населенном пункте. Пример: поселок Малино в Зеленограде

А сам Зеленоград находится в Москве. В данном случае Москва — регион, Зеленоград — НП, а поселение Малино — улица.
Выше ошибся, Зеленограда в цепочке нет и НП — это поселение Малино.
Но в качестве улицы могут быть поселения, санатории, дачные кооперативы и прочие объекты, у которых нет деления на улицы, а только номера домов.
Ну вот НП с кодом 7700000200400 в kladr-api записан как «Малино», а в dadata «г Зеленоград, п Малино».
Алгоритм действий для добавления адреса примерно такой (примеры будут на VueJS, но думаю для других фреймов будет примерно то же самое):
Посмотреть можно здесь: https://github.com/KOVCHENKO/fias/tree/master/ASPUDcomponent

Пользователь вводит информацию о своем местоположении: город/поселок/село. Далее у населенного пункта может не оказаться улиц вообще. Или домов на выбранной улице. Появляется возможность открыть модальное окно с вводом адреса. Далее введенный адрес отправляется на модерацию (отправляется по email или сохраняется в дополнительную таблицу БД для проверки).
Метод здесь:
https://github.com/KOVCHENKO/fias/blob/master/app/Http/Controllers/ApplicationController.php

Ну и далее вносится руками в БД. Согласен, что нужно проработать более автоматизированный способ, но пока что руки до этого не доходят.

А почему бы не использовать готовое решение? Например kladr-api или dadata (я уверен что существуют и другие подобные решения)?
Да. kladr наиболее известная штука и далеко не самая плохая, если требуются к примеру адреса регионального центра, но если дело касается поселков, то все становится сложнее. Не вспомню сейчас точный пример, но сталкивалсь со следующим: при обращении к API КЛАДР для выбора домов улицы, выдаются результаты таблицы HOUSEINT (такая тоже есть в БД ФИАС). Она выдает интервалы домов, которые необходимы для налоговой. В таблице HOUSE с домами есть дома для этой улицы, но получается, что они остаются вне выборки.

P.S. Кроме того, для проекта требовались другие дополнительные поля в БД.
Sign up to leave a comment.

Articles