Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

2006 г.

База данных Oracle 10g:
Построение приложений GIS,
использующих сетевую модель данных Oracle Spatial
(Oracle Database 10g:
Building GIS Applications Using the Oracle Spatial Network Data Model)

“Oracle Magazine/Русское издание”

Источник: Официальный технический документ Oracle, Май 2005 г., http://www.oracle.com/technology/products/spatial/pdf/
10gr2_collateral/spatial_twp_buildgisapps_10gr2_0512.pdf

Оглавление
АННОТАЦИЯ
Моделирование, управление и анализ сетей являются стандартными задачами для геоинформационных систем (GIS). Анализ сети включает маршрутизацию (вычисление пути) в транспортных сетях, отслеживание доступности в коммунальных сетях и распределение ресурсов в задачах принятия решений и приложениях для управления отношениями с заказчиками (CRM). В этой статье мы представляем сетевую модель данных Oracle Spatial – опцию базы данных Oracle10g, которая позволяет пользователям моделировать и анализировать сети. Эта опция упрощает моделирование, анализ и управление сетями, так чтобы пользователи могли сосредоточиться на прикладной логике. Сетевая модель данных предлагает открытую, типовую модель данных, обладающую многими общеупотребительными возможностями анализа GIS. Кроме того, она полностью поддерживает объекты Oracle Spatial типа SDO_GEOMETRY. В этой статье обсуждаются приложения GIS, базирующиеся на сетевой модели данных Oracle Spatial.
ВВЕДЕНИЕ
Есть два общеупотребительных типа GIS-приложений: приложения, имеющие дело с пространственной близостью, и приложения, имеющие дело как с пространственной близостью, так и со связностью. Для многих приложений являются достаточными запросы о пространственной близости, в которых, главным образом, рассматриваются метрики типа Евклидовых или геодезических расстояний. Однако, имеются случаи, когда должны быть приняты во внимание вопросы связности, например, при отыскании наикратчайшего расстояния между двумя пунктами дорожной сети. Многие GIS-приложения являются сетями, которые требуют моделирования и анализа отношений между объектами (связности). На рисунке 1 показана дорожная сеть Нью-Йорка.

1.gif

Рисунок 1. Дорожная сеть Нью-Йорка
(60384 узла, 151962 соединения. Источник: NavStreets от NavTech)

Начиная с выпуска 8.1.5, Oracle Spatial поддерживает пространственные объекты. Для управления базирующейся на пространственной близости информацией имеется полный набор индексов, операторов и функций. Сетевая модель данных расширяет Oracle Spatial, чтобы можно было иметь дело со связностью. В настоящее время есть много производителей GIS, предлагающих сетевые решения; однако, их решения могут иметь следующие проблемы:

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

Чтобы разрешить эти проблемы, сетевая модель данных Oracle Spatial делает следующее:

  • Обеспечивает открытую и постоянную сетевую модель данных. Сетевая модель данных хранится в базе данных как реляционные таблицы и управляется через SQL.
  • Упрощает сетевую организацию и анализ данных

    Предлагаются API PL/SQL и Java для сетевой организации и анализа данных.

  • Разделяет информацию и прикладная информация в модели данных

    Информация о связности может быть отделена от прикладной информации. Управление и прикладной информацией, и информацией о связности происходит в базе данных. Однако, для анализа сети требуется только информация о связности.

  • Позволяет расширять модель данных и возможности анализа

    API Java предлагает представления сетевых элементов как Java-интерфейсов. Пользователи могут определять свои собственные элементы сети, расширяя эти интерфейсы. В результате пользователи могут реализовать свои собственные (определяемые пользователем) представления и аналитические функции.

  • Интегрирует с технологией Oracle Spatial для управления пространственной информацией

Сетевая модель данных поддерживает все типы данных Oracle Spatial.

Эта статья организована следующим образом: в ней представлена схема базы данных для сетевой модели данных, ее API и архитектура; показано, как использовать модель данных; представлено несколько сетевых GIS-приложений, построенных поверх модели данных. Кроме того, в ней проводится обсуждение, как использовать для увеличения возможностей анализа сетевые ограничения, и как применяется редактор сетевой модели данных, используемый для редактирования и визуализации сети.

СЕТЕВАЯ МОДЕЛЬ ДАННЫХ ORACLE SPATIAL
Сетевая модель данных состоит из двух частей: схема сети и сетевые API. Схема сети – это постоянное хранилище данных, используемое для хранения сетевой информации. Сетевые API содержат PL/SQL-пакет для управления данными в базе данных и API Java для управления данными и их анализа на стороне клиента (через драйверы JDBC Java).
Схема сетевой модели данных
Сеть содержит сетевые метаданные, таблицу узлов и таблицу соединений. Кроме того, если это желательно, вместе с сетью может быть сохранена информация о пути (таблица пути и таблица соединений пути). На рисунке 2 показано схематическое представление сети в базе данных. Отметьте, что в ней сохранена только информация о связности. Дополнительная прикладная информация может быть сохранена в сетевых таблицах, или в других таблицах, и ссылки на нее реализуются с помощью внешних ключей.

Рисунок 2. Сетевая модель данных Oracle (схематическое представление)

Сетевые метаданные
Сетевые метаданные обеспечивают общую информацию о сетях. В нее включены следующие детали о сети:
  • Направленная или ненаправленная
  • Логическая или пространственная
  • Иерархическая или одноуровневая (простая)
  • Информация об узлах, соединениях и путях
  • Геометрическая информация – для пространственных сетей
Сетевые таблицы
Сеть Oracle содержит две таблицы: таблицу узлов и таблицу соединений. В случае необходимости может быть добавлена таблица путей. На рисунке 2 показана схема сетевой модели данных, включающей эти таблицы. Схема предоставляет информацию, необходимую для управления сетью и ее анализа. К этим таблицам могут быть добавлены прикладные атрибуты, или на них можно сослаться из других прикладных таблиц (посредством внешних ключей). Следует отметить, что сетевая модель данных также способна обрабатывать и геометрическую информацию. Таким образом, сетевая модель данных может представлять и логические, и пространственные сетевые приложения. Добавление к логической сети геометрических данных позволит отображать и логические сети.
API сетевой модели данных Oracle Spatial
Сетевая модель данных предлагает API для PL/SQL и Java для управления сетью, как на стороне клиента, так и в базе данных. API Java может быть также использован для анализа сети. Трехъярусная архитектура приложения для сетевой модели данных показана на рисунке 3.

Рисунок 3. Архитектура сетевой модели данных

Возможности анализа сетевой модели данных
В сетевой модели данных поддерживаются следующие аналитические исследования:
  • Самый короткий путь: кратчайший путь от узла A к узлу B
  • Анализ доступности: действительно ли узел A доступен из узла B?
  • Связующее дерево (сети) с минимальной стоимостью: каким будет дерево с минимальной стоимостью, соединяющее все узлы сети?
  • Анализ предельной стоимости: какие узлы находятся (при заданной стоимости) в пределах достижимости для заданного узла?
  • Ближайшие соседи: какие узлы входят в число N самых близких соседей данного узла?
  • K кратчайших путей: какие K путей от узла A к узлу B являются кратчайшими?
  • Анализ связных компонент: пометьте связные компоненты идентификаторами (ID).
  • Операции с графами: объединение, пересечение и разность графов.
  • Задача коммивояжера: определите маршрут с минимальной стоимостью, в результате которого будут посещены все города из заданного набора?
  • Анализ максимальных потоков для единственного источника и единственного стока: каков максимальный допустимый поток, который может течь от исходного узла до узла стока? (Oracle Spatial 10g Release 2)
Моделирование сетевых приложений
Сетевая модель данных использует типовой подход к решению сетевых проблем, отделяя информацию о связности от специфической для приложения информации. На рисунке 4 показано, как может быть смоделировано и проанализировано типичное сетевое приложение. Сначала информация о связности сети (стоимости подключения и соединения узлов) извлекается и отделяется от специфической для приложения информации. Если это необходимо, специфические для приложения атрибуты сохраняются: вместе с информацией о связности, или отдельно. Как только извлечена информация о связности, для типовой модели проводится сетевой анализ. Можно также учесть и дополнительные сетевые ограничения. Затем конечный результат отображается на связанные с приложением атрибуты и отображается. При таком подходе можно избежать использования настраиваемых сетевых решений и упростить управление данными для информации о связности и специфической для приложения информации.

Рисунок 4. Моделирование и анализ сети с использованием сетевой модели данных

Сетевые ограничения
Сетевая модель данных вводит концепцию сетевых ограничений, в которой предлагает механизм ведения сетевого анализа. Например, вы можете пожелать вычислить кратчайший путь, который проходит через сетевые соединения только определенного типа. Используя сетевые ограничения, приложения могут легко включить в механизм анализа сетевой модели данных специфическую для приложения логику, не зная, как этот механизм работает. Также в анализ могут быть включены другие ограничения, типа глубины пути или его стоимости. Сетевое ограничение – это Java-интерфейс, который должен быть реализован приложением.
Java-представления сетевых элементов
Представления сети на Java (сеть, узлы, соединения и пути) определяются, как Java-интерфейсы и поэтому могут быть расширены. Эти интерфейсы определяют для сети и ее элементов необходимое поведение. В дополнение к этим интерфейсам, приложения могут использовать определяемые пользователем функции анализа, позволяя расширить возможности моделирования и анализа сетевой модели данных.
Требования к программному обеспечению
Поставка пространственной сетевой модели данных началась с базы данных Oracle10g. Предварительно в базу данных загружается PL/SQL-пакет, требующий, чтобы в наличии имелись файлы Java.jar; API Java поддерживают JDK (или JRE) версии 1.3 или более поздних версий. Кроме того, включен редактор сети, как инструмент для обслуживания сетевой модели данных. Для получения дополнительной информации, см. руководство Oracle Spatial Topology and Network Data Models.
ИСПОЛЬЗОВАНИЕ СЕТЕВОЙ МОДЕЛИ ДАННЫХ
В этом разделе объясняется использование сетевой модели данных. Есть три основных шага.
1. Создайте сеть
  1. Создайте и заполните сетевые таблицы и добавьте в базу данных метаданные.
  2. Создайте для сети Java-объект, используя API Java, и сохраните его в базе данных.
2. Визуализируйте или отредактируйте сеть
  1. Загрузите сеть из базы данных или XML-представления.
  2. Визуализируйте или редактируйте Java-объект сети, используя редактор сетевой модели данных. Если необходимо, сохраните сеть в базе данных.
3. Проведите анализ сети
  1. Загрузите сеть в объект сети Java.
  2. Проведите анализ сети. Если это необходимо, сохраните полученный в результате путь.
РЕДАКТОР СЕТЕВОЙ МОДЕЛИ ДАННЫХ
Редактор сетевой модели данных – это автономное Java-приложение, которое помогает создавать, редактировать и визуализировать сети. Редактор поддерживает операции просмотра, типа панорамирования, изменения масштабов изображения (крупные планы) и автоматической подгонки размеров изображения. Кроме того, он предлагает функции для навигации между элементами сети. В редакторе поддерживаются все аналитические функции. Используя редактор, пользователи могут на стороне клиента буквально на пустом месте создать сеть и сохранить ее в базе данных. Конфигурацию редактора можно перестраивать в том, что касается стилей, цветов и размеров элементов. На рисунке 5 показан редактор сетевой модели данных.

5.jpg

Рисунок 5. Редактор сетевой модели данных

GIS-ПРИЛОЖЕНИЯ, ИСПОЛЬЗУЮЩИЕ СЕТЕВУЮ МОДЕЛЬ ДАННЫХ
Анализ сети GIS может включить мониторинг сети, маршрутизацию сети и распределение в сети.
Приложения мониторинга сети
Приложения мониторинга сети имеют дело с запросами типа “Действительно ли узел A доступен из узла B?” или "Какие узлы являются доступными или могут быть достигнуты из данного узла?” Такие запросы часто встречаются в водопроводных или электрических сетях. При другом типе анализа мониторинга требуется узнать, сколько связных компонент имеется в сети. На рисунке 6 показано некоторое количество таких запросов.

Рисунок 6. Анализ доступности и достижимости

Приложения маршрутизации сети
Анализ маршрутизации, или вычисление пути (вероятно, наиболее изученная тема в сетевых приложениях), подразделяется на следующие категории:
  • Самый короткий путь или самый быстрый путь (проблема транзитивного замыкания) (см. рисунок 7).
  • K самых коротких путей: найдите K самых коротких путей от начального узла до узла-адресата.
  • Задача коммивояжера (см. рисунок 7): найдите маршрут с минимальной стоимостью, который проходит через набор заданных местоположений.

7.jpg

Рисунок 7. Самый короткий путь и задача коммивояжера

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

Рисунок 8. Анализ самых близких соседей, анализ по стоимости и нахождение связующего дерева с минимальной стоимостью

Использование в анализе сетевых ограничений
Ограничения являются условиями, которые должны быть удовлетворены во время анализа. Сетевая модель данных поддерживает сетевые ограничения, чтобы приложения могли во время анализа накладывать на сеть специфические для приложения условия. Интерфейс Java NetworkConstraint может быть реализован пользователем, и успешно передан в любую аналитическую функцию сетевой модели данных. Рисунок 9 показывает аналитическую информацию, которая доступна пользователям для реализации их сетевых ограничений.

9.gif

Рисунок 9. Аналитическая информация для сетевых ограничений

Ниже приводятся некоторые примеры сетевых ограничений:

  • Глубина (количество соединений), стоимость и ограничения MBR

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

  • Временно инактивированные узлы или соединения

    Иногда узлы или соединения должны быть временно выключены перед началом анализа, например, строящиеся или реконструируемые сегменты дороги для дорожной сети, или водяные краны (узлы), закрытые в водопроводной сети на ремонт. Вы можете сделать узел или соединение неактивными, устанавливая их состояние на false (ложь). Являющиеся неактивными сетевые элементы не будут рассматриваться во время анализа. Отметьте, что изменение состояния узлов и соединений не затрагивает постоянную модель данных.

  • Маршрутизация с определенными типами соединений и узлов

    Иногда сетевой анализ должен проводиться только для узлов и соединений определенных типов или с определенными требованиями.

  • Ограничения поворота

    Ограничения поворота – это ограничения, в которых задействованы два соединения. Они часто встречаются в маршрутизации для транспортных сетей. В следующем примере запрещенный поворот представлен начальным соединением и конечным соединением (см. рисунок 10). Для пересечений с ограничениями поворота, типа “никакого поворота “U”” или “никакого левого поворота”, если поиск сталкивается с соединением начала запрещенного поворота, поиск не продолжается до конечного соединения этого запрещенного поворота. Такой тип ограничения может быть легко смоделирован, если использовать NetworkConstraint, так как информация о текущем соединении и следующем соединении сделана доступной для пользователей.

Рисунок 10. Моделирование поворотов для дорожных сетей

НОВЫЕ ОПЦИИ В СЕТЕВОЙ МОДЕЛИ ДАННЫХ ORACLE SPATIAL 10G
Начиная с Oracle Spatial 10g Release 2, сетевая модель данных предлагает следующие опции:
Моделирование сети: направление соединений
Направленность соединения может быть дополнительно определена на уровне соединения. В отличие от направленности сети, которая определяет направления соединений, направленная сеть может иметь соединения, которые являются либо направленными, либо двунаправленными. К таблице соединений может быть добавлен столбец BIDIRECTED, который используется для того, чтобы указать, является ли направленное соединение двунаправленным. Это усовершенствование в моделировании приводит к сокращению требований к памяти для направленных сетей с негомогенными направлениями соединений (однонаправленные и двунаправленные).
Анализ сети: анализ максимальных потоков
Функция анализа максимальных потоков предлагается для сети с единственным источником потока и единственной точкой стока. Для каждого соединения в потоковой сети существует связанная с ним пропускная способность. Цель этой функции состоит в том, чтобы найти максимальный допустимый поток, который может течь от исходного узла до узла стока. Такой тип анализа обычно приходится видеть при планировании сетей коммуникаций и логистики.
Интерфейсный пакет PL/SQL
До появления Oracle Spatial 10g Release 2 для редактирования и анализа сети мог использоваться только API Java для сетевой модели данных. Теперь появился и интерфейсный пакет PL/SQL, который помогает пользователям редактировать и анализировать сети в среде PL/SQL. Предлагаемый интерфейсный пакет обеспечивает почти те же функциональные возможности, что и API Java. Это достигается с помощью хранимых в базе данных процедур Java и виртуальной машины Java в Oracle.
ЗАКЛЮЧЕНИЕ
Сетевая модель данных Oracle Spatial, доступная начиная с Oracle Spatial 10g, является родовой средой моделирования и анализа сетей (графов) для сетевых приложений. Были обсуждены приложения GIS для маршрутизации, мониторинга и распределения. Сетевая модель данных предлагает открытый, удобный в работе, масштабируемый, эффективный и управляемый подход к разработке сетевых приложений GIS. В настоящее время мы работаем с нашими заказчиками и партнерами над расширением возможностей моделирования и анализа сетевой модели данных.
ССЫЛКИ
  • Oracle Spatial Topology and Network Data Models, Oracle Corporation.
    (Топология Oracle Spatial и сетевые модели данных)
  • Oracle Spatial User’s Guide and Reference, Oracle Corporation.
    (Руководство пользователя и справочник по Oracle Spatial)
  • Oracle Linear Referencing System: A Technical White Paper, Oracle Corporation.
    (Система отсчета Oracle Linear)
  • Oracle Spatial Network Data Model: An Oracle Technical White Paper, Oracle Corporation (Сетевая модель данных Oracle Spatial)

Building GIS Applications Using the Oracle Spatial Network Data Model: An Oracle Technical White Paper
May 2005
Author: Jack Chenghua Wang
Contributors: Vishal Rao, Nicole Alexander
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Copyright © 2005, Oracle. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle, JD Edwards, and PeopleSoft are registered trademarks of
Oracle Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...