Oracle Spatial and Graph

Oracle Spatial and Graph, ранее Oracle Spatial (от латинского spatial — пространственный), образует бесплатный компонент Oracle Database. Часть этого пакета под названием Oracle Locator доступна в стандартном объёме поставки банка данных. Она не поддерживает такие операции, как объединения и буферы, пересечения, вычисления площади и длины. Исключена также поддержка более продвинутых функций, таких, как системы линейных функций, пространственный анализ, геокодирование и обработка данных растрового формата.

Пространственные функции в Oracle Spatial and Graph поддерживают пользователей в широком спектре приложений, например, при создании геоинформационных систем или привязанного к местности е-бизнеса.

Компоненты

Существуют три основных компоненты системы.

Обработка геопространственной информации

Речь идет об одномерных, двумерных, трехмерных или четырехмерных (включая изменения со временем) объектах, имеющих определенную форму. Например, это географические объекты, данные из САПР и т. п.

Обработка данных сетевой модели

Средство для моделирования и анализа физических и логических сетей, используемых в промышленности, таких как транспортные. Сюда же относится поиск быстрейшего или кратчайшего пути в графе (дорожной сети). Oracle Spatial может, поэтому, использоваться при разработке программного обеспечения для навигаторов и маршрутизаторов.

Обработка RDF семантических моделей

Эта функция поддерживает стандарт RDF, предложенный World Wide Web Консорциумом (W3C).

Представление данных

Два основных формата представления пространственных данных — это растровый и векторный. В растровом виде представлены, например результаты аэрофотосъемки или космические снимки.

Для векторных данных Oracle имеет нативный (собственный, встроенный) тип данных "SDO_GEOMETRY". Т. е., вы можете создать таблицу со следующей структурой:

 CREATE TABLE cities (
   city_name VARCHAR2(30), 
   population NUMBER(9), 
   shape SDO_GEOMETRY);

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

Оперирование данными

Oracle Spatial предоставляет множество встроенных процедур для выполнения операций над пространственными данными. Допустим, нам надо найти все города, лежащие не далее чем 250 км от Денвера. Для этого мы можем воспользоваться функцией SDO_WITHIN_DISTANCE(geom1, geom2, dist):

 select p.city_name from cities p where
    SDO_WITHIN_DISTANCE(p.shape,
                          (select shape from cities where city_name = 'Denver'),
                              'distance=250 unit=km'
                          ) = 'TRUE';

Группа процедур предназначена для проверки топологических отношений между пространственными объектами. Например:

 SDO_CONTAINS(geom1, geom2)	-  Объект 1 содержит объект 2 внутри себя.
 SDO_OVERLAPS(geom1, geom2)	-  Объекты 1 и 2 пересекаются (имеют общий участок).
 SDO_TOUCH(geom1, geom2)	-  Объекты 1 и 2 соприкасаются (граничат).
 SDO_EQUAL(geom1, geom2)	-  Объекты 1 и 2 равны (это один и тот же участок).

Литература

  • Albert Godfrind, Richard Pitts, Hans Viehmann, Ravikanth Kothuri. Pro Oracle Spatial for Oracle Database 12c. Apress (2015) ISBN 978-1-4302-6313-5
  • Simon Greener, Siva Ravada. Applying and Extending Oracle Spatial. Packt Publishing (2013) ISBN 184968636X
  • Euro Beinat, Albert Godfrind & Ravikanth V. Kothuri. Pro Oracle Spatial for Oracle Database 11g. Apress (2007) ISBN 1-59059-899-7
  • Euro Beinat, Albert Godfrind & Ravikanth V. Kothuri. Pro Oracle Spatial. Apress (2004) ISBN 1-59059-383-9

См. также

  • GDAL – Библиотека открытого доступа к данным Oracle Spatial

Ссылки

Oracle документация http://www.oracle.com/pls/db121/portal.portal_db?selected=7&frame= See:

  • Spatial and Graph Developer's Guide
  • Spatial and Graph GeoRaster Developer's Guide
  • Spatial and Graph Topology Data Model and Network Data Model Graph Developer's Guide
  • Spatial and Graph Java API Reference (Javadoc)
  • Spatial and Graph RDF Semantic Graph Developer's Guide

    Внешние ссылки

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.