| А. Сорокин,
гл.специалист Управления земельными ресурсами,
г.Владимир
Применение технологий Oracle 10g SE
для работы с пространственными данными
в муниципальных информационных системах
В информационных системах муниципального уровня пространственные данные играют одну из ключевых ролей. Практически любая сфера компетенции муниципалитета предполагает использование пространственных данных. Управление муниципальным имуществом, вопросы экологии, политика развития города, задачи коммунального хозяйства напрямую связаны с обработкой и анализом пространственных данных. Службы скорой помощи, МЧС, правоохранительные органы также активно используют пространственные данные в своих целях.
1. Особенности использования пространственной информации в муниципальных информационных системах
Пространственные данные, задействованные на муниципальном уровне, можно условно разделить на две основные категории:
- пространственные данные общего назначения и
- тематические пространственные данные.
Наиболее распространенным и востребованным видом пространственных данных общего назначения, безусловно, является топографическая основа. В бумажном виде топографическая основа, как правило, содержится на крупномасштабных топографических планах, выполненных на территорию муниципалитета (чаще всего это масштабы 1:500, 1:2000 и 1:10000). В цифровом векторном виде подобные материалы могут быть получены, например, векторизацией сканов топографических планов или дешифрированием сведенных в ортофотопланы аэрофотоснимков территории муниципалитета. Наиболее точные данные позволяет получить инструментальная съемка местности, выполненная с привлечением GPS-технологий. В ряде случаев, особенно на начальном этапе создания в электронном виде топографической основы возможно непосредственное использование сканов топопланов или ортофотопланов. К пространственным данным общего назначения наряду с топографической основой можно отнести также так называемые адресные схемы, при построении которых за основу берется определенная часть топографической информации.
Объектный состав пространственных данных общего назначения с незначительными вариациями примерно следующий:
- Административные границы;
- Здания и сооружения с привязанной к ним адресной информацией;
- Промышленные, сельскохозяйственные и общественные объекты;
- Улично-дорожная сеть, к объектам которой привязана информация о наименованиях улиц или иных адресообразующих объектов;
- Рельеф и геодезия;
- Топография;
- Коммуникации;
- Гидрография;
- Растительный покров и грунты.
Характерные особенности пространственных данных общего назначения:
- Сложный объектный состав, выражающийся, в том числе, и в необходимости разбиения данных на большое количество специфических слоев, каждый из которых характеризуется индивидуальным набором атрибутов;
- Большое количество объектов в целом;
- Повышенные требования к точности задания местоположения объектов, что обусловлено повышенными требованиям к точности измерений, проводимых на данном материале, а также необходимостью соблюдения корректности взаимного расположения как объектов, находящихся в одном слое, так и логически связанных между собой объектов, расположенных в разных слоях;
- Необходимость организации так называемого дежурства данных для обеспечения их актуальности;
- Чаще всего заданы в локальной системе координат;
- Обеспечивают неразрывное покрытие всей территории муниципалитета;
- Редактируются узким кругом квалифицированных в области ГИС и геодезии специалистов;
- Используются в широком круге задач как самостоятельно, так и в сочетании с тематическими данными.
Как правило, пространственные данные общего назначения служат основой для создания специализированных или тематических пространственных данных. Тематические данные обычно задаются в той же системе координат, что и пространственные данные общего назначения.
Тематические данные можно условно разделить на следующие группы:
- Данные, порожденные на основе объектов, составляющих пространственную информацию общего назначения. Например, результаты аналитических расчетов, выполненных на основе установленных регламентных условий (зонирование, красные линии и т.п.);
- Данные, полученные путем инструментальной съемки (например, границы земельных участков);
- Данные, которые могут быть нанесены приблизительно, в том числе и при помощи геокодирования (избирательные участки, обстановка с заболеваемостью, экологические замеры);
- Проектные данные, выполненные в контексте существующей ситуации на какую-то определенную территорию (например, перспективные проектные решения в сфере градостроительства, землеустройства и т.п.).
Характерные особенности тематических данных:
- Чаще всего рассматриваются в контексте пространственной информации общего назначения;
- Тесно интегрированы со сложно-структурированными семантическими данными в рамках предметно-ориентированных информационных систем (примером могут служить различного рода территориальные кадастры: земельные, градостроительные, лесные и т.п.);
- Могут редактироваться широким кругом пользователей;
- Активно используются в операциях пространственного анализа, составлении отчетности, аналитике, статистике;
- Ориентированы на достаточно узкую предметную область.
В совокупности пространственные данные общего назначения и тематические данные, сведенные в общее координатное пространство, образуют огромный массив информации, охватывающей практически все объекты муниципального хозяйства.
2. Потребность в интегрированной среде
Решения, когда семантическая информация слабо связана с пространственной информацией, на сегодняшний день не отвечают потребностям, предъявляемым к современным информационным системам. Активное манипулирование пространственными данными узким кругом специалистов в рамках ограниченного числа специализированных рабочих мест также уходит в прошлое. Обработка и анализ пространственной информации перестает быть прерогативой только квалифицированных ГИС-специалистов и все чаще перераспределяется среди более широкого круга пользователей информационных систем, выполняющих определенную часть по обработке и анализу пространственных данных в рамках общего технологического цикла предприятия или организации. Обеспечить подобную схему работы можно только при помощи организации распределенного доступа к пространственным данным.
Разнообразие и объемы как семантической, так и пространственной информации растут, приобретая все более сложную и структурированную форму. Вследствие этого возникает необходимость уже на этапе выбора или проектирования программно-аппаратного обеспечения закладывать в будущем возможность дальнейшего масштабирования и наращивания функциональности разрабатываемой информационной системы.
Модели представления пространственных данных в силу своей специфики требуют особых механизмов обработки (таких, например, как пространственные индексы). В то же время подобные механизмы наряду с хорошо отработанными механизмами обработки семантической информации должны быть органично встроены в общую систему, позволяющую обрабатывать запросы, содержащие как семантические, так и пространственные критерии поиска и анализа данных. Наиболее логичным представляется решение, обеспечивающее возможность хранения как пространственных, так и семантических данных в рамках единой информационной базы, обеспечивающей одинаково эффективный доступ к данным обоих видов.
Все чаще возникает необходимость в обобщении больших объемов, в том числе и пространственной информации, для того чтобы можно было представлять результаты подобного обобщения на различных уровнях принятия решений, начиная с низшего оперативного уровня и заканчивая уровнем, на котором принимаются стратегические решения. В первую очередь это касается качественного состава самой информации, которая должна быть упрощена или обобщена в соответствии с заданными критериями детальности или объема.
Обеспечение актуальности пространственной информации приобретает все большее значение. Практически любая информационная система реализует модель данных, заданным образом отражающих объекты реального мира или процессы, протекающие в реальном мире. Очевидно, что изменения характеристик реальных объектов или протекание процессов, так или иначе, связано с изменениями в данных, которыми оперирует информационная система. Отслеживание динамики таких изменений на уровне базы данных востребовано пользователями информационной системы почти в режиме реального времени.
С учетом вышеперечисленных факторов наиболее гибкое решение на сегодняшний день предлагает СУБД Oracle 10g, которая представляется функционально сбалансированной системой управления базами данных с точки зрения эффективной работы, как с пространственными, так и семантическими данными. Это позволяет рассматривать базу данных Oracle 10g в качестве фундамента для построения широкого спектра муниципальных информационных систем, для которых характерно активное использование пространственных и семантических данных.
3. Краткий обзор функциональности Oracle 10g Spatial и Locator
Работу с пространственными данными в СУБД Oracle 10g Enterprise Edition обеспечивает модуль Spatial, который поддерживает объектно-реляционную модель представления пространственных данных. Эта модель позволяет хранить описание геометрии пространственных объектов в специальном объектном типе данных SDO_GEOMETRY. Таблицы Oracle наряду со столбцами строковых и числовых типов могут содержать один или более столбцов объектного типа. Геометрическая информация, описанная в объектном типе, может быть задана в контексте определенной системы координат. Spatial поддерживает ортогональные декартовые системы координат, геодезические системы координат, проекционные системы координат и локальные системы координат.
Для обработки пространственных запросов Spatial реализует двухуровневую модель анализа пространственных данных, основанную на использовании первичного и вторичного фильтров. Первичный фильтр выполняет быструю выборку объектов, которые выступают потенциальными кандидатами для дальнейшей обработки и уточнения на уровне вторичного фильтра. Первичный фильтр опирается на механизм пространственных индексов, что обеспечивает уменьшение сложности операции, повышение быстродействия и сокращение времени отклика. Вторичный фильтр выполняет анализ объектов, полученных от первичного фильтра, проверяя их на точное соответствие критериям поиска, заданным в исходном запросе. Вследствие сложности вычислений, которые выполняет вторичный фильтр, он работает медленней, чем первичный фильтр, но так как вторичным фильтром обрабатывается существенно меньший набор объектов, в результате достигается оптимальное быстродействие и приемлемое время отклика в целом для всей совокупности операций.
В ряде случаев, когда важна не столько точность запроса, сколько скорость его отработки, достаточно использовать лишь первичный фильтр. Например, запрос пространственных объектов по прямоугольной области, как результат выполнения операций панорамирования, увеличения или уменьшения масштаба отображения карты, являются наиболее распространенным видом подобных запросов, реализуемых приложениями ГИС. Для уменьшения времени отклика на подобные запросы первичный фильтр очень быстро возвращает приблизительный набор объектов, которые потенциально могут исходя из информации, хранящейся в пространственном индексе, попасть в запрашиваемое окно.
Работу с растровыми данными обеспечивает входящий в состав Spatial модуль GeoRaster. GeoRaster позволяет хранить растровые данные в форме пространственных сеток, с которыми могут быть связаны метаданные. GeoRaster позволяет эффективно индексировать, запрашивать, и анализировать представленные в такой форме растровые изображения. Растровые сетки также как и геометрические векторные данные могут быть заданы в контексте определенной системы координат. Источниками растровых данных могут служить сканы, данные дистанционного зондирования, аэрофотоснимки, космические снимки, фотопланы.
Spatial поддерживает топологическую модель представления пространственных данных. Такая модель позволяет задавать пространственные объекты на множестве топологически связанных между собой базовых элементов: узлов, дуг, а также образованных ими замкнутых областей. Подобная модель представления пространственных данных незаменима, когда необходимо соблюсти топологическую связность и целостность пространственных объектов. В рамках топологической модели можно более эффективно выполнять ряд пространственных операций, опирающихся на логику связей между элементами, на основе которых построены пространственные объекты.
Spatial поддерживает сетевую модель данных. Сетевая модель описывает пространственные данные, как набор узлов и связей между ними. Сетевая модель содержит логическую информацию о соединении узлов связями, о направлении связей, а также о весах узлов и связей. При помощи логической информации можно анализировать сетевую модель и выполнять запросы к ней, например, для расчета оптимального пути обхода заданного набора узлов. В дополнение к логической информации сетевая модель поддерживает обработку пространственной информации, относящейся к местоположению узлов и геометрии связей, образующих сеть. Эта информация дополняет логическую информацию, позволяя достаточно точно рассчитывать, например, стоимость пути в зависимости от пространственных характеристик объектов, образующих сеть, а также принимая в расчет их качественные характеристики, оформленные в виде весовых коэффициентов. Сетевая модель данных может быть использована для хранения очень больших и комплексных сетей.
Spatial реализует функции геокодирования. Геокодирование позволяет поставить в соответствие определенному почтовому адресу конкретное местоположение в пространстве, например, на карте населенного пункта. Подобная возможность незаменима, когда возникает необходимость пространственно отобразить данные, которые в своем составе не имеют прямого указания на местоположение (выраженное, например, в виде координат точек), но содержат информацию об адресе.
Oracle Locator является компонентом Oracle 10g Standard Edition и реализует базовое подмножество функций Oracle Spatial. Locator доступен как в Standard, так и в Enterprise-конфигурации Oracle 10g.
Возможности, которые поддерживает Locator:
- Реализация объектного типа (SDO_GEOMETRY), обеспечивающего поддержку геометрических данных;
- Механизм пространственных индексов и конструкции SQL, обеспечивающие их создание, изменение и удаление;
- Пространственные операторы, использующие пространственные индексы для ускорения обработки геометрических данных;
- Поддержку геодезических данных и систем координат, а также функций трансформации данных из одной системы координат в другую;
- Функцию агрегации пространственных данных по габаритным характеристикам SDO_AGGR_MBR;
- Функции и процедуры пакета SDO_GEOM: SDO_GEOM..SDO_DISTANCE , SDO_GEOM..VALIDATE_GEOMETRY_WITH_CONTEXT, SDO_GEOM..VALIDATE_LAYER_WITH_CONTEXT;
- Функции и процедуры настройки работы с пространственными данными, реализованные в пакете SDO_TUNE;
- Функции пространственных утилит, реализованные в пакете SDO_UTIL;
- Интеграцию с Oracle Application Server 10g;
Возможности Spatial, не поддерживаемые Locator:
- Расширенный набор функций и процедур пакета SDO_GEOM;
- Расширенный набор функций пространственной агрегации;
- Линейная система координат (Linear referencing system (LRS));
- Функции и процедуры пространственного анализа, реализованные в пакете SDO_SAM;
- Геокодирование, реализованное в пакете SDO_GCDR;
- GeoRaster;
- Топологическая модель данных;
- Сетевая модель данных;
4. Использование Oracle 10g для обеспечения потребностей муниципальных информационных систем в хранении и обработке пространственных данных
Наиболее распространенной является ситуация, когда имеющиеся в распоряжении организации или предприятия пространственные данные хранятся в электронном виде в каком-то определенном формате, поддерживаемом тем или иным программным обеспечением. Возникает необходимость осуществить первичную загрузку этих пространственных данных в базу данных Oracle. Основные моменты, сопутствующие выполнению данной процедуры:
- Выбор способа загрузки. Загрузка данных может быть выполнена при помощи утилиты SQL*Loader или путем выполнения серии операций вставки (INSERT) в рамках одной или нескольких транзакций. Для удобства загрузки данных вместе с некоторыми ГИС-приложениями поставляются специализированные утилиты, позволяющие эффективно загружать пространственные данные из собственных форматов, поддерживаемых этими приложениями, в базу данных Oracle. Примером может служить программа MapInfo Easy Loader.
- Отображение принятого набора слоев на набор таблиц базы данных Oracle. Обычно подобное отображение не вызывает особых затруднений, так как Oracle Spatial поддерживает идеологию хранения пространственных данных в виде слоев (читай, отдельных таблиц, имеющих пространственный столбец для хранения геометрии и ряд семантических столбцов, позволяющих хранить атрибуты).
- Объектное соответствие. Данная проблема связана с тем, что типы геометрических объектов, которые поддерживаются конкретным форматом файлов, не соответствуют в полной мере тем типами геометрических объектов, которые поддерживаются Oracle Spatial. Данное несоответствие может быть выражено также в различиях в построении базовых геометрических объектов. Например, для полигонов в исходном формате данных может не предусматриваться лишняя замыкающая точка, дублирующая начальную точку полигона. Примером могут служить также ориентированные надписи, широко распространенные в ГИС-приложениях наряду с базовыми геометрическими типами пространственных объектов. В таких объектах, помимо локализации текста в пространстве, фигурирует угол его поворота и правила начертания. Для представления таких данных могут пригодиться ориентированные точки, поддерживаемые Oracle. Ориентированные точки - это специальный тип точечной геометрии, включающий координаты местоположения описываемой точки, а также координаты местоположения виртуальной конечной точки, задающей ориентацию вектора. Вектор может быть использован для задания ориентации символа, обозначающего точку на карте, или для поворота надписи, связанной с точечным объектом. В основном подобный тип используется при визуализации карт и позволяет отображать точечные данные, требующие задания ориентации обозначающих их символов.
- Соответствие типов атрибутов. Расхождение в описании типов атрибутов, поддерживаемых файловым форматом, и типов семантических данных, поддерживаемых Oracle, встречается редко. В первую очередь это касается представления информации о дате и времени. Перенос числовых и строковых типов данных обычно не вызывает затруднений.
- Точность представления пространственных данных и единицы измерения. Для каждой таблицы Oracle, содержащей пространственные данные, точность представления координат геометрических объектов регулируется значением Tolerance. В общем случае Tolerance задает дистанцию между двумя точками, при которой можно считать, что местоположение этих двух точек совпадает. Значение Tolerance является положительной величиной, большей нуля. В значительной степени на интерпретацию данной величины влияет то, в какой системе координат заданы пространственные данные. Величина Tolerance также напрямую влияет на точность выполнения ряда пространственных операций.
- Характеристики системы координат. Особое внимание при загрузке данных приходится уделять системе координат, в которой заданы исходные данные, чтобы осуществить соответствующие настройки в таблицах окружения Spatial. Большинство функций и процедур, манипулирующих пространственными данными, при выполнении учитывают систему координат, с которой связаны данные.
Важным этапом после первичной загрузки данных является обеспечение эффективного доступа к этим данным со стороны приложений-клиентов, а также обеспечение целостности и непротиворечивости хранимых данных в процессе их изменения. Для пространственных данных характерна ситуация, когда они используются в качестве самодостаточных компонентов вне рамок какой-то одной информационной системы. Ситуации, когда отдельная таблица, содержащая пространственные данные, может быть задействована в сочетании с произвольным набором других пространственных данных, например при помощи ГИС-приложения общего назначения, довольно распространена. Это порождает ряд проблем, связанных с обеспечением целостности пространственных данных, так как в этом случае манипулирование ими будет происходить не в рамках заранее оговоренной логики, заданной в пределах какой-то определенной информационной системы. В этом случае роль дополнительной логики на стороне сервера, обеспечивающей целостность данных, выходит на передний план.
Основные работы сопровождения пространственных данных:
- Построение оптимальных индексов
. Для более эффективной работы с пространственными данными необходимо выбрать оптимальные характеристики индексирования, которые наилучшим образом будут соответствовать тем данным, которые будут храниться в той или иной таблице, а также наилучшим образом отвечать специфике взаимодействия с этими данными. Рекомендуемые для использования R-tree индексы, в частности, желательно создавать с учетом типов пространственных объектов, хранящихся в данной таблице.
- Разграничение прав доступа
. В этой части какой-то особой специфики, характерной пространственным данным, нет. Разграничение прав доступа выполняется в рамках общего подхода. За рамками такого подхода лежат случаи, когда необходимо запретить какому-то конкретному пользователю или группе пользователей базы данных возможность запрашивать пространственные данные на непрерывную территорию площадью больше заданной.
- Организация журналов вносимых в данные изменений
. В рамках базы данных может быть задана типовая логика фиксации всех изменений, происходящих в базе данных с возможностью идентификации пользователей, производящих данные изменения, а также даты, качества и содержания произведенных изменений. Подобный механизм позволяет контролировать работу пользователей с базой данных и при необходимости восстанавливать потерянные или испорченные данные.
- Организация на стороне сервера логики, помогающей сохранить целостность базы данных.
Целый ряд задач на муниципальном уровне предполагает интенсивное манипулирование тематическими пространственными данными. При этом для пространственных данных характерны ошибки ввода и обновления, которые не удается отследить при помощи обычного реляционного механизма ссылочной целостности, который эффективно работает с обычными семантическими данными. Грамотное сужение функциональных возможностей взаимодействия с базой данных в сочетании с системой контроля целостности на стороне сервера, а также средства контроля связности и корректности данных, напрямую будут определять совокупное качество пространственной базы данных.
Наиболее распространенные ошибки пространственных данных:
- некорректность структуры линейных и полигональных объектов;
- дублирование положения точечных объектов в рамках одной таблицы;
- наложение площадных объектов друг на друга в рамках одной таблицы;
- полное или частичное совпадение линейных объектов в рамках одной таблицы;
- самопересечение полигональных и линейных объектов;
- дублирование узловых точек, составляющих полигональный или линейный объект;
- некорректное взаиморасположение логически связанных объектов, находящихся в разных таблицах (например, положение опоры электропередач, которая находится в одном слое, не совпадает с положением конца линии электропередач, которая в реальности протянута через данную опору).
Метаданные, поддерживаемые приложением ГИС. В совокупности практически любая геоинформационная система или часть информационной системы, отвечающая за манипулирование пространственными данными, отвечает не только за целостное хранение информации о геометрических и семантических характеристиках пространственных объектов, но и за интерпретацию или, проще говоря, визуализацию пространственных данных. Большую роль при отображении пространственных данных имеют так называемые метаданные, определяющие, как тот или иной объект должен быть начерчен на карте. Хранить метаданные проще всего в таблицах окружения или специально выделенных атрибутивных полях непосредственно в таблице, содержащей геометрические данные. Приложение-клиент должно уметь интерпретировать записанную подобным образом информацию для корректного отображения пространственного объекта на карте. Подобным образом организована работа модуля Map Viewer, для которого метаданные, отвечающие за параметры отображения пространственных данных, хранятся в специальных таблицах окружения, или MapInfo, поддерживающий в рамках пространственных таблиц поле метаданных (MI_SYMBOLOGY), в котором храниться описание стиля отображения пространственного объекта.
Для реализации сложных информационных систем может потребоваться ряд расширенных возможностей по хранению и обработке пространственных данных, которые обеспечивает Spatial, и которые не поддерживаются Locator:
- Хранение и пространственная привязка растров. Модуль GeoRaster позволяет перевести набор фотопланов или сканов топоосновы в базу данных Oracle и предоставить к ним распределенный доступ, осуществляя эффективное управление растровой информацией больших объемов. Размещенные в базе данных растры могут быть привязаны в соответствующей проекции, что позволит анализировать их в совокупности с прочими пространственными данными, хранящимися на сервере и описывающими заданную территорию.
- Топологическая модель данных. Топологическая модель применима в ряде задач, где очень важно соблюсти топологическую корректность и связность геометрии пространственных объектов, а также необходим эффективный анализ топологических структур данных. В частности, полигональная топология применима в таких задачах, как зонирование или ведение баз данных по учету земельных ресурсов. Наиболее показательной является топологическая модель разбиения территории города на земельные массивы, кварталы и участки. Такая модель позволяет избежать ряда ошибок при формировании геометрических объектов (наложения, рукава, самопересечения и пр.), наличие которых в противном случае повлечет за собой принятие ошибочных решений на основе некорректных данных.
- Сетевая модель данных. Прежде всего, подобная модель данных используется при решении транспортных задач, важность которых в городских условиях трудно переоценить. Расчет оптимальных маршрутов, анализ доступности тех или иных объектов из разных частей города немыслимы без соответствующего математического моделирования, которое обеспечивает модуль Network. Также наиболее значительными задачами, которые могут решаться при помощи этого модуля, являются задачи анализа проектных решений градостроительного характера, а также обеспечение потребностей тревожных служб, специфика которых связана с маршрутными расчетами. Также на базе этого модуля могут решаться задачи коммунальных, газовых, электрических служб, так как природа пространственной информации, которую используют эти организации, напрямую связана с сетевыми моделями.
5. Выводы
Locator, позволяет в достаточной мере организовать ввод и хранения пространственных данных на начальном этапе внедрения подобной технологии. Конечно же, функциональности Locator недостаточно, чтобы удовлетворить все потребности муниципальных информационных систем в части обеспечения полноценной работы с пространственными данными, но возможностей Locator достаточно, чтобы заложить основу для перспективного, легко масштабируемого интегрированного решения и осуществить первоначальный перевод пространственных данных на платформу Oracle. При этом на начальном этапе внедрения ряд отсутствующих в составе Locator функций можно с той или иной степенью успешности скомпенсировать функциональностью ГИС-приложений общего назначения, которые выступают в качестве клиентов базы данных Oracle. В дальнейшем при переходе на Oracle Spatial возможно безболезненное перераспределение функциональности между клиентским приложением и сервером базы данных в пользу централизации специальной логики на сервере. Это в первую очередь касается топологических и сетевых моделей данных, а также поддержки растровых данных больших объемов. Для информационных систем, делающих акцент в работе с пространственными данными, прежде всего на учетных функциях, возможностей Locator может оказаться вполне достаточно. < |