|
Ю.А.Мытров, компания РДТЕХ
А.И. Ильин, компания ПРАЙМ ГРУП
Системы управления пространственными данными - ESRI ArcSDE и Oracle Spatial
Источник: компания РДТЕХ,
Часть 1 http://www.rdtex.ru/win/root/article_spatial_5.html
Опубликовано в журнале "Пространственные данные", № 4, 2005
Часть 2 http://www.rdtex.ru/win/root/article_spatial_6.html
Опубликовано в журнале "Пространственные данные", № 1, 2006
При написании данной статьи авторами ставилась цель рассказать читателю о системах управления пространственными данными от ведущих производителей ESRI и Oracle, сравнить их возможности и определить сферы деятельности организаций и предприятий-пользователей пространственных данных, в которых использование ESRI ArcSDE или Oracle Spatial будет наиболее предпочтительным.
Системы управления пространственными данными
В настоящее время основными тенденциями развития корпоративных информационных систем являются:
рост объёма используемых в деятельности предприятий пространственных данных
развертывание централизованных информационных систем с многопользовательским доступом к данным
интеграция пространственных и информационных (атрибутивных) данных в функционирующие, внедряемые и проектируемые корпоративные информационные системы.
Для решения задач, вызванных перечисленными тенденциями развития, встает вопрос о создании в рамках КИС системы управления пространственными данными.
Наиболее распространёнными системами управления пространственными данными на сегодняшний день являются программные продукты фирм ESRI - ArсSDE и Oracle Corp. - Oracle Spatial. На первый взгляд может показаться, что это абсолютно разные продукты: ArcSDE - средство доступа к данным, Oracle Spatial - компонент СУБД, но, тем не менее, это продукты одной ниши, которые решают схожие задачи - организацию хранения, доступа и обработки пространственных данных - то есть управление пространственными данными. ArcSDE появился как интегрирующие решение для инструментальных ГИС от компании ESRI, когда в процессе развития ГИС встала задача централизованного хранения пространственной информации. Oracle же изначально использовался как СУБД, обеспечивающая хранение информационных (атрибутивных) данных, тогда как пространственные данные хранились в инструментальной ГИС. Так как пространственные данные по своей сути не отличаются от данных других типов, Oracle, совместно с крупнейшими производителями ГИС, направил усилия на разработку открытого стандарта хранения пространственных данных и разработал модуль Oracle Spatial, обеспечивающий управление пространственными данными внутри СУБД.
ESRI ArcSDE
Платформа ArcGIS 9.1, представленная на рынке компанией ESRI, является оптимальным решением для построения корпоративной ГИС. Использование объектных архитектур .NET, COM, Java, SOAP, XML при построении линейки программных продуктов ArcGIS обеспечивает гибкость реализации прикладных решений, их направленность на удовлетворение нужд и потребностей конкретного предприятия, широкие возможности интеграции с существующими КИС, в том числе за счет поддержки общепринятых стандартов представления данных. Масштабируемость программных продуктов ESRI делает возможной реализацию клиентских мест по работе с данными на различных уровнях организации работы - на стационарных и мобильных компьютерах, на серверах, рабочих станциях и удаленных терминалах.
Решение проблемы организации корпоративного хранилища пространственных данных обеспечивается за счет разработанной компанией ESRI модели данных, определяющей структуру и правила хранения данных различных типов ? растровых и векторных, атрибутивных и графических, сетевых, триангуляционных и GRID-моделей, а также данных многих других типов. Помимо структуры и правил хранения подобная модель позволяет задавать поведение объектов, правила, их взаимосвязи с другими классами объектов и отдельными объектами модели. Такая организация хранилища данных в корпоративной БД называется базой геоданных и является основой построения корпоративной ГИС.
Использование базы геоданных позволяет эффективно хранить данные различных типов, использовать их в различных системах и проектах, обеспечивать как многопользовательский, так и автономный доступ (в том числе и редактирование) пользователей к данным, экспортировать данные во множество обменных форматов, доступных для других приложений, в том числе в форматы, заданные пользователем КГИС.
Одной из основных функций ГИС является анализ используемой в ней информации ? так называемая геообработка данных. Программные продукты семейства ArcGIS содержат более 450 реализованных инструментов проведения анализа пространственных и атрибутивных данных, работы с растрами, управления данными и конвертации данных, геокодирования, сегментации и картографии. Для реализации специализированных пользовательских механизмов работы с данными в ArcGIS предусмотрена поддержка скриптов на языках Perl, VBScript, JavaScript, Python, а также библиотеки COM объектов для разработки новых инструментов работы с данными, механизмов их работы и новых типов данных.
Механизмы работы с данными, реализованные в ArcGIS, а также специализированные модули расширений, позволяют выпускать высококачественную картографическую продукцию со всеми необходимыми элементами зарамочного оформления, собственных или уже готовых стандартных условных знаков, штриховок, градуированных символов, картограмм и диаграмм.
Использование серверного программного обеспечения от ESRI - ArcSDE позволяет осуществлять хранение пространственных данных в базах данных под управлением различных СУБД. Хранение осуществляется с использованием модели базы геоданных, однако ArcSDE предусматривает и организацию базы геоданных с использованием внутренних моделей СУБД, таких как Oracle Spatial. ArcSDE поддерживает работу с различными версиями данных и длительными сеансами редактирования.
Oracle Spatial
На сегодняшний день корпорация Oracle предлагает самую передовую платформу БД для управления пространственными данными. По данным компании IDC, доля Oracle на рынке пространственных СУБД составляет 80-90% (IDC, Spatial Information Management: Competitive Analysis, 2002; Sonnen, Morris and Vesset, декабрь 2002 г.).
Впервые поддержка пространственных данных в СУБД Oracle появилась в 1994 г. в версии 7.1.6 и активно продолжает развиваться в настоящее время, отражая неизменное стремление Oracle к созданию исчерпывающей платформы для развертывания геоинформационных систем корпоративного уровня.На сегодняшний день последней версией является Oracle Spatial 10g Release 2.
Oracle Spatial 10g поддерживает все типы и модели пространственных данных, в том числе векторные и растровые данные, топологические и сетевые модели, геокодирование, что обеспечивает удовлетворение потребностей таких сложных ГИС-приложений, как системы управления землепользованием или коммунальными службами, системы обороны/обеспечения безопасности.
Архитектурно Oracle Spatial - это модуль в СУБД Oracle, обеспечивающий хранение и обработку пространственных данных. Oracle Spatial является частью Oracle и может работать на всех платформах, на которых работает Oracle.
Oracle Spatial является открытым стандартизированным решением, соответствующим стандарту OpenGIS. Это означает, что с Oracle Spatial могут работать ГИС-приложения различных поставщиков, в том числе ESRI, MapInfo, Autodesk, Intergraph - участников консорциума по разработке стандарта OpenGIS. Кроме того, это даёт возможность разрабатывать собственные приложения, использующие общие данные в Oracle Spatial.
В качестве внешнего интерфейса к Oracle Spatial могут выступать ODBC, ADO, OCI API, JDBC и другие интерфейсы доступа к СУБД Oracle. Доступ к данным и функциональности Oracle Spatial осуществляется через стандартизованный язык SQL.
Ключевой особенностью Oracle Spatial является интеграция в единой СУБД пространственных и информационных данных. Это даёт возможность запрашивать данные сразу по обеим характеристикам, использовать и обрабатывать оба вида данных, как единое целое, что существенно расширяет возможности корпоративных информационных систем.
Кроме того, Oracle Spatial, как часть СУБД Oracle, предоставляет многопользовательский доступ, высокий уровень безопасности, масштабируемость, производительность и отказоустойчивость для управления многотерабайтными наборами важнейших пространственных данных и обслуживания сообществ, включающих от десятков до десятков тысяч пользователей.
Заключение Части 1
Таким образом, исходя даже из столь краткого описания продуктов от ESRI, Inc. и Oracle, можно заметить, что назначение продуктов и предоставляемая функциональность обоих решений в части управления пространственными данными достаточно близка. В следующем выпуске мы попробуем детально сравнить эти продукты и выявить задачи в рамках деятельности организаций и предприятий, для решения которых будет предпочтительно использование того или иного продукта.
*****
Часть 2
Критерии сравнения
Прежде чем сравнивать продукты нужно определить критерии, по которым будет производиться сравнение. Для начала попробуем определить классы задач, для решения которых может применяться ArcSDE или Spatial.
Основой геоинформационной системы являются пространственные данные. Но пространственные данные не могут существовать сами по себе, с ними обязательно должны быть связаны информационные (или, в терминологии геоинформатики, атрибутивные) данные. Исходя из этого можно выделить следующие классы задач:
- Задачи, где основным видом бизнес-данных являются пространственные данные. Данный класс задач можно разделить на два подкласса:
- Задачи, требующие минимальной обработки пространственных данных. Это, как правило, классические геоинформационные приложения, хранящие большой объём пространственных данных и минимальный набор информационных (название, адрес и т.п.). Основная задача данных систем - это публикация данных, что с точки зрения системы хранения является поиском по информационному условию (названию) и/или поиску по пространственному условию "в окне".
- Задачи, требующие не только хранения, но и обработки пространственных данных. Примером данного класса задач может быть системы автоматизации проектирования или моделирования. Основные операции относятся к обработке пространственных данных: объединение объектов, проверка топологии, вращение объектов и т.п.
- Задачи, где основным видом бизнес-данных являются информационные данные. Это так называемые информационно-географические системы. Примером может быть служба сервиса абонента, то есть запрос ближайшего объекта, отвечающего заданным информационным атрибутам, или аналитические системы, использующие параметры пространственных объектов для расчетов - например, расчёт стоимости междугородних переговоров, учитывающий расстояние между объектами. (При этом все манипуляции с пространственной частью осуществляются в другой системе, и, например, загружаются в систему).
- Задачи, где бизнес-данными являются как пространственные, так и информационные данные. Фактически являются объединением задачи 1b и 2.
Далее рассмотрим возможности продуктов относительно перечисленных выше классов задач.
Сравнение программных средств
Хранение данных
Oracle Spatial позволяет осуществлять хранение и обработку как векторных, так и растровых пространственных данных. Кроме того, Spatil является компонентом СУБД Oracle, а, следовательно, СУБД обеспечивает хранение и обработку информационных данных, и, что важно, их неотъемлемость от пространственных.
ArcSDE реализует хранение данных в РСУБД, основываясь на модели базы геоданных. Использование данной модели предполагает ориентацию работы с данными на использование пространственных (в первую очередь векторных) данных. Представление пространственных данных в ArcSDE основано на стандартных типах данных в РСУБД.
Работа с пространственными данными
Для работы с пространственными данными обе системы используют как встроенные процедуры и функции (свыше 300 для Oracle Spatial и более 450 у ArcSDE), так и интерфейсы реализации алгоритмов работы на языках программирования, таких как Java, C/C++ и т.п., что позволяет разрабатывать собственные модули под специфическую предметную область.
Обе системы поддерживают линейно-ссылочные (LRS) координаты, работу с трех- и четырехмерными объектами и работу с сетевыми моделями данных.
Модель данных ArcSDE обеспечивает динамический контроль полноты данных и проверки их соответствия заданным правилам (например, замкнутость границ полигонов, неразрывность производственных сетей, отслеживание недопустимых пересечений объектов и т.п.). В Oracle Spatial проверка корректности топологии данных реализована использованием функций проверки топологии на уровне объекта и на уровне слоя.
Поиск данных
При использовании Oracle Spatial в качестве системы управления пространственными данными, используется язык SQL. В дополнение к SQL-запросам, осуществляющим поиск данных по пространственным критериям, ArcSDE предоставляет механизмы API-функций, осуществляющих поиск данных. Тем не менее, основными критериями пространственного поиска остаются:
поиск данных в "окне";
поиск данных по топологическому условию (пересечение с заданным объектом или объектами);
поиск данных в заданном удалении;
поиск данных по пространственным свойствам объекта (длина, площадь, периметр);
поиск ближайшего окружения (поиск ближайших N объектов, отвечающих неким информационным условиям);
поиск данных по информационным условиям;
поиск данных любой комбинации из перечисленных выше условий.
Для повышения производительности поиска пространственных данных Oracle Spatial и ArcSDE предоставляют возможности индексирования пространственных данных. Механизмы индексирования Oracle Spatial представляют также возможности секционирования пространственного индекса и построения индексов, основанных на функции, что позволяет существенно повысить производительность для задач со смешанным типом запросов (одновременно по пространственным и информационным характеристикам).
Заключение
Таким образом, исходя из анализа на основе данных критериев, можно сделать вывод о том, что Oracle Spatial хорошо подходит для так называемых информационно-географических задач, где осуществляется хранение большого объёма пространственных данных, основными операциями в которых является поиск и анализ данных - как по пространственному, так и по информационному признаку. Отдельно следует отметить, что в подобного рода системах, как правило, используется CУБД Oracle, и следовательно, в ней уже есть Oracle Locator (версия Spatial, ограниченная по функциональной нагрузке), функциональности которого достаточно для построения такого класса систем.
ArcSDE, в свою очередь, незаменим для задач, в которых первичными являются многопользовательская обработка и анализ пространственные данных, а также использование объектного подхода к построению сложных иерархических структур объектов реального мира, выраженных в их графическом представлении.
Для систем, где сочетается обработка пространственных данных и анализ информации как по пространственной, так и по информационной составляющим, хорошим решением может являться использование ArcSDE для обработки пространственных данных, которые хранятся в Oracle Spatial. S |