Проекты

Комплексные решения по разработке специализированных ГИС на основе ГИС Карта 2005

Муниципальная ГИС г. Иркутска на базе ГИС "Карта-2005"

Разработчик: ИДСТУ СО РАН (г. Иркутск)
Источник: Гаченко А.С., Ружников Г.М., Фереферов Е.С., Хмельнов А.Е. Разработка муниципальных информационных систем с использованием ГИС "Карта-2005"

Муниципальная ГИС г. Иркутска на базе ГИС "Карта-2005"

Для решения приоритетных задач социально-экономического развития г. Иркутска, повышения эффективности работы его органов власти и управления, привлечения инвестиций, а также подготовки обоснованных решений по использованию ресурсов, хозяйственной деятельности города, активно развивается инфо-коммуникационная инфраструктура и широко внедряются современные геоинформационные технологии для создания единой системы комплексной территориальной информации.

В Институте Динамики Систем и Теории Управления СО РАН (ИДСТУ СО РАН) в настоящее время выполняется разработка программного обеспечения для муниципальной ГИС (МГИС) г. Иркутска. В данном докладе будут рассмотрены некоторые наиболее интересные проблемы, возникшие в ходе выполнения этих работ, и технологии, предложенные авторами для их решения. Рассматриваются задачи:

  • приведения в соответствие адресной семантической части топографической основы г. Иркутска и общегородского справочника адресов;
  • создания тематических слоёв электронных карт и привязки баз данных (как создаваемых с нуля, так и существующих) к электронной карте;
  • предоставления регламентированного доступа (в электронном виде) к фрагментам секретных слоёв топоосновы.

В качестве средства хранения топоосновы г. Иркутска выбраны форматы ГИС «Карта-2005», поэтому большинство рассматриваемых решений используют для работы с электронными картами библиотеки Panorama GIS Toolkit, однако, в некоторых случаях применялись системы и форматы данных собственной разработки.

Рис 1. Компоненты муниципальной геоинформационной системы

Рис 1. Компоненты муниципальной геоинформационной системы

Приведение в соответствие адресной семантической части топографической основы г. Иркутска и общегородского справочника адресов

Подавляющее большинство городских информационных систем содержит в некоторых таблицах своих баз данных (БД) поля с почтовыми адресами, к которым относится собираемая в БД информация. Такие адреса могут быть использованы для автоматической привязки к карте (геокодирования) информации из БД. Однако, для того, чтобы геокодирование было возможно использовать, необходимо в первую очередь обеспечить корректность представления адресов на топооснове.

Топооснова г. Иркутска подготовлена в ВостСибАГП (подразделение Роскартографии) в формате ГИС «Карта-2005». При высоком качестве графической части топоосновы (практически точном соответствии бумажному оригиналу), точность её семантики (атрибутов графических объектов) часто оставляет желать лучшего, поскольку, в отличие от графической части, качество ввода семантики визуально не контролируется.

Наиболее точно почтовые адреса г. Иркутска представлены в БД общегородского справочника адресов (адресном реестре). Справочник адресов регулярно уточняется по данным БТИ, эта работа периодически активизируется в связи с такими мероприятиями, как перепись населения и выборы (подготовка списков избирателей). Проведённое обследование существующих городских информационных ресурсов показало, что многие из них непосредственно используют ссылки на общегородской справочник адресов для представления адресной информации. Таким образом, первоочередной задачей, которую необходимо решить при создании МГИС, является установление соответствия общегородского справочника адресов с объектами топоосновы. Решение этой задачи позволяет реализовать геокодирование для значительной части существующих информационных ресурсов.

Для приведения в соответствие адресной семантической части топографической основы г. Иркутска и общегородского справочника адресов была выполнена работа по сопоставлению списка обнаруженных на топооснове адресов зданий, сооружений и других объектов и общегородского справочника адресов с использованием технологии автоматического сравнения справочников. По результатам сопоставления подготовлен отчёт с указанием обнаруженных расхождений: списка адресов из общегородского справочника не нанесённых на карту; списка объектов карты с подозрительной семантикой: с адресами, не вошедшими в общегородской справочник адресов, с неполными адресами, с дублированием адресов, выбросы нумерации домов (дома расположенные слишком далеко от остальных объектов улицы, слишком сильно нарушающие порядок нумерации) и т.д.

Проведённый анализ состоял из нескольких этапов:

  • корректировка списка улиц, представленных на карте;
  • корректировка списка улиц в справочнике адресов;
  • сравнение списков улиц;
  • сравнение списков домов для улиц, представленных в обоих справочниках.

Таким образом, прежде чем приступить к сравнению адресов, выполнялась проверка корректности каждого из справочников.

Обнаруженные разночтения, которые не являются очевидными опечатками, были проверены по карте, чтобы определить, являются ли они вариантами написания названия одной улицы или разными улицами. В результате проведённого анализа были сделаны выводы о возможности объединения некоторых написаний названий.

Таблица 1. Фрагмент таблицы замен для устранения опечаток.

Заменить на Название
1-Я ЛИНИЯ 1-Я-ЛИНИЯ
2-Я АЛАРСКАЯ 2-АЯ АЛАРСКАЯ
2-Я ЛИНИЯ 2-ЯЛИНИЯ
2-Я ЖЕЛЕЗНОДОРОЖНАЯ 2=Я ЖЕЛЕЗНОДОРОЖНАЯ
3-Я ЛИНИЯ 3-ЯЛИНИЯ
4-Я СОВЕТСКАЯ 4-Я СОВЕСТСКАЯ
5-Й АРМИИ УЛ. 5-Й АРМИИ
ПЕР.8 МАРТА 8 МАРТА
АКАДЕМИКА ОБРАЗЦОВА АКАДЕМИКА-ОБРАЗКОВА
АКАДЕМИКА ОБРАЗЦОВА АКАДЕМИКА-ОЬРАЗЦОВА
АЛМАЗНАЯ АДМАЗНАЯ
БЕЛОБОРОДОВА БЕЛОБОРОДОВ
БЕРЕЗОВАЯ РОЩА БЕРЁЗОВАЯ РОЩА
БОГДАНА ХМЕЛЬНИЦКОГО БОГДАНО ХМЕЛЬНИЦКОГО
ПЕР.БОГДАНОВА БЛГДАНОВА

Рис. 2 Проверка семантической характеристики на карте: выделены все объекты, имеющие рассматриваемое значение

Рис. 2 Проверка семантической характеристики на карте: выделены все объекты, имеющие рассматриваемое значение

Для сопоставления списков наименований улиц и поиска опечаток использовалась технология автоматического сравнения справочников, основанная на алгоритме приближённого сопоставления строк. Использованные алгоритмы позволяют автоматически обнаруживать похожие наименования, что исключает ошибки, связанные с невнимательностью человека.

Значительные трудности при выполнении анализа вызвала проблема одноимённых улиц. Дело в том, что на территории г. Иркутска имеются одноимённые улицы, представленные в различных микрорайонах города. Существуют примеры использования одинаковых названий в рамках одного района города. Так, в Ленинском районе имеется ул. Трактовая, не отнесённая к какому-либо микрорайону, а также микрорайон Боково, в котором есть своя ул. Трактовая. Т.е. для однозначной идентификации некоторых улиц необходимо указывать тот микрорайон, к которому эта улица относится. Это обстоятельство учтено в общегородском справочнике адресов. Однако, на карте в семантике объектов отсутствует информация о микрорайоне. Эта проблема усугубляется тем, что на карте представлены объекты, относящиеся к некоторым пригородным посёлкам, в семантике которых отсутствует информация о принадлежности к посёлкам, зато ошибочно обозначена принадлежность к одному из районов города. При этом некоторые наименования улиц из пригородных посёлков совпадают городскими. Проблема пригородных посёлков не может быть полностью решена с использованием отсечения по линии границ городской черты, поскольку эта граница несколько раз менялась, и в общегородском справочнике адресов также представлены адреса, которые в настоящее время находятся за пределами территории города. Разработчики некоторых существующих баз данных не осознавали проблему одноимённых улиц: в этих системах не предусматривается хранение информации о микрорайоне в составе адреса, что иногда приводит к тому, что одному адресу из такой БД могут соответствовать различные объекты в разных частях города.

Для решения проблемы разделения одноимённых улиц на карте, а также для поиска объектов, ошибочно отнесённых к некоторой улице, (выбросов) был реализован алгоритм кластерного анализа. Алгоритм разбивает выбранные на карте по некоторому признаку (например, по принадлежности к определённой улице) объекты на кластеры, расстояния между которыми превышают задаваемый пользователем порог (например, 300м.). Поскольку одноимённые улицы находятся в разных микрорайонах, объекты разных улиц попадают в разные кластеры, остаётся только найти соответствие для каждого кластера в адресном реестре. Выбросы также с вероятностью близкой к 1 попадают в отдельные кластеры. Реализована пакетная версия алгоритма кластеризации, позволяющая обработать сразу все улицы из задаваемого пользователем списка. В результате работы алгоритма пакетной кластеризации формируется таблица принадлежности объектов карты найденным кластерам, которая в дальнейшем может использоваться для формирования таблицы соответствия адресов.

Стоит упомянуть ещё ряд проблем, обнаруженных в результате проведённого анализа, которые затрудняют использование топоосновы при разработке информационных систем:

  • атрибут «НОМЕРА ДОМОВ» не задан у большого числа объектов карты.
  • некоторые объекты карты представляют сразу несколько домов. В том случае, когда эти адреса относятся к разным улицам, не удаётся установить соответствие между номерами домов и улицами.
  • в названиях улиц, упоминаемых на карте, не всегда корректно указывается их тип. Например, иногда путаются переулок и проезд. В некоторых случаях тип не указывается при наличии нескольких одноимённых улиц, различающихся только типом.
  • в адресном реестре не используются механизмы контроля целостности базы данных, чем объясняется, например, наличие кодов отсутствующих улиц в таблице адресов или ссылок на улицы, относящиеся к микрорайонам, отличным от микрорайона, к которому относится адрес.
  • в адресном реестре поле номера дома иногда используется для указания диапазона номеров, что нарушает требования первой нормальной формы БД и затрудняет использование этой базы данных.
  • в различных городских БД не все адреса соответствуют тому виду, который представлен в адресном реестре. Например, в таблице избирательных округов, представлены такие адреса, как 4 км., М-н 104., Дачи Мылзавода, Дома Нефтебазы, Дома рощи «Скит», Барак 11.

Выполненная работа является основополагающей для построения МГИС и организации работ по актуализации электронной топоосновы г. Иркутска (оперативного дежурства). В настоящее время проводятся работы по устранению выявленных недостатков.

Система ГеоАРМ — связь базы данных с электронной картой

Разработка муниципальной ГИС не должна ограничиваться созданием ряда электронных карт. Значительная часть информации, которую требуется отображать на карте, находится в базах данных. Электронная топографическая основа является естественным средством интеграции информации, собираемой в различных муниципальных информационных системах.

Обычно информационно-аналитическая среда организаций и предприятий представляет собой набор автоматизированных информационных систем (АИС), реализованных в разных системах программирования и ориентированных на работу с разными СУБД. Пользователи взаимодействуют с АИС через ряд автоматизированных рабочих мест (АРМов). Базы данных автоматизированных информационных систем могут содержать информацию об объектах, имеющих пространственную привязку (почтовые адреса, описание расположения объектов и т.д.). Для анализа информации о пространственном расположении объектов необходимо расширить функциональные возможности имеющихся АРМов за счет интеграции с геоинформационными системами.

Однако, включение кода взаимодействия с ГИС в каждый из уже существующих АРМов – задача трудоёмкая, требующая для своего решения обязательного наличия исходных текстов АРМов, освоения разработчиками внедренных АРМов геоинформационных технологий или, наоборот, изучения специалистами в области ГИС исходных текстов уже существующих систем.

Одним из подходов к решению рассматриваемой задачи является разработка приложений на базе популярных ГИС, таких как ArcView [5] или MapInfo [6]. В этих системах предусмотрена работа с таблицами БД наряду с семантическими таблицами, связанными со слоями карт, существуют возможности построения запросов, связывающих между собой несколько таблиц и картографических слоёв. Однако, воспользоваться этими возможностями может лишь опытный пользователь рассматриваемых ГИС, и так как уровень автоматизации этих функций практически отсутствует, то для их реализации необходимо выполнить достаточно большое количество операций даже для привязки к карте небольшого набора таблиц БД. Таким образом, имеющиеся в рассматриваемых ГИС возможности по привязке данных из БД к карте, не позволяют решить поставленную задачу в полном объеме, без разработки специализированных приложений, работающих под управлением соответствующих ГИС.

В качестве возможной альтернативы, рассмотрим ГИС «Карта-2000» [7]. В данную ГИС встроена система управления пользовательской БД — «Проект БД». Эта система предназначена для работы с информацией, содержащейся во внешних БД. Однако, в модуле «Проект БД» для построения пользовательских запросов требуется знание встроенного в систему языка построения запросов (на уровне оператора SELECT языка SQL). Полученные тексты запросов используются при построении интерфейса системы (пользовательских форм). При создании форм пользователь практически производит визуальное программирование, аналогичное настройке взаимодействия программ с БД в Delphi или C++ Builder. Весь механизм создания таких форм копирует соответствующий механизм Delphi и, поэтому, требует достаточно высокой квалификации пользователя сравнимой с уровнем профессионального программиста.

Учитывая вышесказанное можно сделать вывод, что существующие возможности коммерческих ГИС не обеспечивают достаточный уровень автоматизации для интеграции с уже созданными информационными системами, использующими БД.

В ИДСТУ СО РАН накоплен большой опыт создания информационно-аналитических систем (ИАС) с использованием ГИС в технологии Интернет/Интранет. Для создания ИАС был разработан универсальный модуль, предназначенный для публикации информации из БД. Модуль настраивается на работу с конкретной базой данной при помощи метаописаний её структуры и шаблонов страниц и предназначен для просмотра информации из БД без её изменения. Впоследствии был реализован настраиваемый АРМ, позволяющий редактировать информацию из БД, для которой имеются метаописания. Разработка настраиваемого АРМа позволила перейти к созданию системы ГеоАРМ, в которую дополнительно была включена картографическая подсистема, реализованная при помощи пакета Panorama GIS ToolKit.

Система ГеоАРМ может быть настроена для работы с уже существующими БД при помощи описаний их структуры. При этом обеспечивается просмотр и редактирование содержимого БД, как в табличном представлении, так и в виде автоматически сгенерированных форм, взаимосвязанных между собой. Реализована возможность выборки данных при помощи формируемых пользователем запросов.

На топографическую основу могут дополнительно накладываться тематические слои, которые доступны для редактирования пользователем. На таких слоях могут быть созданы объекты карты, соответствующие имеющейся в БД информации, для которой отсутствуют подходящие объекты на топооснове. Реализована функция автоматического создания объектов по координатам, хранящимся в БД.

Настройки системы ГеоАРМ для работы с конкретной БД сохраняются в файлах описаний, которые являются текстовыми INI-файлами и могут быть созданы и изменены в любом текстовом редакторе. В системе реализованы формы, позволяющие создавать и редактировать основные элементы файлов описаний интерактивно. В готовый файл описания структуры БД, для повышения уровня безопасности функционирования АРМа, может быть записан признак завершённости, после считывания которого все административные функции в системе блокируются.

Система ГеоАРМ состоит из двух основных подсистем: настраиваемого АРМа и картографического модуля.

Настраиваемый АРМ предназначен для просмотра и редактирования содержимого БД. Система ГеоАРМ может быть настроена без перекомпиляции на работу с любыми БД, доступ к которым обеспечивается на основе BDE (Borland Database Engine), при условии, что эти БД имеют достаточно правильную структуру: в качестве первичных ключей основных таблиц должны использоваться целочисленные поля, а связи между таблицами должны определяться как список соответствий между отдельными полями таблиц. Для таких БД может быть организована работа системы ГеоАРМ непосредственно с той же базой, с которой, работают уже внедренные АРМы. Если же структура существующей БД препятствует её непосредственному использованию в системе, то, например, может быть использовано периодическое преобразование такой БД в структуру, удовлетворяющую вышеперечисленным требованиям.

В основе настраиваемого АРМа лежит технология единообразного решения различных задач обработки данных с использованием описаний структуры БД. Основными элементами описаний БД в системе ГеоАРМ являются описания таблиц и представлений. В описании таблицы указывается, какие поля таблицы БД используются в системе (некоторые существующие поля могут быть исключены из описания, тогда они игнорируются системой), какими свойствами с точки зрения системы они обладают, и какие связи существуют между данной таблицей и другими таблицами.

Под связью или ссылкой из таблицы A в таблицу B понимается наличие в одном или нескольких полях таблицы A уникального для таблицы B набора значений одного или нескольких её полей. При этом говорят о наличии внешнего ключа, в таблице A. Заметим, что для того, чтобы определить связь в описании, не обязательно существование соответствующего внешнего ключа (FOREIGN KEY) в БД. Доступная по ссылке таблица может содержать ссылки на другие таблицы, которые, в свою очередь, могут содержать ссылки на другие таблицы, и т.д. При этом будем говорить о доступе к полям таблиц через несколько уровней ссылок.

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

В системе ГеоАРМ реализована возможность формирования пользовательских запросов. Пользователь может самостоятельно сформулировать условие запроса для отбора записей при просмотре таблицы или представления в табличной форме.

Редактор пользовательских запросов позволяет пользователю, не специалисту в программировании для баз данных, интерактивно сформулировать произвольное логическое условие для выбора записей таблицы или представления. При этом полностью исключается возможность создания запросов, содержащих ошибки с точки зрения организации данных.

В окне построителя запроса логическое выражение для условия запроса представлено в виде дерева разбора с корнем, расположенным слева (Рис 3.). Выражение представляет собой набор операций сравнения связанных между собой логическими связками «и», «или» или их отрицаниями.

Рис 3. Окно построителя запросов

Рис 3. Окно построителя запросов

Картографическая подсистема позволяет просматривать картографическую информацию, находить на карте объекты и адреса, информация о которых содержится в БД и, наоборот, находить в БД информацию, связанную с объектом карты (Рис. 4). В картографическом модуле реализованы стандартные механизмы просмотра карты, такие, как масштабирование, навигация по карте, нанесение, удаление объекта, получение информации об объекте.

Привязка БД к карте может быть осуществлена двумя способами: через геокодирование, т.е. по полям, содержащим адреса домов или привязкой к произвольным объектам карты через таблицу связей.

Рис.4. Пример окна карты с найденным зданием по адресу ул. Лермонтова, 134

Рис.4. Пример окна карты с найденным зданием по адресу ул. Лермонтова, 134

Для первого способа при описании структуры БД должны быть указаны поля таблиц, в которых содержатся почтовые адреса. При наличии такой информации на форме для редактирования таблицы отображается кнопка «Адрес на карте», после нажатия на которую выполняется поиск адреса. Для использования второго способа в БД должна быть создана специальная таблица привязки объектов к карте (одна на всю базу), позволяющая связать любой объект карты с данными из БД. Поверх основной топоосновы в системе ГеоАРМ могут создаваться специализированные слои, предназначенные для нанесения на карту отсутствующих там объектов (например слои «Гаражи», «Реклама» и т.д.).

Пользователь не имеет права редактировать исходную топографическую основу, но может вносить изменения в созданные им самим специализированные слои. Предполагается, что при наличии в таблице адресов, характеризующих расположение объектов, пользователь будет находить фрагмент карты при помощи геокодирования, а затем выбирать уже имеющийся объект или создавать новый на специализированном слое, и связывать этот объект с записью таблицы. Также реализован режим автоматического нанесения на карту объектов, географические координаты которых содержатся в базе данных.

Система ГеоАРМ позволяет организовывать работу с картой для информационных систем, в которых изначально эта возможность не была предусмотрена. Настройка системы для работы с конкретной БД может быть выполнена специалистами предметной области в достаточно сжатые сроки. После настройки ГеоАРМ становится альтернативой уже существующего АРМа, обладающей возможностями работы с электронными картами, а в случае простых АРМов может их полностью заменить.


Выкопировка фрагментов секретных слоёв топографической основы

В настоящее время при выполнении проектных и строительных работ в г. Иркутске заинтересованные организации по-прежнему используют информацию с бумажных планшетов. В то же время, большинство этих организаций используют для своей работы программное обеспечение ГИС или САПР, т.е. заинтересованы в получении электронных карт. В г. Иркутске также имеется электронная версия, как несекретных, так и секретных слоёв топографической основы. Если доступ к несекретной части топографической основы может быть непосредственно предоставлен в локальной сети городской администрации, то её секретная часть должна храниться в специальном сертифицированном помещении на компьютерах не подключённых к внешней сети. Однако, проектировщики и строители заинтересованы, в первую очередь, в получении информации секретных слоёв. Например, при выполнении строительных работ необходимо учесть информацию о различных подземных коммуникациях в зоне строительства, которая относится к секретной части топоосновы.

К счастью, действительно секретными являются лишь достаточно большие участки секретных слоёв, поэтому допускается предоставление пользователям, находящимся в несекретной сети, ограниченных фрагментов секретных электронных карт. Для организации работы с секретной частью топоосновы должна быть разработана и сертифицирована, как отвечающая требованиям безопасности, технология предоставления доступа к фрагментам секретных слоёв.

Предложенная система предоставления доступа к секретной топооснове использует в своей работе три АРМа и две БД:

  • АРМ пользователя работает в открытой сети, он позволяет сделать запрос на получение выкопировки секретных слоёв и, в случае его удовлетворения, получить предоставленные фрагменты карт. Этот модуль может включаться в различные системы, в которых выполняется работа с электронными картами;
  • АРМ администратора в открытой сети, служит для просмотра информации о сделанных запросах на получение выкопировок, экспорта этой информации для передачи в секретную сеть, а также для импорта информации, переданной из секретной сети;
  • АРМ администратора в секретной части, который позволяет импортировать информацию о сделанных запросах, принять решение об их удовлетворении или отклонении, и экспортировать фрагменты карт для передачи в открытую сеть.

В настоящее время реализовано предоставление выкопировок в формате ГИС «Карта-2005». В дальнейшем предполагается расширить набор поддерживаемых форматов.

Процесс получения выкопировки состоит из следующих этапов:

  1. Заявка на предоставление выкопировки формируется специалистом в несекретной сети и помещается в БД.
  2. Администратор топоосновы рассматривает сделанные заявки в своём АРМе, также находящемся в несекретной сети. Некоторые из них могут быть сразу отклонены, а остальные экспортируются в обменный файл для передачи в секретную сеть.
  3. Обменный файл переносится на сменном носителе в секретную часть и импортируется АРМом администратора в секретную БД.
  4. Запрос на предоставление выкопировки рассматривает администратор топоосновы, работающий в секретной сети, который проверят возможность предоставления выкопировки, а также режим на секретности по данному фрагменту.
  5. Формируется обменный файл, содержащий ответы на сделанные запросы и предоставляемые фрагменты карт.
  6. Обменный файл на сменном носителе из секретной сети передаётся в несекретную и импортируется АРМом администратора.
  7. На всех этапах получения выкопировки проводится персональный учет заказчиков, исполнителей работ, контроль сроков выполнения работ, а также покоординатный учет проведенных выкопировок.

В настоящее время разработанные системы внедряются в Комитете по градостроительной деятельности администрации города Иркутска. В дальнейшем предполагается расширить функции разработанных систем, чтобы обеспечить не только предоставление выкопировок в электронном виде, но и корректировку топоосновы за счёт импорта исправленных в ходе выполнения проектно-изыскательских работ фрагментов карт.

Рис 5. Сетевое обеспечение работы с топоосновой для получения фрагмента карты

Рис 5. Сетевое обеспечение работы с топоосновой для получения фрагмента карты

Заключение

Муниципальная ГИС представляет собой сложный информационный ресурс, объединяющий в своём составе не только собственно электронные карты, но и данные из разнообразных городских информационных систем. Поэтому создание МГИС затрагивает большое количество информационных ресурсов, повышая их ценность за счёт реализации возможности анализа информации с учётом пространственного расположения. Пространственная привязка позволяет сопоставить данные, собранные в различных системах. Кроме того, при решении задачи привязки БД к топооснове, происходит уточнение информации, содержащейся в БД, например, за счёт коррекции почтовых адресов.

Рассмотренные в данной работе технологии позволяют эффективно решить часть задач, возникающих при разработке МГИС.