ArcGIS и тип растра Oracle Spatial
Тип данных растра Oracle Spatial SDO_GEORASTER реализуется при помощи расширяемой системы объектно-реляционного типа. Она была представлена в версии Oracle 10g. Тип SDO_GEORASTER хранит информацию о растре, включая его тип пиксела, идентификатор пространственной привязки и значения пиксела.
Тип SDO_GEORASTER поддерживает все типы пикселей Esri: от 1 бита до 64 бит, со знаком и без знака, а также с плавающей точкой. ArcGIS поддерживает тип данных Oracle Spatial's SDO_ GEORASTER как опцию для хранения растровых данных.

Программные приложения отвечают за правильную вставку, обновление и вызов содержимого типа SDO_GEORASTER, используя объектно-реляционный интерфейс языка структурированных запросов (SQL) Oracle. Приложения также отвечают за то, чтобы содержимое каждого растра соответствовало правилам, установленным в документации по Oracle.
После создания таблицы, содержащей столбец SDO_GEORASTER Oracle, ArcGIS заполняет необходимую схему метаданных Oracle. За выполнение этой задачи отвечают приложения, такие как ArcGIS, поскольку это не реализуется автоматически средствами Oracle. Если вы зарегистрируете таблицу, содержащую столбец SDO_GEORASTER Oracle, который был создан посредством стороннего продукта, то этот сторонний продукт будет нести ответственность за правильное заполнение схемы метаданных Oracle для столбца SDO_GEORASTER.
Хранение растров как SDO_GEORASTER
Настройки для хранения многопользовательской базы геоданных устанавливаются в таблице DBTUNE; хранением растровых данных управляет параметр RASTER_STORAGE. Для того, чтобы создать таблицу в многопользовательской базе геоданных, в которой содержится столбец SDO_GEORASTER, а следовательно, и растр как SDO_GEORASTER, вы должны применить ключевое слово конфигурации, содержащее параметр RASTER_STORAGE, установленный на SDO_GEORASTER, когда вы создали набор данных или каталог этого растра..
Когда вы впервые создаете базу геоданных в Oracle, установка по умолчанию для RASTER_STORAGE в таблице DBTUNE - BLOB, а GEOMETRY_STORAGE по умолчанию - ST_GEOMETRY. Ниже приводится неполный список параметров ключевого слова DEFAULTS:
##DEFAULTS GEOMETRY_STORAGE "ST_GEOMETRY" ATTRIBUTE_BINARY "BLOB" RASTER_STORAGE "BLOB"
Если вы планируете хранить большинство ваших растровых данных в формате SDO_GEORASTER, то вам надо изменить параметр ключевого слова с DEFAULTS на SDO_GEORASTER.
В следующем примере ключевое слово DEFAULTS изменено таким образом, чтобы был создан вектор данных с использованием хранения SDELOB и растровые данные с использованием хранения SDO_GEORASTER.
##DEFAULTS GEOMETRY_STORAGE "SDELOB" ATTRIBUTE_BINARY "BLOB" RASTER_STORAGE "SDO_GEORASTER"
Вследствие такого изменения будут созданы каталоги растров, растровые наборы данных и наборы данных мозаики со столбцами SDO_GEORASTER по умолчанию.
Хотя может быть только одна схема растров по умолчанию (одна настройка для RASTER_STORAGE с ключевым словом конфигурации DEFAULTS), вы можете использовать существующее ключевое слово конфигурации SDO_GEOMETRY, чтобы указать SDO_GEORASTER для RASTER_STORAGE, когда будете создавать каталог растров или набор растровых данных. Это можно делать только если вам надо хранить меньшую часть растровых данных в формате SDO_GEORASTER.
Прежде, чем может быть использовано ключевое слово SDO_GEORASTER, вам надо отредактировать информацию табличного пространства для параметров RDT_STORAGE и RDT_INDEX_COMPOSITE. По умолчанию информация табличного пространства не содержится в ключевом слове SDO_GEORASTER. Можно изменять значения параметров RDT_STORAGE и RDT_INDEX_COMPOSITE, добавляя определение табличного пространства, как показано в следующем примере:
RDT_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE rdt_tblsp" RDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4 TABLESPACE rdt_tblsp STORAGE ( INITIAL 409600) NOLOGGING"
Чтобы изменить эту информацию для данного ключевого слова в таблице DBTUNE, примените команду администрирования sdedbtune. Команда sdedbtune устанавливается с помощью сервера приложений ArcSDE, а инструкции по использованию этой команды можно найти в Справочнике по командам администрирования ArcSDE (ArcSDE Administration Command Reference), который также поставляется вместе с сервером приложений ArcSDE при его установке.
Кроме того, вы можете создать новое ключевое слово конфигурации для хранения наборов растровых данных как SDO_GEORASTER; например:
##GEORASTER RASTER_STORAGE "SDO_GEORASTER" SDO_COMMIT_INTERVAL 1000 UI_TEXT "Use to create raster catalogs and datasets with GEORASTER storage" END
Обратите внимание на то, что предыдущие примеры не имели полного набора параметров хранения, с ними связанных. Это происходит потому, что любые параметры, не указанные в ключевом слове, берутся из ключевого слова DEFAULTS. Это значит, что не имеет смысла включать параметры, имеющие одинаковые значения с теми, которые указаны в ключевом слове DEFAULTS. В вышеприведенных примерах такие параметры, как BND_STORAGE и AUX_STORAGE, не содержатся; они "читаются" из ключевого слова DEFAULTS. Для примера нового ключевого слова конфигурации (GEORASTER) это означает, что параметр GEOMETRY_STORAGE также "прочитывается" из DEFAULTS. Если параметр GEOMETRY_STORAGE не будет включен в ваше собственное ключевое слово конфигурации SDO_GEORASTER, то необходимо будет убедиться, что параметр GEOMETRY_STORAGE в DEFAULTS не установлен на SDO_GEOMETRY или ST_GEOMETRY.
Дополнительные сведения о ключевых словах конфигурации для геометрии см. в разделе Параметры конфигурации DBTUNE в Oracle. Для получения общей информации о таблице DBTUNE или о ключевых словах конфигурации см. разделы Что представляет собой таблица DBTUNE? и Что представляют собой ключевые слова конфигурации DBTUNE и их параметры?.
Добавление сторонней таблицы
Вы можете применять команду администрирования ArcSDE sderaster –o add для того, чтобы зарегистрировать таблицу, содержащую столбец SDO_GEORASTER, который был создан сторонним приложением. Например:
sderaster –o add –l landforms,raster –u gis –p gis
Добавляемая таблица должна соответствовать следующим требованиям:
- Она должна принадлежать пользователю, который добавляет эту таблицу.
- Она должна иметь один единственный столбец SDO_GEORASTER.
- Она должна иметь действительный триггер DML (data manipulation language - язык манипулирования данными), созданный сохраненными процедурами sdo_geor_utl.createDMLTrigger.
- Она должна иметь действительную таблицу данных SDO_GEORASTER.
- Она не должна содержать ни SDO_GEOMETRY, ни столбцов ST_GEOMETRY.
Команда sderaster также выполняется с помощью сервера приложений ArcSDE или автономной установки инструмента командной строки, доступного на портале поддержки клиентов Esri (Esri Customer Care Portal).
Известные ограничения применения SDO_GEORASTERT с базой геоданных
Ниже представлен список ограничений, который необходимо иметь ввиду при хранении растровых данных в многопользовательской базе геоданных как SDO_GEORASTER.
- Oracle не поддерживает фрагментированного обновления SDO_GEORASTER. Поэтому невозможно перенести мозаику файлов изображений в существующий набор растровых данных, который был сохранен как SDO_GEORASTER.
- Пирамиды не могут выстраиваться во время вставки данных. После вставки данных изображения в SDO_GEORASTER необходимо выполнить отдельное действие для построения пирамиды. По этой причине всегда необходимо снимать флажок в окошке Построить пирамиду (Build pyramid) в диалоговом окне любого из инструментов геообработки ArcGIS, с помощью которых создаются наборы растровых данных или каталоги растров.
- Данные изображения не могут быть сохранены в сжатом формате в SDO_GEORASTER, если вы используете Oracle 10g версию 1 (R1). Oracle добавил сжатие растра в тип SDO_GEORASTER в Oracle 10g версия 2 (R2). В Oracle 10g R1 когда вы используете инструменты геообработки ArcGIS для создания растровых данных или каталогов растров в диалоговом окне любого из этих инструментов тип компрессии должен всегда быть установлен на NONE.
- Вы не сможете использовать хранение SDO_GEORASTER в базе данных Oracle 11g R2 из-за программной ошибки Oracle 12537431. Если вы хотите использовать хранение SDO_GEORASTER, используйте Oracle 11g R1.
- Oracle реализует SDO_GEORASTER как архитектуру, интегрированную в канал. По этой причине добавлять или удалять собственные каналы набора растровых данных невозможно.
- ArcGIS не поддерживает более одного столбца растра в таблице. Таблицы с несколькими столбцами SDO_GEORASTER могут быть доступны посредством видов, содержащих только один столбец SDO_GEORASTER. Для создания таких видов таблицы примените операцию sdetable create_view. Более подробно о применении команды sdetable см. в Руководстве по командам администрирования ArcSDE (ArcSDE Administration Command Reference).
- При использовании хранения SDO_GEORASTER в базе геоданных поддержка для nodata bitmask отсутствует. Поэтому построение пирамидных слоев на неквадратичных регулярных данных невозможно.