| Главная страница > События и новости > Публикации РДТЕХ в прессе
GeoRaster - хранение растровых данных в Oracle Spatial 10g
(Журнал "Пространственные данные", № 2, 2005 год)
Мытров Юрий Александрович, разработчик группы базовых технологий, отдел разработки, компания РДТЕХ
Предыдущие версии Oracle Spatial - модуля СУБД Oracle для хранения пространственных данных - позволяли работать только c векторными пространственными данными и использовали для их хранения тип данных SDO_GEOMETRY. В новой версии Oracle 10g появился компонент GeoRaster, предназначенный для хранения растровых пространственных данных и работы с ними.
GeoRaster дает возможность работать с растровыми данными из любой области, которая использует изображения (радиосенсорные, фотографические или тематические отображения), и может применяться в различных сферах, включая архивы изображений и фотоархивы, инженерную геологию, телекоммуникации, транспорт, городское планирование, различные медицинские приложения.
Модель данных GeoRaster.
В модели GeoRaster растровые данные - это N-мерная матрица ячеек, две размерности которой представляют собой строку и столбец, остальные (их число переменно) - спектральные (band) размерности и/или дополнительные временные размерности.
Обычно растровые данные - это RGB-изображения. В этом случае они имеют три размерности: строку, столбец и одну цветовую или спектральную (band) размерность. Каждая ячейка RGB-изображения адресуется строкой, столбцом и спектром - красным, зеленым или синим. Значение ячейки определяет значение интенсивности цвета.
Матрица может отображать различные представления данных: не только RGB-изображение, но и гистограммы некоторых значений, матрицы для отображения информации в градациях серого, цветовые карты, где хранится цветовая информация (значения цветовых составляющих в RGB-стандарте). Это дополнительные размерности матрицы ячеек.
Логически растровые данные имеют расслоенную структуру. Обычно логический слой (например, красный, зеленый или синий) - это один спектр (band), однако слой может состоять из нескольких спектров. Кроме слоев, с растровыми данными должна быть связана метаинформация, описывающая данные и слои, из которых состоят данные, а также позволяющая осуществлять координатную привязку.
Хранение GeoRaster-данных.
Для хранения растровых данных в GeoRaster используется объектный тип данных SDO_GEORASTER, который содержит следующие поля (атрибуты):
RasterType - тип растрового объекта. Определяет размерность объекта. В текущей версии поддерживается только 2D и число слоев;
SpatialExtent - векторный пространственный объект (тип SDO_GEOMETRY). Определяет границу растрового изображения;
Raster Data Table и RasterID - имя таблицы, в которой хранятся растровые изображения и значение ключа. Определяет, какие изображения относятся к данному объекту;
Metadata - метаданные в формате XML, содержащие информацию о растровом объекте, привязке к системе координат и о слоях изображения.
SDO_GEORASTER можно рассматривать как заголовок растровых изображений, которые хранятся в таблице растровых данных (Raster Data Table), как это изображено на рисунке.
Схема хранения растровых пространственных данных.
Для масштабируемого хранения объектов GeoRaster и оптимальной обработки растровых данных многомерная матрица ячеек разделена на меньшие части - блоки. Каждый блок запоминается в таблице как тип SDO_RASTER, содержащий BLOB (binary large object) и геометрический объект (тип SDO_GEOMETRY), который используется для определения точного размера блока. Каждая строка таблицы растровых данных хранит только один блок. Растровое изображение блока данных (BLOB) всегда прямоугольное, оно может не вписываться точно в размер блока, определенный минимально охватывающим прямоугольником (SDO_GEOMETRY).
Таблица, содержащая один или более столбцов с объектами типа SDO_GEORASTER, называется таблицей GeoRaster (GeoRaster Table). Таблица, содержащая один или более столбцов с объектами типа SDO_RASTER, называется таблицей растровых данных (Raster Data Table - RDT).
Для хранения гистограмм и однослойных картинок (для которых не требуются пирамиды разрешений, а также разбиение на блоки) вместо типа данных SDO_RASTER в таблице растровых данных могут использоваться типы SDO_GEOR_HISTOGRAM (для хранения гистограмм), SDO_GEOR_COLORMAP (для хранения цветных картинок в стандарте RGB), SDO_GEOR_GRAYSCALE (для хранения картинок в оттенках серого).
Для ускорения доступа к растровым данным могут быть использованы пространственные индексы. Они создаются на основе поля SpatialExtent, которое имеет тип SDO_GEOMETRY и определяет границу растрового объекта SDO_GEOASTER, а также на основе минимально охватывающего многоугольника для блока данных SDO_RASTER.
Средства управления GeoRaster.
GeoRaster включает в себя клиентские средства управления:
GeoRaster Loader - позволяет "загружать" растровые данные в GeoRaster-объекты. Его можно использовать как альтернативу процедуре SDO_GEOR.importFrom(). Однако в системах, которые не принадлежат семейству Windows, это средство не поддерживает BMP- и GIF-форматы. "Загруженные" GeoRaster-объекты имеют тип BIP. Операция "загрузки" с помощью этого средства не может быть отменена. Оно не поддерживает растровые данные, которые имеют глубину ячейки 2 бита или исходные многоуровневые растровые данные типов BIL или BSQ;
GeoRaster Viewer - отображает GeoRaster-объекты и метаданные в Java-приложениях;
GeoRaster Exporter - экспортирует GeoRaster-объекты в файлы изображений. Его можно использовать как альтернативу процедуре SDO_GEOR.exportTo(). Данное средство не поддерживает GIF-формат (процедура SDO_GEOR.exportTo() также не поддерживает GIF- и JPEG-форматы).
GeoRaster позволяет "загружать" и экспортировать следующие форматы: TIF/GeoTIFF (с информацией о привязке к координатам), JPEG, BMP, GIF и PNG. Информация о привязке к координатам (georeferencing) может быть "загружена" из или экспортирована в файлы ESRI, Inc., но при "загрузке" изображения GeoTIFF игнорируется.
Обратная связь
За более подробной информацией Вы можете обратиться
в Рекламно-Представительский Отдел РДТЕХ
Телефоны в Москве: (495) 995-0-999 (многоканальный)
|