Плагин JOSM для загрузки адресов из ЕГРН.
Единый Государственный Реестр Недвижимости - государственная геоинформационная система, содержащая информацию о обьектах недвижимости, границах, инфраструктуре. В интернете доступен по адресу nspd.gov.ru (ранее pkk.rosreestr.ru. C 12.2024 данные ЕГРН перенесены в слои НСПД) ЕГРН признан валидным (лицензионно совместимым) источником для ОСМ. Плагин russia-address-helper позволяет в полуавтоматическом режиме извлекать текстовую информацию из слоев ЕГРН, в которой в большинстве случаев записан человекочитаемый адрес.
В программе реализованы два режима работы - запрос по клику (он же "Пипетка") и массовая загрузка адресов. Запрос по клику позволяет узнать адресную информацию в произвольной точке.
Клик на карте отправляет координату запроса в ЕГРН, и, при получении не пустого ответа, пытается с помощью эвристик и регулярных выражений
разобрать текстовое описание полученных адресов на составляющие (в данный момент улицу и номер дома, в который может входить буква, корпус, строение, квартира,
так же распознаются населенные пункты (в случае когда нет адреса по улице), кварталы и микрорайоны).
Затем происходит сопоставление имя распознанной улицы/места с существующими в ОСМ.
При успешном разборе и сопоставлении на каждый найденный адрес в месте клика создается по точке с тэгами (addr:housenumber, addr:street или addr:place).
Адресные точки будут созданы и для всех нераспознанных адресов тоже, что иногда помогает разобрать адрес вручную, или понять, почему он не валидный.
Все созданные инструментом "Пипетка" точки будут удалены при загрузке данных в ОСМ, и в базу не попадут.
С версии 0.9.5 запрос по клику позволяет импортировать геометрию зданий ЕГРН. При этом из атрибутивной информации плагин пытается определить тип здания ОСМ.
Импортированная геометрия имеет следующие свойства:
- для частных домов зачастую отражает только контур здания на момент постановки на учёт, то есть без пристроев, гаражей и расширений. Контур необходимо корректировать, как правило, расширять.
- для общественных, производственных зданий контур может быть излишне сложным, например содержать импортированные (видимо из CAD программ) мелкие детали, ненужные в ОСМ (колонны). Контур необходимо корректировать, как правило, в сторону упрощения.
- для многоквартирных домов свежего года постройки контур может быть так же излишне сложным и включать в себя подземные объекты, вроде парковок, заглубленных подвалов, выступов фундамента и коммуникаций. Контур надо упрощать с учетом того, что видно на уровне земли.
- часто содержит мелкие детали, которые убираются настройкой автоупрощения, однако при этом может потерять прямоугольность.
С версии 0.9.6.6 запрос по клику позволяет импортировать административные границы населенных пунктов.
С версии 0.9.7.0 импортированная геометрия подвергается ортогонализации ("оквадрачиванию") в соответствии с настройками.
Алгоритм ортогонализации применяется к контуру здания, если все его углы отклоняются от 90 или 180 градусов не более чем на заданное в настройках значение.
Если результат оквадрачивания вас не устраивает, его можно откатить через Undo (Ctrl+Z).
С версии 0.9.7.6 плагин в полу-автоматическом режиме проставляет тэги культурного наследия (heritage). См. "Культурное наследие".
Important
Помните, если данные ПКК противоречат снимку или, тем более, данным обхода - не вносите их!
Этот режим считается основным, и позволяет обработать уже существующие в ОСМ здания, запросив в ЕГРН, распарсив и присвоив им адреса в автоматическом режиме. Нужно выделить здания, и запустить массовую загрузку. Плагин профильтрует список выделенных объектов по следующим правилам:
- это линия или мультиполигон
- у нее есть тэг
buildingи он неgarage,shedилиroof(настраивается) - на ней нет тэга
fixme(настраивается) - на ней нет тэга
addr:housenumber - Есть ограничение на размер выделения (задано в настройках), здания свыше лимита запрошены не будут, отобразится предупреждение.
Для оставшихся в списке объектов программа находит координаты точки запроса - для прямоугольника это пересечение диагоналей, для зданий сложной формы ищется точка, гарантированно лежащая внутри фигуры здания.
Затем выполняется запрос в ЕГРН, полученные данные разбираются на улицу, место и номер дома, улица/место сопоставляется с объектами, уже внесенными в ОСМ. Если сопоставление прошло успешно,
адрес считается валидным, и присваивается зданию. Приоритет имеет адрес полученный со слоя ЕГРН BUILDING, если он есть. Проблемы, возникшие при разборе адреса и сопоставлении его с ОСМ,
обрабатываются валидаторами плагина, и отображаются в окне валидации JOSM. Их нужно обработать - исправить или проигнорировать.
С версии 0.9.7.0 появилась возможность массовой загрузки геометрии зданий из ЕГРН вместе с атрибутивной информацией. Этот режим является своего рода комбинацией режимов "Запрос по клику" и "Массовая загрузка". Для массовой загрузки геометрии необходимо, при подключенном слое Зданий ЕГРН, нарисовать линию, точки которой находятся в контуре зданий, которые нужно загрузить. Проще говоря, в режиме рисования линий, "прокликать" все нужные дома. Затем, выделить эту линию и нажать кнопку "Массовая загрузка". Здания будут загружены, и, по возможности, им будет присвоена адресная информация, а так же дополнительные тэги ЕГРН. Линия, использованная для загрузки, автоматически удалится после запроса данных. Если при этом количество точек линии превышает лимит запроса, установленный в ЕГРН, плагин автоматически разрежет линию на две части, первая из которых меньше лимита, а вторая не удалится после запроса. При включенной опции "Создавать адресные точки если геометрия не найдена", в тех местах, где не удалось загрузить контур здания, но есть адресная информация, будет создана точка с этими данными. Импортированная геометрия подвергается ортогонализации ("оквадрачиванию") в соответствии с настройками.
При обработке частного сектора, промзон часто бывает, что на участке находится 2 и более строений, все они могут получить из ЕГРН одинаковый адрес. Функция плагина 'Удаление дублей' после получения данных присвоит адрес только строению с наибольшей площадью. Функция не трогает уже существующие в редакторе данные, т.е удаляются только загруженные из ЕГРН в данном запросе дубли. Так же существует настройка дальности поиска дубликатов в метрах, чтобы не захватывать соседние НП или улицы-дубли в одном НП. Для отображения и исправления дубликатов существует свой валидатор. С версии 0.9.7.6 существенно переработана обработка дубликатов. Теперь дублями считаются адреса зданий, находящихся в пределах одного (мульти) полигона границы НП (тэг place=). То есть, если на территории города есть район (suburb, neighbourhood) с полигональными границами, а внутри района - улицы с теми же именами, и номерами домов, что и в городе - такие адреса не будут считаться дубликатами.
Зайдите в Настройки Josm (клавиша F12), Модули, найдите плагин по названию ("russia-address-helper"), нажмите Установить, перезапустите Josm.
- Скопируйте файл russia-address-helper.jar в
%appdata%\JOSM\pluginsдля Windows, и в~/.local/share/JOSM/pluginsдля Linux. - Включите плагин в
Правка - Настройки - Модули.
- (ОБЯЗАТЕЛЬНО) Подключите слои ЕГРН в редактор JOSM одним из двух описанных ниже вариантов
- Настройте смещение основного слоя спутниковых снимков по GPS трекам (ссылка на вики ОСМ.)
- Настройте смещение слоев ПКК с границами зданий и/или участков по спутниковому снимку. Слой участков легко привязать в частном секторе, по заборам. При сдвиге слоя зданий не забывайте, что контур здания из ПКК должен лечь на фундамент здания на спутниковом снимке, а не на крышу. (Примечание: точность привязки и участков и зданий сильно плавает в зависимости от многих условий - рельефа конкретной местности, качества геодезических работ при сьемках и др. Сдвиг участков и зданий меняется от района к району, его надо регулярно корректировать, иначе плагин может запросить некорректный участок/здание.)
- Зайдите в настройки плагина (горячая клавиша
F12, разделНастройки плагина ЕГРН \ Общие). Выберите в выпадающем списке настройки "Сдвигать координаты запроса согласно сдвигу выбранного слоя" слой Зданий или участков. (Как правило, слой здании привязан точнее, и лучше выбрать его.) - (Новое) Настройте, какие слои данных будут запрашиваться для каждого из режимов. С переходом на новое АПИ, утрачена возможность запрашивать данные сразу с нескольких слоев, поэтому количество запросов возросло. Для каждого из режимов доступны 4 слоя: Здания, Участки, Сооружения, Объекты незавершенного строительства. По умолчанию запрашиваются только Здания и Участки, поскольку в двух других слоях редко присутствует адресная информация.
- Настройки редактора "Для удобства":
- Вынесите кнопки плагина на панель инструментов. Для этого нажмите правой кнопкой на панель инструментов JOSM, выберите
Настроить панель инструментов, и добавьте кнопки из разделаДействия - Данные - Загрузка адресов из ЕГРН - Добавьте горячую клавишу для инструмента, нажмите правой кнопкой по иконке плагина на панели инструментов и выберите
Свойства горячей клавиши - Добавьте кнопку поиска зданий без адресов в области видимости: нажмите
Ctrl+F, введите в строке поискаbuilding=* AND -"addr:housenumber"=* AND inviewзатем проставьте галочку "добавить кнопку на основную панель инструментов" и нажмитеПоиск
- Вынесите кнопки плагина на панель инструментов. Для этого нажмите правой кнопкой на панель инструментов JOSM, выберите
Плагин готов к работе.
Important
Настройка плагина Отключить SSL при запросах ЕГРН влияет на URL слоев, добавляемых плагином по действию Добавить слои WMS ПКК (при включенной настройке URL будут созданы с localhost вместо адреса сайта). Поэтому, если вы меняли значение этой настройки, выполните добавление слоев заново, чтобы пересоздать их с корректным URL.
-
Скачайте веб-прокси nginx с сайта разработчика, распакуйте в удобную вам папку. Nginx не требует прав администратора и установки в систему.
-
Отредактируйте файл конфигурации прокси, находящийся по пути
папка_из_предыдущего_шага/conf/nginx.conf, добавив в него следующие строки:server { listen 8081; # перенаправлять запросы по всем адресам IPv4 с портом 8081 listen [::]:8081; # перенаправлять запросы по всем адресам IPv6 с портом 8081 server_name localhost; location / { proxy_pass https://nspd.gov.ru/; proxy_ssl_verify off; } }
-
Запустите nginx просто двойным щелчком по nginx.exe. Он будет работать в фоновом режиме до момента перезапуска ПК.
-
В JOSM нажмите
F12, и в открывшемся меню настроек выберите слеваНастройки плагина ЕГРН \ Настройки сети. Установите галочкуОтключить SSL при запросах ЕГРНи нажмитеОК. -
Выберите в JOSM пункт меню
Данные - Загрузка адресов из ЕГРН - Добавить слои WMS ПКК. В настройках слоев добавятся 6 новых слоев, с данными ЕГРН. -
Добавьте нужные вам слои в отображаемые через меню
Слои. Примечание: если на порту, прописанном в конфигурации (8081) уже работает какая-то программа (порт занят), nginx не запустится. Справедливо и обратное - после запуска nginx, могут отказаться запускаться другие программы, пытающиеся использовать тот же порт.
-
Определите путь к файлу сертификатов
cacerts. Для портативной установки JOSM он будет находиться внутри директории программы, по путиJAVA\lib\security\cacerts(или схожему). Если вы запускаете jar файл редактора JOSM напрямую, без скачивания установщика, скорее всего он использует установленную в систему JAVA машину, путь к исполняемой директории которой можно узнать командой оболочкиecho %JAVA_HOME%Например, система выдала путь:
C:\JDK\jdk-11.0.2, тогда полный путь к хранилищу скорее всего будетC:\JDK\jdk-11.0.2\lib\security\cacerts
Еще один вариант определить используемую JOSM инсталляцию JAVA в системе - запустить редактор, открыть Диспетчер задач, и посмотреть путь к запущенным экземплярам программы java.exe -
Скачайте с сайта Госуслуг сертификаты Минцифры (раздел
Сертификаты для Windows, кнопкиСкачать корневой сертификатиСкачать выпускающие сертификаты). Распакуйте архив с выпускающими сертификатами в удобное для вас место, и скопируйте туда же скачанный корневой сертификат. Например, это папкаD:\certs -
Создайте на всякий случай резервную копию файла cacerts
-
Выполните в командной строке следующие команды (пути к cacerts и файлам сертификатов заменить на ваши):
keytool -v -importcert -alias RuRootCert -keystore "C:\JDK\jdk-11.0.2\lib\security\cacerts" -file "D:\certs\russian_trusted_root_ca.cer" -storepass changeit -trustcacerts keytool -v -importcert -alias Ru2cert -keystore "C:\JDK\jdk-11.0.2\lib\security\cacerts" -file "D:\certs\russian_trusted_sub_ca.cer" -storepass changeit -trustcacerts keytool -v -importcert -alias Ru3cert -keystore "C:\JDK\jdk-11.0.2\lib\security\cacerts" -file "D:\certs\russian_trusted_sub_ca_2024.cer" -storepass changeit -trustcacerts
Если программа выдаст запрос "Trust this certificate?", нужно ввести
Yи нажатьEnter.
Если вы все делаете правильно, после выполнения каждой из команд система должна написать Certificate was added to keystore -
Запустите (или перезапустите, если был запущен) редактор, нажмите
F12, и в открывшемся меню настроек выберите слеваНастройки плагина ЕГРН \ Настройки сети. Снимите галочкуОтключить SSL при запросах ЕГРНи нажмитеОК. -
Выберите в JOSM пункт меню
Данные - Загрузка адресов из ЕГРН - Добавить слои WMS ПКК. В настройках слоев добавятся 6 новых слоев, с данными ЕГРН. -
Добавьте нужные вам слои в отображаемые через меню
Слои.
- Подключите слой
Административные границы НП. На карте отобразятся синей пунктирной линией границы населенных пунктов. - Уменьшите масштаб карты чтобы интересующий вас НП целиком был виден в окне редактора
- Выберите инструмент плагина
Запрос по кликуи, удерживая клавишуALT, кликните в любом месте внутри границы НП. - Плагин импортирует геометрическую информацию о границе в виде полигона или мультиполигона, учитывая сдвиг слоя, выбранного за основу в настройках. При этом на полигоне/мультиполигоне будут присутствовать тэги "
fixme=REMOVE ME!", данные об источнике геометрии "source:geometry=ЕГРН" и дате документа ("source:geometry:date"), устанавливающего геометрию границы. - Если вы хотите использовать импортированную границу, тэг "
fixme=REMOVE ME!" необходимо удалить! Иначе граница будет удалена плагином перед загрузкой на сервер. Тэги, начинающиеся с префикса "autoremove:" удалять не надо, они будут удалены автоматически. - Если граница уже существует в ОСМ, то можно перенести тэги с нее на импортированную, и существующую удалить. Так же в плагине JOSM utilsplugin2 есть очень удобный инструмент
Замена геометрии, который может преобразовать старую границу по геометрии новой. Однако, это стоит делать если старая граница явно некорректная или слишком грубая. - Если границы не существует в ОСМ, то нужно скопировать основные тэги НП с точки НП на границу НП (
place=*,name=*, остальные по желанию) - Для смежных НП границу желательно преобразовать в мультиполигон и обьединить общую часть
- Нарисуйте линии улиц (проезжие части дороги).
- Вариант 1 (с помощью "Пипетки"): с помощью инструмента "Пипетка" (
Запрос на месте клика)запросите адреса участков и/или зданий вдоль предполагаемой улицы, ориентируясь на приблизительные начало и конец улицы. Из содержания тэга "
addr:RU:egrn" сгенерированных точек прочтите имя улицы, и присвойте его линиям улицы, обязательно преобразовав в формат наименования ОСМ. Сгенерированные плагином точки с тэгомfixme=REMOVE_ME!удалятся автоматически при загрузке в ОСМ. - Вариант 2 : добавьте здания, запросите их адреса и исправьте ошибку валидатора "ЕГРН не найдена улица"
- Загрузите здания из ЕГРН, там где они есть - в режиме рисования линии прощелкайте все здания с подложки Здания ЕГРН, примерно по центру здания. Обращайте внимание на места, где несколько контуров здания "склеены", каждую из частей нужно прожать отдельно. Запросите данные с помощью кнопки
Для выделенных объектов.
- Обрисуйте здания по спутниковому снимку, где здания уже обрисованы.
- С помощью поискового запроса зданий без номера, либо инструмента выделения/лассо выделите разумное количество зданий (10-100) (Хороший вариант - выбрать полигон жилой застройки и воспользоваться функцией
Выделение - Все внутри). Если попутно выделятся дороги или просто точки, ничего страшного, плагин отфильтрует их при запросе. - Запросите данные с помощью кнопки
Для выделенных объектов. Скорость получения данных зависит от вашего интернета и текущей загруженности сайта.
- Плагин обработает полученные данные по следующему алгоритму:
- Если у здания/участка есть адрес, и он успешно разобран на составляющие, и для распознанных объектов нашлось соответствие в данных ОСМ (найдена улица, либо точка населенного пункта/квартала/микрорайона), и не найден дубликат, то зданию будет присвоен адрес.
- в остальных случаях плагин сгенерирует в окне валидации одну из возможных ошибок или предупреждений, которые нужно просмотреть и обработать:
- ЕГРН пустой ответ. Самоочевидное предупреждение. Оно генерируется в категории OTHER, вы не увидите его, если в настройках JOSM не включено отображение этой категории ошибок.
- ЕГРН адрес найден. Это предупреждение генерируется, если адрес успешно распознан и присвоен. Но такие предупреждения все равно нужно обработать - просмотреть глазами и убедиться, что алгоритм разбора не ошибся. Частая ошибка - присвоение зданию номера участка, он может совпадать с номером дома, а может и нет. Так же пока нерешенная проблема - номера участков в СНТ могут быть присвоены как адреса по деревне или НП, к которому приписано СНТ. Такие адреса в базу ОСМ загружать нельзя! При нажатии на кнопку "Исправить" отобразится диалог исправления в котором можно исправить адресные тэги, удалить уже присвоенные, либо проигнорировать ошибку.
- ЕГРН несколько адресов. Плагин получил в ответе несколько валидных адресов. Для исправления нужно выбрать один, как правило, это адрес здания, а не участка. Если ни один адрес на самом деле не подходит, можно проигнорировать ошибку. Частый вариант для домов на два хозяина, что у двух участков, на которых расположен дом, одинаковый адрес, а у частей здания - свои, с номерами квартир или через дробь. В таком случае нужно либо выдать адрес участка зданию, либо разбить здание на две части и перезапросить адреса.
- ЕГРН нечеткое совпадение. Плагин сопоставил адрес с улицей или местом по алгоритму нечеткого совпадения, и теперь надо убедиться, что это не ложное срабатывание. Можно присвоить распознанные адресные тэги, или игнорировать эту ошибку.
- ЕГРН содержит номер квартиры. Адрес успешно присвоен, но в нем содержатся номера квартир. Можно сгенерировать адресную точку с номером квартиры (не обязательно и не вполне укладывается в логику ОСМ), или игнорировать ошибку.
- ЕГРН не найдена улица. Адрес был распознан, но в данных ОСМ не нашлось линии с подходящим именем. Возможна ошибка сопоставления плагина, или в данных ОСМ отсутствует линия дороги с подходящим названием. Во втором случае, надо присвоить имя улицы согласно правилам именования ОСМ подходящей линии.
- ЕГРН не найдено место. Адрес был распознан, но в данных ОСМ не нашлось объекта (точки, полигона или мультиполигона) с подходящим именем и тэгами. Если это не ошибка сопоставления, то нужно создать точку места, или импортировать его границу из ЕГРН.
- ЕГРН дубликат адреса Адрес был распознан, но он уже существует в ОСМ или среди других распознанных адресов. Диалог исправления предложит несколько вариантов разрешения проблемы, но как правило действие по умолчанию (назначить адрес зданию с максимальной площадью) является правильным.
- ЕГРН ошибка разбора Не удалось распознать адрес, но можно попробовать разобрать вручную, или игнорировать эту проблему.
- ЕГРН граница места неполная Распознанный адрес сопоставлен с границей места, нарисованной в ОСМ мультиполигоном, но этот мультиполигон загружен не до конца и проверить адрес на вхождение в границу не получается. Надо догрузить границу вручную.
- ЕГРН вне границ места Дом с распознанным адресом не лежит внутри полигона/мультиполигона границы. Если информация об адресе выглядит правильной, возможно нужно исправить границу НП (см. примечание о границах)
- ЕГРН место слишком далеко Адрес дома сопоставлен с местом, у которого нет (мульти)полигональной границы, а точка места находится слишком далеко (дальше заданного в настройках значения). Нужно импортировать или создать границу места, или проверить адрес на корректность.
- ЕГРН улица слишком далеко Адрес дома сопоставлен с линией улицы, которая находится слишком далеко (дальше заданного в настройках значения). Это может быть одноименная улица в соседнем НП, или же линия улицы требует продолжения.
- ЕГРН конфликт данных Полученные из ЕГРН данные конфликтуют с уже существующими в ОСМ. Необходимо вручную выбрать правильные значения или оставить все как есть.
Границы НП в ЕГРН и в ОСМе к сожалению, не полные синонимы друг другу. Это надо помнить и понимать! Границы в ЕГРН являются установленными законодательно очертаниями населенного пункта, которые определяют кто и как распоряжается этой территорией. Очень часто в населенных пунктах границы ЕГРН являются устаревшими, или плохо соответствующими местности, импортировать их стоит только при условии плохого качества существующей или ее отсутствия.
Границы НП в ОСМ служат для понимания, чему принадлежит конкретный дом или улица, для рендеринга самого НП, многие алгоритмы конвертации ОСМа в файлы карт для навигаторов опираются на геометрическое вхождение объекта в полигон границы. То есть, дом с адресом "addr:place = Пупкино" находящийся вне полигона границы Пупкино, считается ошибочным и может выпасть из адресного поиска программ, основанных на данных ОСМ. Границы ЕГРН часто нарушают такое правило, новая застройка может выходить за границы НП, так же индустриальные и сельскохозяйственные объекты могут иметь адрес по НП, но при этом находиться вне его границ. Согласованного решения таких проблем нет, мое предложение - превращать импортированную границу в мультиполигон, и расширять ее на "спорные" строения, оставляя на основной линии границы тэги "source:geometry=ЕГРН", а на "добавленной" комментарий о причинах модификации.
Часто граница ЕГРН импортируется мультиполигоном, из которого вырезаны мелкие дырки, например опоры электросетей или другая инфраструктура. Для исключения этих дырок добавлена настройка "Фильтровать полигоны границ менее чем".
Important
Не забывайте, что слой границ ЕГРН так же может быть сдвинут от "реального" положения по разным причинам. Как правило, источником координат узловых точек границы являются кадастровые участки и/или природные обьекты (реки, крупные поля). Хорошей идеей будет выровнять слой земельных участков по заборам участков НП, затем сдвинуть импортированную геометрию границы до совпадения с границами участков, там где оно есть. В ЕГРН существуют границы, которые проходят посреди жилых участков, и прочие ошибки. Будьте внимательны, не вносите явно противоречивую информацию, только по той причине, что она опубликована в ЕГРН.
Еще одним валидным источником границ НП является система ФГИС ТП, где аккумулируются результаты работы местных властей по планированию территории. Ими можно пользоваться для нанесения или уточнения границы, обращая, впрочем, внимание на дату документа (генплан НП или поселения может быть сильно устаревшим, а новый еще не выложен и/или не разработан).
В ответах ЕГРН для слоя зданий для некоторых запросов возвращается поле "cultural_heritage_val", в котором в большинстве случае содержится краткая информация из ЕГРОКН (реестра культурного наследия Министерства Культуры РФ). По полученным данным плагин пытается разобрать и прописать следующие тэги:
| Тэг | Значение |
|---|---|
| ref:egrokn | 15-значный идентификатор объекта культурного наследия в ЕГРОКН |
| heritage | Тип или уровень культурного наследия (федеральное, региональное, муниципальное). Поддерживаются значения 2, 4, 6, или yes |
| name:heritage | Наименование объекта наследия. Иногда можно вынести в name, если это имя собственное |
| historic | Тип объекта наследия - building, либо тип здания выведенный из name:heritage |
| autoremove: start_date | Дата постройки объекта, в произвольной форме. |
Данные о наследии в ЕГРН хранятся в почти-что произвольной форме, в частности, name:heritage может быть очень длинным, включать в себя информацию об авторах и многое другое. Загружать такие данные в ОСМ без обработки под схему тэгирования обьектов наследия не стоит.
Если выведенный из идентификатора тип объекта не "Памятник", то все вышеописанные тэги предваряются префиксом "autoremove:" (удаляются перед выгрузкой в ОСМ), поскольку относятся к комплексному объекту (Ансамблю) из многих частей, которые по правилам ОСМа нужно обрабатывать вручную, собирая в отношения и т. п.
- Не выделяйте много домов сразу, при большом количестве одномоментных запросов (приблизительно >500) сервис ЕГРН может выдать бан по IP на сутки. В плагин встроен лимит (по умолчанию - 200) зданий в одном запросе, выделение сверх того запрашиваться не будет. Нормальный способ работать - выделяя дома вдоль улицы или в небольшой области, приводить данные в порядок, выгружать данные в базу ОСМ, и уже после этого приступать к следующим. (О новом АПИ НСПД пока неизвестны пределы его ограничений, но не стоит злоупотреблять его открытостью)
- На данный момент ошибка пропадет из списка валидации, если зайти в диалог ее исправления и закрыть окошко крестиком или выбрать
Отмена. При этом ошибка не будет исправлена. Это проблема кода валидации JOSM, обходной путь - нажать в окне валидаторов кнопкуВалидировать. Неисправленная ошибка снова отобразится. - Плагин не может корректно разобрать 100% полученных адресов, поскольку есть:
- Целью ЕГРН не является сбор и хранение адресных данных, это побочный продукт ведения земельных и имущественных реестров.
- Адрес ЕГРН в зависимости от региона, конкретного НП и конкретного работника Росреестра, заполнявшего данные на участок/здание, может иметь почти произвольный формат и содержание, включать адресацию по территориям, СНТ, гаражным кооперативам, ориентирам на местности, инвентарные номера, старый адрес, адрес прописью, примечания работника и так далее.
- Адрес ЕГРН может просто не соответствовать действительности в результате опечатки, изменения адресов и миллиона других причин (встречалось неоднократно)
- Те же оговорки относятся к расширенным данным ЕГРН - этажности, типу здания и дате начала эксплуатации. Например, для исторических церквей может быть как валидная дата постройки, так и дата реконструкции и/или начала работы храма уже в современное время. Этажность на примере храмов практически всегда = 1, что формально верно, но не соответствует модели высот ОСМ.
Important
Вывод - приоритет во внесении данных ОСМ всегда имеет truth on the ground - проверенная на местности адресная табличка или данные, или хотя бы увиденная на снимках разрешенных к использованию панорам (Яндекс). Никакие другие картографические материалы, за исключением может быть официальных документов сельских, городских администраций, источником адресной информации или эталоном для её сверки быть не могут. Многие старые или современные картографические ресурсы черпают данные ровно из тех же источников вроде ЕГРН или устаревших схем НП, повторяя снова и снова ошибки. Если адрес полученный из ЕГРН странно выглядит, выбивается из соседних, или, тем более, противоречит внесенному при обходе - не вносите его в базу ОСМ!
- Плагин на данный момент может разобрать данные только для улиц, переулков, проездов, проспектов, бульваров, шоссе, аллей, тупиков, площадей, кварталов, микрорайонов (обозначенных точкой или мульти/полигоном
place=neighbourhood,suburb,quarter), деревень, сёл и поселков, ЖД-станций (обозначенных точкой или мульти/полигоном c тэгомplace=village,hamlet). - Если в ЕГРН встречается многократное именование улицы, которое не может быть сопоставлено с данными ОСМ ("Советская Б улица"), в качестве временного решения можно добавить улице в ОСМ тэг
egrn_name, в который вписать наименование из ЕГРН. При загрузке в ОСМ тэг egrn_name удалится автоматически. - Плагин умеет сопоставлять номерные улицы и улицы с инициалами ("улица Карла Маркса" сопоставится с "ул. К. Маркса")
- Программа пытается распознать номер дома с учетом строения, корпуса, буквы. Номера квартир в адресе приведут к генерации предупреждения валидатора, в диалоге которого можно сгенерировать дополнительные точки адреса с тэгами
addr:flats. Понимания, что делать с такими данными пока нет, лучше не загружать их в ОСМ.
Точечный запрос формирует на точке дополнительные тэги при запросе данных ЕГРН, который вернёт в тэгах с префиксом "egrn:" следующие потенциально полезные поля:
| Тэг | Описание |
|---|---|
| cad_num | Кадастровый номер ЕГРН участка/здания |
| buildRecordTypeValue | Тип здания |
| levels | Расчетная этажность здания (см. расшифровку настройки "Рассчитывать этажность здания") |
| purpose | Назначение здания по справочнику ЕГРН |
| permittedUseEstablishedByDocument | Разрешенное использование земельного участка |
| ownershipType | Тип собственности |
| descr | Обычно информация о типе и назначении здания/участка (магазин, дом, школа, клуб, и т.п) |
| year_built | Год постройки здания |
| year_comissioning | Год ввода в эксплуатацию |
| materials | Основной материал конструкции здания |
| categoryName | Наименование категории объекта |
| buildingName / constructionName | Наименование объекта, часто - назначение на момент постройки |
Следует отметить, что назначение здания может меняться, не факт, что это корректно отражено в ЕГРН. Неизвестно, как именно формируется этажность для многоквартирных домов с подъездами переменной этажности (может быть записана этажность минимальная-максимальная). Алгоритм расчета этажности может давать неверный результат в зависимости от места запроса (см. Настройки тэгирования зданий )
При запросе геометрии (по клику с нажатым ALT) возвращаются следующие поля:
| Тэг | Описание |
|---|---|
| description | Текстовое описание геометрии, для границ НП будет указано наименование НП |
| docName | Наименование документа установившего геометрию границы |
| date | Дата документа |
- Настройки слоев запроса. Определяет, какие именно слои будут запрошены для каждого типа действия. Как правило, для массового запроса достаточно слоев Зданий и Кадастровых участков.
- Сдвигать координаты запросов согласно сдвигу выбранного слоя. Настройка, позволяющая скорректировать запросы к АПИ по сдвигу слоя.
- Оквадрачивать импортированную геометрию (автоматический вызов операции редактора по нажатию
Q). Настройка применяется к запросу по клику и массовому запросу по линии. Если все углы импортированного здания отличаются от 90/180 градусов не больше чем на N градусов, к зданию применяется команда ортогонализации. Эта команда применяется последней и может быть отменена по Undo. - "Оквадрачивать, если углы отличаются..." - настройка алгоритма ортогонализации. Значение в 10 градусов показывает хороший результат.
- Расстояние поиска дубликатов. Настройка алгоритма поиска дублей адреса, позволяющая отсеять ложные дубликаты, например адреса по улице с таким же именем, но в другом населенном пункте. Может привести к возникновению дублей адресов в промзонах, где расстояние между соседними зданиями может быть очень велико.
- Выгружать разобранные адресные данные. Экспериментальная опция, при включении плагин выгружает все разобранные адреса в CSV файл в папке с редактором, для анализа.
- "Отключить SSL при запросах к ЕГРН". При установленной галочке подразумевается использование прокси nginx. Формируемые действием "Добавить слои WMS ПКК" адреса слоев содержат в качестве адреса сайта localhost:8081. При снятой галочке обращение идет напрямую к nspd.gov.ru, необходима установка сертификатов в хранилище JAVA машины.
- URL адрес запроса ЕГРН: шаблон запроса данных из слоев ПКК НСПД. Менять не рекомендуется.
- UserAgent запроса ЕГРН: поле UserAgent заголовка запроса. Менять не рекомендуется.
- Лимит одновременных запросов. Количество одновременных запросов к АПИ. Менять не рекомендуется.
- Лимит количества зданий в запросе массовой загрузки. Ограничение на единократный запрос к АПИ. Выделение будет ограничено лимитом, отобразится предупреждение.
- Задержка между запросами в секундах.
- Всего запросов к ЕГРН в текущей сессии. Информационное поле.
- Разрешение окна запроса, пикселей на метр. Техническое значение, управляющее расчетом параметров запроса width и height (ширина/высота окна запроса в метрах * разрешение). При малых значениях, порядка 0.5-2 наблюдается "толерантность" запроса к ближним границам, те. для здания, находящегося близко к границе участка вернется не только адрес участка, на котором находится здание, но и ближнего тоже. Менять не рекомендуется.
- Расширение окна запроса вокруг объекта, метры. Значение, определяющее границы запроса к АПИ - границы здания + расширение. Менять не рекомендуется.
- Фильтровать полигоны зданий менее чем, м. кв - из импортированных полигонов зданий будут убраны полигоны или части мультиполигона площадью меньше заданной.
- Фильтровать полигоны границ менее чем, м. кв - из импортированных полигонов границ НП будут убраны полигоны или части мультиполигона площадью меньше заданной.
- Упрощать импортированную геометрию. - к импортированной геометрии будет применена стандартная операция Упрощения
Shift+Yредактора. Если упрощение удалит вершины, количество удаленных будет отображено в оповещении. Можно откатить упрощение черезShift+Z. Применяется только к зданиям. - Предел сдвига точек при упрощении - настройка алгоритма упрощения.
- Объединять данные слоев на одной точке - атрибутивные данные здания и участка будут объединены на одной точке, при этом дублирующимся тэгам будет приписан суффикс слоя, откуда получены данные и номер объекта, если их было получено больше одного.
- Запрашивать по клику в радиусе, м - размеры окна запроса к АПИ при запросе по клику. Менять не рекомендуется.
- таблица, определяющая при наличии каких тэгов на объекте он будет исключен из запроса. В первом столбце приведен тэг, во втором - значения, через запятую. Знак
*совпадает с любым значением. По умолчанию исключаются здания уже имеющие номер дома, тэгfixme, и набор тэгов типа зданияgarage,shed,roof,shack,garages.
- Тип здания выводится из данных ЕГРН согласно этой таблице. Значения, полученные в полях
descrиpurposeпроверяются на вхождение подстрок из столбцаПодстроки ЕГРН. Индивидуальные подстроки разделяются запятыми. Порядок проверки определяется порядком строк таблицы. Первое совпадение определяет результат. При отсутствии совпадения присваиваетсяbuilding=yes - Проставлять дополнительные тэги по данным ЕГРН. Данная настройка проставит тэги
building=тип здания,building:levels,start_dateпри условии, что их можно определить из ЕГРН и эти данные отсутствуют в ОСМ. Никакие данные уже присутствующие в ОСМ не перезаписываются! - Вычислять этажность зданий. Ответы ЕГРН приносят два поля underground_floors и floors. Если для underground_floors значение более-менее очевидно, то для floors значение поля различается в зависимости от НП (и наверное даже для конкретного вносившего данные сотрудника Росреестра). В первом случае, floors хранит общее количество этажей здания, т.е надземные + подземные. Во втором, floors - это только надземные этажи. В связи с этим с версии 0.9.7.3 плагина алгоритм обработки этих данных изменен:
- если floors есть, а underground_floors не заполнен -
building:levels= floors - если есть floors и underground_floors и данная настройка включена,
building:levels= (floors - underground_floors) (поведение как раньше), так же добавляется тэгfixme - если есть floors и underground_floors и данная настройка вЫключена,
bulding:levels= floors, так же добавляется тэгfixmeКроме того, теперь заполняется тэгbuilding:underground:levelsзначением underground_floors
- если floors есть, а underground_floors не заполнен -
- таблица стоп-слов. Если адрес ЕГРН включает подстроку из этой таблицы, адрес не будет распознаваться, и будет сгенерирована ошибка валидации. Кнопка "Обновить данные" добавляет значения из списка значений по умолчанию, хранящегося внутри плагина.
- Линия улицы должна быть ближе чем, метров. Расстояние от здания с адресом по улице, до ближайшей линии с тем же именем улицы, превышение которого приведёт к срабатыванию валидатора "Улица слишком далеко"
- Точка места должна быть ближе чем, метров. Расстояние от здания с адресом по месту, до ближайшей точки с тем же именем места, превышение которого приведёт к срабатыванию валидатора "Место слишком далеко"