Использование SpatialETL для создания геопорталов

advertisement
Использование SpatialETL для создания геопорталов
Тараканов Александр Евгеньевич
Ведущий специалист ЗАО «НЕОЛАНТ Запад»
Как известно, одним из важнейших элементов инфраструктуры пространственных данных
является геопортал. Термин «геопортал» имеет множество определений, анализ которых проведен
в работе [1]. Для целей этой статьи выбрано следующее определение: геопортал – это портал для
доступа к распределённым геоинформационным ресурсам, поддерживающий функции поиска
пространственных данных, геосервисов и приложений по метаданным, а также визуализации
данных, их загрузки, трансформирования, удаленного вызова сервисов и другие функции в
соответствии с назначением геопортала.
Большинство функций геопорталов реализуется средствами геосервисов. Существуют различные
виды геосервисов. Например, согласно европейской директиве INSPIRE, их классификация по
типам выглядит следующим образом:
 сервисы поиска пространственных данных;
 сервисы визуализации;
 сервисы выгрузки (скачивания) пространственных данных;
 сервисы преобразования;
 сервисы для вызова других удаленных сервисов.
Все сервисы основаны на стандартах и спецификациях, которые явились результатом обоюдного
процесса разработки Европейских, Международных и промышленных стандартов (CEN, ISO,
OGC, W3C).
В случае если геопортал является узлом инфраструктуры пространственных данных, приведенный
перечень геосервисов может быть расширен специальными сервисами (обработки,
сопровождения, передачи пространственных данных). Дополнительными сервисами,
реализующими функции управления пространственными данными и ориентированными на
использование администраторами гепорталов (оператором инфраструктуры пространственных
данных) являются:
 сервисы проверки качества данных;
 сервисы очистки данных;
 сервисы загрузки (обновления) пространственных данных.
При реализации требуемой функциональности гепорталов могут использоваться различные
технологические средства и подходы к реализации геосервисов. В рамках данной статьи
рассматривается подход, при котором для создания некоторых типов геосервисов используются
промышленные системы SpatialETL (Extract, Transform, Load – извлечение, преобразование,
загрузка). Современное программное обеспечение SpatialETL позволяет реализовать большинство
типов геосервисов для геопорталов (рис.1).
Рис. 1. Реализация геосервисов с использованием SpatialETL
При этом в ряде случаев разработчики геопорталов используют собственные разработки для
реализации функциональности SpatialETL [2].
Основные особенности SpatialETL
ETL системы, предназначенные для обработки непространственных данных, существуют уже
довольно давно и активно используются в самых разных областях информационных технологий.
ETL системы, которые могут управлять уникальными характеристиками пространственных
данных, появились только в начале 1990-х годов и получили название SpatialETL [3].
Назначение SpatialETL систем – обеспечение интероперабельности (то есть информационного
обмена) между различными отраслевыми картографическими приложениями и связанными с ними
собственными форматами. Со временем технологии SpatialETL стали играть все более важную
роль в различных информационных системах в качестве инструмента, помогающего
интегрировать пространственные данные с непространственными базами данных, а также для
решения других задач, повышающих эффективность использования пространственной
составляющей любых данных.
Основными возможностями систем SpatialETL при работе с пространственными данными
являются:
 извлечение из различных источников (в том числе гетерогенных) – Extract;
 преобразование форматов, моделей пространственных данных –Transform;
 загрузка (обновление, синхронизация) в хранилище пространственных данных – Load.
Для пространственных данных более чем для других типов данных характерны проблемы,
связанные с их хранением в различных форматах и соответствием данных различным стандартам.
Преобразование пространственных данных между источником (Extract) и получателем (Load)
часто называют трансляцией пространственных данных. Системы SpatialETL могут транслировать
данные непосредственно из одного формата в другой или через промежуточный формат.
Преобразование пространственных данных (Transform) является важнейшей функцией SpatialETL.
Промышленные системы SpatialETL могут содержать сотни различных преобразователей,
обеспечивающих практически любые виды обработки пространственных данных
(геопроцессинга). При этом можно выделить основные виды преобразований пространственных
данных:
 перепроектирование: возможность преобразования пространственных данных из одной
системы координат в другую;
 пространственные преобразования: возможность моделирования пространственных
взаимодействий и расчета пространственных предикатов;



топологические преобразования: возможность создавать топологические отношения между
разнородными наборами данных;
преобразования символов: возможность изменения картографических характеристик
пространственных объектов, таких как цвет, стиль линии и т.п.;
геокодирование: возможность извлекать пространственную составляющую из атрибутов
табличных данных.
Возможности SpatialETL не ограничиваются заглавными функциями. Комбинируя различные
функции в некоторой последовательности, обеспечивающей пошаговую обработку
пространственных данных, пользователи могут решать практически любые задач по обработке
пространственных данных. Такой подход называют геопроцессингом. Среди задач, которые
можно решать с помощью геопроцессинга SpatialETL, можно выделить следующие:
 очистка данных: устранение ошибок данных в наборе данных;
 слияние данных: объединение нескольких наборов данных в единую структуру;
 проверка качества данных: реализация различных тестов для наборов данных с целью
верификации;
 сравнение данных: возможность отслеживать изменения данных и производить
необходимые обновления;
 распространение данных: возможность публикации данных через интернет или доставки
данных по электронной почте независимо от исходного формата.
Контроль качества пространственных данных с помощью SpatialETL
Рассмотрим функции геопорталов, связанные с контролем качества пространственных данных, и
примеры реализации этих функций с помощью SpatialETL.
Для того чтобы сформулировать требования к функциям контроля качества, необходимо ответить
на вопросы: «зачем проверять?», «что проверять?» и «как проверять?».
Для ответа на эти вопросы существуют различные нормативные документы, в том числе ряд
международных стандартов (ISO 19105, ISO 19113, ISO 19114). На их основе, а также с
использованием государственных, отраслевых, корпоративных стандартов, спецификаций,
классификаторов пространственных данных и других документов, разрабатываются
соответствующие тесты для проверки качества пространственных данных.
Отвечая на вопрос «что проверять?» обратимся к стандарту ISO 19113, где вводится понятие
элементов качества данных – то есть количественных компонентов, определяющих качество
набора пространственных данных, требования к которому описывают с использованием элементов
качества данных и описательных элементов качества данных [4]:
 полнота – наличие или отсутствие объектов, их атрибутов и отношений;
 логическая согласованность – степень соответствия логических правил структуры данных,
атрибутов и отношений (концептуальная согласованность, доменная согласованность,
согласованность по формату, топологическая согласованность);
 позиционная точность – точность положения объектов;
 временная точность – точность временных атрибутов и временных отношений объектов;
 тематическая точность – точность количественных атрибутов и корректность
неколичественных атрибутов и классификаций объектов и их отношений.
Для ответа на вопрос «как проверять?» приведем ряд примеров тестирования различных
элементов качества данных. Пример проверки логической согласованности – проверка
соответствия схемы пространственных данных, загружаемых в хранилище пространственных
данных, некоторым требованиям. Для этого в SpatialETL с помощью специальных инструментов
сравниваются схемы загружаемых данных с эталонной схемой данных. Ключевыми требованиями
могут быть соответствия типов объектов и типов данных атрибутов. Пример трансформера,
реализующего подобный тест, приведен на рисунке 2:
Рис. 2. Пример трансформера для тестирования схемы данных
Примером тестирования значений атрибутов может быть комплекс исполняемых проверок,
содержащий тесты на предмет:
 соответствия доменным значениям;
 заполнения обязательных полей.
Пример реализации теста атрибутивных значений приведен на рисунке 3:
Рис.3. Пример тестирования атрибутивных значений
В приведенном комплексе исполняемых проверок последовательно проверяются 3 поля на
условиях обязательности их заполнения, а четвертое поле проверяется на соответствие области
допустимых значений. Объекты, не прошедшие тестирование, записываются в отчетный файл в
формате html.
Примерами проверки геометрии пространственных данных может быть тестирование типов
геометрии, взаимных пересечений, замкнутости полигонов, дублирующихся объектов и т.д.
Обзор программного обеспечения SpatialETL
Среди полноценных решений SpatialETL можно выделить платформу FME канадской компании
SafeSoftware, а также программное обеспечение OpenSource – GeoKettle и SpatialDataIntegrator.
Ключевые требования к системам SpatialETL:
 максимальное количество поддерживаемых форматов (Extract/Load);
 максимальное разнообразие трансформеров (Transform);
 максимальное количество поддерживаемых систем координат;


возможность публиковать геосервисы;
возможность интеграции с ГИС.
Необходимо отметить, что в последнее время для повышения интероперабельности в области ГИС
многие производители программного обеспечения включают в состав ГИС-инструменты
SpatialETL. Хорошим примером являются решения компании SafeSoftware, разрабатывающей
инструменты SpatialETL для многих ГИС-платформ – Autodesk, Bentley, ESRI, Intergraph, MapInfo
и др.
Учитывая простоту сопоставления данных с географическим положением, а также
распространение возможностей поддержки пространственных данных в стандартных
реляционных и объектных базах данных, поставщики стандартных ETL решений пытаются
дополнить свои решения функциональностью SpatialETL. Примером такого подхода является
OpenSource – решение GeoKettle.
Существуют также различные решения, представляющие из себя библиотеки, обеспечивающие
программный доступ к функциям извлечения данных, их преобразования и загрузки. Примерами
таких библиотек являются FDO и GDAL. Необходимо отметить, что высокоуровневые платформы
SpatialETL иногда используют эти библиотеки для своих решений. Например, в FME
используются библиотеки FDO.
FDO – FeatureDataObject – свободное программное обсечение, предоставляющее API для
манипуляции, создания и управления пространственной информацией независимо от формата
хранения. Структура FDO основана на так называемых поставщиках данных (provider), где
каждый поставщик предоставляет средства работы с определенным форматом или группой
форматов данных.
Рассмотрим более подробно указанные промышленные решения.
Safe Software (FME)





ориентировочное количество поддерживаемых форматов (Extract/Load): ~250;
ориентировочное количество трансформеров (Transform): ~400;
ориентировочное количество поддерживаемых систем координат: 5300;
возможность публиковать геосервисы: есть;
интеграция с платформами ГИС и САПР: Autodesk AutoCAD, Autodesk AutoCAD Civil 3D,
Autodesk AutoCAD Map 3D, Autodesk MapGuide, Autodesk Topobase, Bentley Map, Bentley
MicroStation, ERDAS IMAGINE, ESRI ArcGIS, GE Energy Smallworld, Google Earth/Maps,
InformaticaPowerCenter, Intergraph GeoMedia Professional, Intergraph GeoMediaWebMap,
Intergraph G/Technology, Microsoft Azure/OGDI, OpenSpirit, OpenStreetMap.
FME является мощной платформой SpatialETL. В настоящее время технологии FME являются,
безусловно, лидирующими среди платформ SpatialETL по уровню функциональности, количеству
поддерживаемых форматов, систем координат и трансформеров. На рынке платформа FME
представлена двумя приложениями: FMEDesktop и FMEServer.
FMEDesktop – это набор настольных приложений, позволяющих конвертировать,
трансформировать, интегрировать и просматривать пространственные данные.
FMEServer – серверное приложение, обеспечивающее публикацию различных видов геосервисов,
реализующих функциональность FME.
GeoKettle


ориентировочное количество поддерживаемых форматов (Extract/Load): ~14;
ориентировочное количество трансформеров (Transform): ~27;


возможность публиковать геосервисы: есть;
интеграция с платформами ГИС: нет.
GeoKettle является пространственно ориентированной версией ETL системы Kettle. Решение
представляет из себя мощный инструмент SpatialETL, управляемый метаданными,
предназначенный для интеграции различных источников пространственных данных для создания
и обновления хранилищ пространственных данных. GeoKettle предоставляет ряд возможностей
обработки и трансформации различных типов пространственных данных наравне с классическими
типами данных. Все трансформации, доступные в Kettle, доступны и в GeoKettle. Существует
возможность доступа к геометрическим объектам с помощью JavaScript и настройки собственной
последовательности шагов трансформации. Реализован ряд топологических правил [5].
В настоящее время поддерживаются форматы OracleSpatial, PostGIS, MySQL и ESRI шейп-файлы
в режимах чтения и записи, а форматы Microsoft SQL Server 2008, Ingres и IBM DB2 могут быть
использованы с некоторыми ограничениями. GeoTettle предоставляет возможность создавать и
поддерживать сложные и крупные хранилища пространственных данных. В системе реализована
поддержка управления системами координат и их трансформация.
Kettle изначально предназначена для развертывания в кластере и среде web-сервисов. Это
обеспечивает возможность развертывания GeoKettle в виде сервиса в среде облачных вычислений,
что в свою очередь дает возможность выстраивания масштабируемых и распределенных решений,
обеспечивающих требуемые функции геопроцессинга больших объемов пространственных
данных, не требуя больших инвестиций в дорогостоящую инфраструктуру серверов, сетей и
программного обеспечения.
Spatial Data Integrator




ориентировочное количество поддерживаемых форматов (Extract/Load): ~10/4;
ориентировочное количество трансформеров (Transform): ~27;
возможность публиковать геосервисы: нет;
интеграция с платформами ГИС: нет.
SpatialDataIntegrator является пространственным модулем для TalendOpenStudio и предоставляет
пользователям инструменты SpatialETL. В состав TalendOpenStudio входят три вида компонентов:
extract, transform, load. Компоненты extract и load обеспечивают чтение и загрузку данных в
хранилища. Компоненты Transform служат для преобразования пространственных данных,
поступающих из входного потока, и направляют результат на выходной поток [6].
Пространственные компоненты SpatialDataIntegrator используют GeoTools (ГИС-инструментарий
OpenSource, представляющий из себя Java библиотеки) и JavaTopologySuite (API для реализации
функций работы с топологией) для чтения и записи различных форматов ГИС и манипуляций с
пространственными объектами.
Интересными особенностями этого решения являются поддержка стандартов метаданных (ISO
19115, ISO 19139, ESRI Arccatalog) и возможности их преобразований.
SpatialETL в архитектуре геопорталов
Один из основополагающих принципов инфраструктуры пространственных данных – принцип
распределенного ведения и централизованного предоставления пространственных данных. Для
реализации этого принципа используются системы SpatialETL для преобразования моделей
данных, интеграции различных источников пространственных данных, а также для тестирования
пространственных данных и последующей загрузки (обновлению). При этом сопутствующими
процессами являются формирование и обновление метаданных, автоматизация которых так же
обеспечивается SpatialETL.
Используя возможности промышленных систем SpatialETL, реализуется большое количество
видов геосервисов, доступ к которым для конечных потребителей должен обеспечивать геопортал.
Вариант архитектуры геопортала с использованием SpatialETL представлен на рисунке 4.
Рис.4. Использование SpatialETL в архитектуре геопортала
В заключение выделим основные преимущества, которые дает использование программного
обеспечения SpatialETL в архитектуре гепорталов:
 возможность неограниченно развивать функциональность геопорталов без использования
средств программирования;
 сокращение временных затрат на обработку пространственных данных;
 сокращение финансовых издержек, связанных с обработкой пространственных данных.
Список литературы:
1. А.В. Кошкарев. Геопортал как инструмент управления пространственными данными и
геосервисами. Пространственные данные. 2008. № 2.http://www.gisa.ru/45968.html
2. О.Л. Анисимова, Ю.Д. Зраенко, В.В. Комоско, И.Д. Пестов, С.В. Серебряков. Хранилище
пространственных объектов в составе регионального узла ИПД УрФО: модели хранилища.
Пространственные данные. 2010. № 2.
3. http://en.wikipedia.org/wiki/Spatial_ETL
4. ИСО 19113-2003.
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26018
5. GeoKettle. http://www.spatialytics.org/projects/geokettle/
6. Spatial Data Integrator. spatialdataintegrator.com
Тараканов Александр Евгеньевич
Ведущий специалист ЗАО «НЕОЛАНТ Запад»
tarakanov@neolant.ru
+7 (812) 332-20-46
Download