Oracle Spatial and Graph, ранее Oracle Spatial (от латинского spatial — пространственный), образует бесплатный компонент Oracle Database. Часть этого пакета под названием Oracle Locator доступна в стандартном объёме поставки банка данных. Она не поддерживает такие операции, как объединения и буферы, пересечения, вычисления площади и длины. Исключена также поддержка более продвинутых функций, таких, как системы линейных функций, пространственный анализ, геокодирование и обработка данных растрового формата.
Пространственные функции в Oracle Spatial and Graph поддерживают пользователей в широком спектре приложений, например, при создании геоинформационных систем или привязанного к местности е-бизнеса.
Компоненты
правитьСуществуют три основных компоненты системы.
Обработка геопространственной информации
правитьРечь идет об одномерных, двумерных, трехмерных или четырехмерных (включая изменения со временем) объектах, имеющих определенную форму. Например, это географические объекты, данные из САПР и т. п.
Обработка данных сетевой модели
правитьСредство для моделирования и анализа физических и логических сетей, используемых в промышленности, таких как транспортные. Сюда же относится поиск быстрейшего или кратчайшего пути в графе (дорожной сети). Oracle Spatial может, поэтому, использоваться при разработке программного обеспечения для навигаторов и маршрутизаторов.
Эта функция поддерживает стандарт 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
Внешние ссылки
править- http://www.oracle.com/technetwork/database-options/spatialandgraph/overview/index.html – Oracle Corporation's official website
- http://fdo.osgeo.org/fdooracle/index.html – Open Source FDO (Feature Data Object) interface to Oracle Spatial data