ФИАС

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

ФИАС

Сообщение Mavka » 07 янв 2013, 20:58

Обсуждение статьи "Федеральная информационная адресная система"
http://wiki.gis-lab.info/%D0%A4%D0%98%D0%90%D0%A1

Я не планирую когда-либо оформить материал в окончательную статью. Но, ту информацию что у меня есть и то на что у меня хватит времени, я хочу законспектировать для других пользователей.

В том числе ссылка на вики нужна, что бы поисковики (google) могли ее проиндексировать.
лангольеры под окном жрали время ом-ном-ном

_kirill_
Новоприбывший
Сообщения: 1
Зарегистрирован: 02 июл 2014, 15:03
Репутация: 0

Re: ФИАС

Сообщение _kirill_ » 02 июл 2014, 15:04

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: ФИАС

Сообщение SergeyRyzhkov » 02 июл 2014, 19:16

Сделал скрипты для создания базы данных для Oracle, MS SQL и SQLite, можно и для любой другой базы данных.
Также в процессе загрузчик в СУБД из файлов *.dbf (библиотека на C#)
Если кому интересно, пишите admin@ryzhkov-sn.ru

Выкладываю скрипт создания БД для Oracle
ВНИМАНИЕ: Индексы не создаются!

Код: Выделить всё

/*==============================================================*/
/* DBMS name: ORACLE Version 11g */
/* Created on: 03.07.14 18:17:49 */
/*==============================================================*/

/*==============================================================*/
/* Table: ACTSTAT */
/*==============================================================*/
create table ACTSTAT
(
ACTSTATID NUMBER(10) not null,
NAME VARCHAR2(100),
constraint SYS_C00165122 primary key (ACTSTATID)
);

comment on table ACTSTAT is
'Статус актуальности ФИАС';

comment on column ACTSTAT.ACTSTATID is
'Идентификатор статуса';

comment on column ACTSTAT.NAME is
'Наименование';

/*==============================================================*/
/* Table: ADDROBJ */
/*==============================================================*/
create table ADDROBJ
(
AOID VARCHAR2(36) not null,
FORMALNAME VARCHAR2(120),
REGIONCODE VARCHAR2(2),
AUTOCODE CHAR,
AREACODE VARCHAR2(3),
CITYCODE VARCHAR2(3),
CTARCODE VARCHAR2(3),
PLACECODE VARCHAR2(3),
STREETCODE VARCHAR2(4),
EXTRCODE VARCHAR2(4),
SEXTCODE VARCHAR2(3),
OFFNAME VARCHAR2(120),
POSTALCODE CHAR(6),
IFNSFL VARCHAR2(4),
TERRIFNSFL VARCHAR2(4),
IFNSUL VARCHAR2(4),
TERRIFNSUL VARCHAR2(4),
OKATO VARCHAR2(11),
OKTMO VARCHAR2(8),
UPDATEDATE DATE,
SHORTNAME VARCHAR2(10),
PARENTGUID VARCHAR2(36),
AOGUID VARCHAR2(36),
PREVID VARCHAR2(36),
NEXTID VARCHAR2(36),
CODE VARCHAR2(17),
PLAINCODE VARCHAR2(15),
ACTSTATUS NUMBER(10),
CENTSTATUS NUMBER(10),
OPERSTATUS NUMBER(10),
CURRSTATUS NUMBER(10),
STARTDATE DATE,
ENDDATE DATE,
NORMDOC VARCHAR2(36),
KOD_T_ST NUMBER(10),
constraint SYS_C00165124 primary key (AOID)
);

comment on table ADDROBJ is
'Классификатор адресообразующих элементов';

comment on column ADDROBJ.AOID is
'Уникальный идентификатор записи';

comment on column ADDROBJ.FORMALNAME is
'Формализованное наименование';

comment on column ADDROBJ.REGIONCODE is
'Код региона';

comment on column ADDROBJ.AUTOCODE is
'Код автономии';

comment on column ADDROBJ.AREACODE is
'Код района';

comment on column ADDROBJ.CITYCODE is
'Код города';

comment on column ADDROBJ.CTARCODE is
'Код внутригородского района';

comment on column ADDROBJ.PLACECODE is
'Код населенного пункта';

comment on column ADDROBJ.STREETCODE is
'Код улицы';

comment on column ADDROBJ.EXTRCODE is
'Код дополнительного адресообразующего элемента';

comment on column ADDROBJ.SEXTCODE is
'Код подчиненного дополнительного адресообразующего элемента';

comment on column ADDROBJ.OFFNAME is
'Официальное наименование';

comment on column ADDROBJ.POSTALCODE is
'Почтовый индекс';

comment on column ADDROBJ.IFNSFL is
'Код ИФНС ФЛ';

comment on column ADDROBJ.TERRIFNSFL is
'Код территориального участка ИФНС ФЛ';

comment on column ADDROBJ.IFNSUL is
'Код ИФНС ЮЛ';

comment on column ADDROBJ.TERRIFNSUL is
'Код территориального участка ИФНС ЮЛ';

comment on column ADDROBJ.OKATO is
'ОКАТО';

comment on column ADDROBJ.OKTMO is
'ОКТМО';

comment on column ADDROBJ.UPDATEDATE is
'Дата внесения записи';

comment on column ADDROBJ.SHORTNAME is
'Краткое наименование типа объекта';

comment on column ADDROBJ.PARENTGUID is
'Идентификатор объекта родительского объекта';

comment on column ADDROBJ.AOGUID is
'Глобальный уникальный идентификатор адресного объекта';

comment on column ADDROBJ.PREVID is
'Идентификатор записи связывания с предыдушей исторической записью';

comment on column ADDROBJ.NEXTID is
'Идентификатор записи связывания с последующей исторической записью';

comment on column ADDROBJ.CODE is
'Код адресного объекта одной строкой с признаком актуальности из КЛАДР 4.0';

comment on column ADDROBJ.PLAINCODE is
'Код адресного объекта из КЛАДР 4.0 одной строкой без признака актуальности (последних двух цифр)';

comment on column ADDROBJ.ACTSTATUS is
'Статус актуальности адресного объекта ФИАС. Актуальный адрес на текущую дату. Обычно последняя запись об адресном объекте.';

comment on column ADDROBJ.CENTSTATUS is
'Статус центра';

comment on column ADDROBJ.OPERSTATUS is
'Статус действия над записью – причина появления записи';

comment on column ADDROBJ.CURRSTATUS is
'Статус актуальности КЛАДР 4 (последние две цифры в коде)';

comment on column ADDROBJ.STARTDATE is
'Начало действия записи';

comment on column ADDROBJ.ENDDATE is
'Окончание действия записи';

comment on column ADDROBJ.NORMDOC is
'Внешний ключ на нормативный документ';

comment on column ADDROBJ.KOD_T_ST is
'Ключевое поле';

/*==============================================================*/
/* Table: CENTERST */
/*==============================================================*/
create table CENTERST
(
CENTERSTID NUMBER(10) not null,
NAME VARCHAR2(100),
constraint SYS_C00165126 primary key (CENTERSTID)
);

comment on table CENTERST is
'Статус центра';

comment on column CENTERST.CENTERSTID is
'Идентификатор статуса';

comment on column CENTERST.NAME is
'Наименование';

/*==============================================================*/
/* Table: CURENTST */
/*==============================================================*/
create table CURENTST
(
CURENTSTID NUMBER(10) not null,
NAME VARCHAR2(100),
constraint SYS_C00165128 primary key (CURENTSTID)
);

comment on table CURENTST is
'Статус актуальности КЛАДР 4.0';

comment on column CURENTST.CURENTSTID is
'Идентификатор статуса';

comment on column CURENTST.NAME is
'Наименование';

/*==============================================================*/
/* Table: ESTSTAT */
/*==============================================================*/
create table ESTSTAT
(
ESTSTATID NUMBER(10) not null,
NAME VARCHAR2(20),
SHORTNAME VARCHAR2(20),
constraint SYS_C00165130 primary key (ESTSTATID)
);

comment on table ESTSTAT is
'Признак владения';

comment on column ESTSTAT.ESTSTATID is
'Признак владения';

comment on column ESTSTAT.NAME is
'Наименование';

/*==============================================================*/
/* Table: HOUSE */
/*==============================================================*/
create table HOUSE
(
POSTALCODE CHAR(6),
IFNSFL VARCHAR2(4),
TERRIFNSFL VARCHAR2(4),
IFNSUL VARCHAR2(4),
TERRIFNSUL VARCHAR2(4),
OKATO VARCHAR2(11),
OKTMO VARCHAR2(8),
UPDATEDATE TIMESTAMP,
HOUSENUM VARCHAR2(20),
ESTSTATUS NUMBER(10),
BUILDNUM VARCHAR2(10),
STRUCNUM VARCHAR2(10),
STRSTATUS NUMBER(10),
HOUSEID VARCHAR2(36) not null,
HOUSEGUID VARCHAR2(36),
AOGUID VARCHAR2(36),
STARTDATE DATE,
ENDDATE DATE,
STATSTATUS NUMBER(10),
NORMDOC VARCHAR2(36),
COUNTER NUMBER(10),
constraint SYS_C00165132 primary key (HOUSEID)
);

comment on table HOUSE is
'Сведения по номерам домов улиц городов и населенных пунктов,';

comment on column HOUSE.POSTALCODE is
'Почтовый индекс';

comment on column HOUSE.IFNSFL is
'Код ИФНС ФЛ';

comment on column HOUSE.TERRIFNSFL is
'Код территориального участка ИФНС ФЛ';

comment on column HOUSE.IFNSUL is
'Код ИФНС ЮЛ';

comment on column HOUSE.TERRIFNSUL is
'Код территориального участка ИФНС ЮЛ';

comment on column HOUSE.OKATO is
'ОКАТО';

comment on column HOUSE.OKTMO is
'ОКTMO';

comment on column HOUSE.UPDATEDATE is
'Дата время внесения записи';

comment on column HOUSE.HOUSENUM is
'Номер дома';

comment on column HOUSE.ESTSTATUS is
'Признак владения';

comment on column HOUSE.BUILDNUM is
'Номер корпуса';

comment on column HOUSE.STRUCNUM is
'Номер строения';

comment on column HOUSE.STRSTATUS is
'Признак строения';

comment on column HOUSE.HOUSEID is
'Уникальный идентификатор записи дома';

comment on column HOUSE.HOUSEGUID is
'Глобальный уникальный идентификатор дома';

comment on column HOUSE.AOGUID is
'Guid записи родительского объекта';

comment on column HOUSE.STARTDATE is
'Начало действия записи';

comment on column HOUSE.ENDDATE is
'Окончание действия записи';

comment on column HOUSE.STATSTATUS is
'Состояние дома';

comment on column HOUSE.NORMDOC is
'Внешний ключ на нормативный документ';

comment on column HOUSE.COUNTER is
'Счетчик записей домов для КЛАДР 4';

/*==============================================================*/
/* Table: HOUSEINT */
/*==============================================================*/
create table HOUSEINT
(
POSTALCODE VARCHAR2(6),
IFNSFL VARCHAR2(4),
TERRIFNSFL VARCHAR2(4),
IFNSUL VARCHAR2(4),
TERRIFNSUL VARCHAR2(4),
OKATO VARCHAR2(11),
OKTMO VARCHAR2(8),
UPDATEDATE DATE,
INTSTART NUMBER(10),
INTEND NUMBER(10),
HOUSEINTID VARCHAR2(36) not null,
INTGUID VARCHAR2(36),
AOGUID VARCHAR2(36),
STARTDATE DATE,
ENDDATE DATE,
INTSTATUS NUMBER(10),
NORMDOC VARCHAR2(36),
COUNTER NUMBER(10),
constraint SYS_C00165134 primary key (HOUSEINTID)
);

comment on table HOUSEINT is
'Интервалы домов';

comment on column HOUSEINT.POSTALCODE is
'Почтовый индекс';

comment on column HOUSEINT.IFNSFL is
'Код ИФНС ФЛ';

comment on column HOUSEINT.TERRIFNSFL is
'Код территориального участка ИФНС ФЛ';

comment on column HOUSEINT.IFNSUL is
'Код ИФНС ЮЛ';

comment on column HOUSEINT.TERRIFNSUL is
'Код территориального участка ИФНС ЮЛ';

comment on column HOUSEINT.OKATO is
'ОКАТО';

comment on column HOUSEINT.OKTMO is
'ОКТМО';

comment on column HOUSEINT.UPDATEDATE is
'Дата внесения записи';

comment on column HOUSEINT.INTSTART is
'Значение начала интервала';

comment on column HOUSEINT.INTEND is
'Значение окончания интервала';

comment on column HOUSEINT.HOUSEINTID is
'Идентификатор записи интервала домов';

comment on column HOUSEINT.INTGUID is
'Глобальный уникальный идентификатор интервала домов';

comment on column HOUSEINT.AOGUID is
'Идентификатор объекта родительского объекта';

comment on column HOUSEINT.STARTDATE is
'Начало действия записи';

comment on column HOUSEINT.ENDDATE is
'Окончание действия записи';

comment on column HOUSEINT.INTSTATUS is
'Статус интервала';

comment on column HOUSEINT.NORMDOC is
'Внешний ключ на нормативный документ';

comment on column HOUSEINT.COUNTER is
'Счетчик записей домов для КЛАДР 4';

/*==============================================================*/
/* Table: HSTSTAT */
/*==============================================================*/
create table HSTSTAT
(
HOUSESTID NUMBER(10) not null,
NAME VARCHAR2(60),
constraint SYS_C00165136 primary key (HOUSESTID)
);

comment on table HSTSTAT is
'Статус состояния объектов недвижимости';

comment on column HSTSTAT.HOUSESTID is
'Идентификатор статуса';

comment on column HSTSTAT.NAME is
'Наименование';

/*==============================================================*/
/* Table: INTVSTAT */
/*==============================================================*/
create table INTVSTAT
(
INTVSTATID NUMBER(10) not null,
NAME VARCHAR2(60),
constraint SYS_C00165138 primary key (INTVSTATID)
);

comment on table INTVSTAT is
'Статус интервала домов';

comment on column INTVSTAT.INTVSTATID is
'Идентификатор статуса (обычный, четный, нечетный)';

comment on column INTVSTAT.NAME is
'Наименование';

/*==============================================================*/
/* Table: LANDMARK */
/*==============================================================*/
create table LANDMARK
(
LOCATION VARCHAR2(500),
POSTALCODE VARCHAR2(6),
IFNSFL VARCHAR2(4),
TERRIFNSFL VARCHAR2(4),
IFNSUL VARCHAR2(4),
TERRIFNSUL VARCHAR2(4),
OKATO VARCHAR2(11),
OKTMO VARCHAR2(8),
UPDATEDATE DATE,
LANDID VARCHAR2(36) not null,
LANDGUID VARCHAR2(36),
AOGUID VARCHAR2(36),
STARTDATE DATE,
ENDDATE DATE,
NORMDOC VARCHAR2(36),
constraint SYS_C00165140 primary key (LANDID)
);

comment on table LANDMARK is
'Описание мест расположения имущественных объектов';

comment on column LANDMARK.LOCATION is
'Месторасположение ориентира';

comment on column LANDMARK.POSTALCODE is
'Почтовый индекс';

comment on column LANDMARK.IFNSFL is
'Код ИФНС ФЛ';

comment on column LANDMARK.TERRIFNSFL is
'Код территориального участка ИФНС ФЛ';

comment on column LANDMARK.IFNSUL is
'Код ИФНС ЮЛ';

comment on column LANDMARK.TERRIFNSUL is
'Код территориального участка ИФНС ЮЛ';

comment on column LANDMARK.OKATO is
'ОКАТО';

comment on column LANDMARK.OKTMO is
'ОКТМО';

comment on column LANDMARK.UPDATEDATE is
'Дата внесения записи';

comment on column LANDMARK.LANDID is
'Уникальный идентификатор записи ориентира';

comment on column LANDMARK.LANDGUID is
'Глобальный уникальный идентификатор ориентира';

comment on column LANDMARK.AOGUID is
'Уникальный идентификатор родительского объекта';

comment on column LANDMARK.STARTDATE is
'Начало действия записи';

comment on column LANDMARK.ENDDATE is
'Окончание действия записи';

comment on column LANDMARK.NORMDOC is
'Внешний ключ на нормативный документ';

/*==============================================================*/
/* Table: NDOCTYPE */
/*==============================================================*/
create table NDOCTYPE
(
NDTYPEID NUMBER(10) not null,
NAME VARCHAR2(100),
constraint SYS_C00165198 primary key (NDTYPEID)
);

comment on table NDOCTYPE is
'Тип документа';

comment on column NDOCTYPE.NDTYPEID is
'Идентификатор типа документа';

comment on column NDOCTYPE.NAME is
'Наименование типа документа';

/*==============================================================*/
/* Table: NORDOC */
/*==============================================================*/
create table NORDOC
(
NORMDOCID VARCHAR2(36) not null,
DOCNAME VARCHAR2(1000),
DOCDATE DATE,
DOCNUM VARCHAR2(20),
DOCTYPE NUMBER(10),
DOCIMGID NUMBER(10),
constraint SYS_C00165142 primary key (NORMDOCID)
);

comment on table NORDOC is
'Сведения по нормативному документу, являющемуся основанием п';

comment on column NORDOC.NORMDOCID is
'Идентификатор нормативного документа';

comment on column NORDOC.DOCNAME is
'Наименование документа';

comment on column NORDOC.DOCDATE is
'Дата документа';

comment on column NORDOC.DOCNUM is
'Номер документа';

comment on column NORDOC.DOCTYPE is
'Тип документа';

comment on column NORDOC.DOCIMGID is
'Идентификатор образа';

/*==============================================================*/
/* Table: OPERSTAT */
/*==============================================================*/
create table OPERSTAT
(
OPERSTATID NUMBER(10) not null,
NAME VARCHAR2(100),
constraint SYS_C00165144 primary key (OPERSTATID)
);

comment on table OPERSTAT is
'Статус действия';

comment on column OPERSTAT.OPERSTATID is
'Идентификатор статуса';

comment on column OPERSTAT.NAME is
'Наименование';

/*==============================================================*/
/* Table: SOCRBASE */
/*==============================================================*/
create table SOCRBASE
(
KOD_T_ST NUMBER(10) not null,
"LEVEL" NUMBER(10) not null,
SCNAME VARCHAR2(10),
SOCRNAME VARCHAR2(50),
constraint PK_SOCRBASE primary key (KOD_T_ST)
);

comment on table SOCRBASE is
'Типы адресных объектов';

comment on column SOCRBASE.KOD_T_ST is
'Ключевое поле';

comment on column SOCRBASE."LEVEL" is
'Уровень адресного объекта';

comment on column SOCRBASE.SCNAME is
'Краткое наименование типа объекта';

comment on column SOCRBASE.SOCRNAME is
'Полное наименование типа объекта';

/*==============================================================*/
/* Table: STRSTAT */
/*==============================================================*/
create table STRSTAT
(
STRSTATID NUMBER(10) not null,
NAME VARCHAR2(20),
SHORTNAME VARCHAR2(20),
constraint SYS_C00165148 primary key (STRSTATID)
);

comment on table STRSTAT is
'Признак строения';

comment on column STRSTAT.STRSTATID is
'Признак строения';

comment on column STRSTAT.NAME is
'Наименование';

comment on column STRSTAT.SHORTNAME is
'Краткое наименование';

alter table ADDROBJ
add constraint FK_ADDROBJ_RE_NEXTID foreign key (NEXTID)
references ADDROBJ (AOID);

alter table ADDROBJ
add constraint FK_ADDROBJ_RE_PREVID foreign key (PREVID)
references ADDROBJ (AOID);

alter table ADDROBJ
add constraint FK_ADDR_ACTSTAT foreign key (ACTSTATUS)
references ACTSTAT (ACTSTATID)
not deferrable;

alter table ADDROBJ
add constraint FK_ADDR_CENTERST foreign key (CENTSTATUS)
references CENTERST (CENTERSTID)
not deferrable;

alter table ADDROBJ
add constraint FK_ADDR_CURRENTS foreign key (CURRSTATUS)
references CURENTST (CURENTSTID)
not deferrable;

alter table ADDROBJ
add constraint FK_ADDR_OPERSTAT foreign key (OPERSTATUS)
references OPERSTAT (OPERSTATID)
not deferrable;

alter table ADDROBJ
add constraint FK_ADRR_NORDOC foreign key (NORMDOC)
references NORDOC (NORMDOCID)
not deferrable;

alter table HOUSE
add constraint FK_HOUSE_ESTST foreign key (ESTSTATUS)
references ESTSTAT (ESTSTATID)
not deferrable;

alter table HOUSE
add constraint FK_HOUSE_NORDOC foreign key (NORMDOC)
references NORDOC (NORMDOCID)
not deferrable;

alter table HOUSE
add constraint FK_HOUSE_STATSTAT foreign key (STATSTATUS)
references HSTSTAT (HOUSESTID)
not deferrable;

alter table HOUSE
add constraint FK_HOUSE_STRSTAT foreign key (STRSTATUS)
references STRSTAT (STRSTATID)
not deferrable;

alter table HOUSEINT
add constraint FK_HOUSEINT_INTST foreign key (INTSTATUS)
references INTVSTAT (INTVSTATID)
not deferrable;

alter table HOUSEINT
add constraint FK_HOUSEINT_NORDOC foreign key (NORMDOC)
references NORDOC (NORMDOCID)
not deferrable;

alter table LANDMARK
add constraint FK_LANDMARK_NORDOC foreign key (NORMDOC)
references NORDOC (NORMDOCID)
not deferrable;

alter table NORDOC
add constraint FK_DOC_TYPE foreign key (DOCTYPE)
references NDOCTYPE (NDTYPEID)
not deferrable disable;

ArmRus
Новоприбывший
Сообщения: 6
Зарегистрирован: 16 июн 2015, 03:58
Репутация: 0

Re: ФИАС

Сообщение ArmRus » 25 май 2020, 16:23

Тоже делал скрипт загрузки БД и потом скрипт с индексами и другими оптимизациями. Вся база на mysql занимает более 80ггб, работает жутко медленно, но терпимо. Сделали веб форму для поиска адреса https://armrus.org/extranet/useful/fias/ Если у кого работает быстрее (без железных ухищерений), сообщите пожалуйста как добились оптимизации? О внутренностях работы нашей веб формы пишу тут https://armrus.org/extranet/forum/forum ... ego-v-egrn

Ответить

Вернуться в «Материалы сайта»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 26 гостей