Доступно с лицензией Standard или Advanced.
ST_Raster – это тип данных, который позволяет хранить растровые данные непосредственно в таблице базы геоданных. Если вы хотите получать доступ к растровым данным базы геоданных с помощью SQL, следует использовать тип ST_Raster.
Используйте инструмент геообработки Создать растровый тип или скрипт Python, который вызывает инструмент, для установки типа ST_Raster в базе геоданных на SQL Server.
После установки этого типа, необходимо изменить параметры конфигурации базы геоданных, чтобы новые растры использовали тип данных ST_Raster.
Обновление файла extproc
Агент внешней процедуры Oracle (extproc) должен иметь доступ к библиотеке ST_Raster (libst_raster_ora).
Если ArcMap или ArcGIS for Server устанавливаются на сервер Oracle, вы можете обновить файл extproc.ora чтобы указать расположение libst_raster_ora в <ArcGIS client installation directory>\DatabaseSupport\Oracle\<Operating System>. Убедитесь, что вы задали верную библиотеку, соответствующую операционной системе вашего сервера Oracle. После обновления exptroc.ora, перейдите к установке ST_Raster.
Если на сервере Oracle не установлен клиент ArcGIS, вы должны сначала скопировать библиотеку libst_raster_ora на сервер, обновить файл extproc.ora и создать библиотеку.
Если ArcMap или ArcGIS Server не установлен на сервере Oracle, выполните следующие шаги:
- Создайте директорию на сервере Oracle, к которому у экземпляра Oracle имеется доступ.
- Загрузите библиотеки с My Esri или скопируйте библиотеку libst_raster_ora с <ArcMap or ArcGIS Server installation directory>\DatabaseSupport\Oracle\<Operating System>.
- В созданную директорию поместите библиотеку libst_raster_ora, соответствующую операционной системе вашего сервера Oracle.
- Обновите файл extproc.ora, чтобы включить в него путь к библиотеке libst_raster_ora.
- С помощью SQL подключитесь к базе данных Oracle как пользователь sde и создайте библиотеку Oracle libst_raster_ora.
CREATE LIBRARY LIBST_RASTER AS '<absolute path to libst_raster_ora library>' /
Теперь сервер Oracle настроен, вы можете устанавливать ST_Raster.
Установка ST_Raster
Вы можете запустить инструмент геообработки Создать растровый тип из ArcGIS for Desktop (Standard или Advanced) либо запустить скрипт Python из клиента ArcGIS for Server или ArcGIS for Desktop (Standard или Advanced), чтобы установить тип ST_Raster.
Запуск инструмента Создать растровый тип
Если у вас имеется доступ к ArcGIS for Desktop (Standard или Advanced), для установки типа ST_Raster вы можете запустить инструмент Создать растровый тип.
- Запустите ArcCatalog, ArcMap или ArcGIS Pro.
- Подключитесь к базе геоданных как администратор базы геоданных.
- Откройте инструмент Создать растровый тип.
Этот инструмент находится в группе инструментов Администрирование базы геоданных набора Управление данными.
- Укажите подключение к базе данных, созданное в шаге 2, в поле Входное подключение к базе данных.
- Щелкните OK, чтобы запустить инструмент.
Использование Python
Вы можете запустить скрипт Python, чтобы создать файл подключения к базе данных(.sde) от имени администратора и установить тип ST_Raster в базе геоданных.
- Откройте окно командной строки, импортируйте модуль ArcPy и используйте функцию CreateDatabaseConnection_management, чтобы создать файл подключения к базе данных (.sde) от имени администратора. Если вы подключаетесь с использованием аутентификации средствами базы данных, сохраните в файле подключения имя пользователя и пароль.
В данном примере файл подключения (adminconnect.sde) создан в папке C:\temp. Выполнено подключение к экземпляру teamdata/orcl Oracle от имени пользователя sde.
import arcpy arcpy.CreateDatabaseConnection_management (r'c:/temp',"adminconnect.sde", "ORACLE", "teamdata/orcl", "DATABASE_AUTH", "sde", "Cky00r", "SAVE_USERNAME")
- Установка типа ST_Raster.
Здесь файл adminconnect.sde используется функцией CreateRasterType_management для подключения к базе геоданных и установки типа ST_Raster:
arcpy.CreateRasterType_management (r'c:/temp/adminconnect.sde')
Подтверждение установки
Используя клиент SQL, подключитесь в качестве любого пользователя с доступом к базе данных Oracle, где установлен ST_Raster, и проверьте установку типа ST_Raster, выполнив следующее выражение SELECT:
SELECT sde.st_raster_util.describe()
FROM dual;
Если в базе геоданных еще нет растровых данных или списка столбцов растров, то успешным ответом на этот запрос будет сообщение NДанные не найдены.
Если приемник Oracle не запущен или библиотека libst_raster_ora недоступна, то выводится сообщение об ошибке. Библиотека может быть недоступной, если ST_Raster не был инсталлирован, файл extproc.ora не был обновлен с прописанным путем к библиотеке libst_raster_ora, или библиотека libst_raster_ora была скопирована в неправильную директорию.
В этом примере утилита describe запускается для перечисления существующих ST_Raster и бинарных столбцов растров в базе данных. В этом случае представлена новая база геоданных, в которой ещё нет столбцов растров. Если сообщений об ошибке нет, то инсталляция прошла успешно.
SELECT sde.st_raster_util.describe()
FROM dual;
SDE.ST_RASTER_UTIL.DESCRIBE()
No data found.
В этом примере также запущена утилита describe. Однако здесь в параметре ENV файла extproc.ora не был прописан путь к библиотеке libst_raster_ora. Устраните эту проблему и запустите запрос снова, чтобы убедиться, что все верно.
SELECT sde.st_raster_util.describe()
FROM dual;
ERROR:
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "SDE.ST_RASTER_UTIL", line 190
ORA-06512: at "SDE_ST_RASTER_UTIL", line 377
Теперь, когда вы убедились, что тип ST_Raster установлен, измените настройки ключевого слова конфигурации.
Изменение конфигурации базы геоданных
После установки ST_Raster, необходимо изменить конфигурацию базы геоданных, чтобы сделать ST_Raster доступным для пользователей при создании наборов растровых данных и каталогов растров. Вы можете либо подключиться из ArcGIS for Desktop (Standard или Advanced) и запустить инструмент геообработки, либо использовать скрипт Python из ArcGIS for Server или из клиента ArcGIS for Desktop (Standard или Advanced).
Запуск инструментов геообработки
Если у вас есть доступ к ArcGIS for Desktop вы можете использовать инструмент Экспортировать ключевое слово конфигурации базы геоданных для экспорта текущих параметров конфигурации базы геоданных в текстовый файл, задания в нем для параметра RASTER_STORAGE значения ST_Raster и импорта измененного файла с помощью инструмента Импортировать ключевое слово конфигурации базы геоданных.
- Откройте инструмент Экспорт ключевого слова конфигурации базы геоданных в ArcGIS for Desktop.
- Используйте созданное для установки ST_Raster подключение к базе данных в качестве Входного подключения к базе данных.
- Укажите имя и местоположение создаваемого текстового файла.
- Откройте текстовый файл в редакторе и установите для RASTER_STORAGE значение ST_Raster.
- Если вы хотите, чтобы все наборы растровых данных и каталоги растров использовали тип ST_Raster, без указания ключевого слова, измените параметр RASTER_STORAGE ключевого слова DEFAULTS.
- Если только некоторые наборы растровых данных и каталоги растров должны использовать тип ST_Raster, создайте пользовательское ключевое слово и задайте параметру RASTER_STORAGE этого ключевого слова значение ST_Raster.
- Сохраните и закройте текстовый файл.
- Импортируйте отредактированный текстовый файл в базу геоданных с помощью инструмента Импортировать ключевое слово конфигурации базы геоданных.
Использование Python
Вы используете функцию ArcPy ExportGeodatabsaeConfigurationKeyword_management для экспорта текущих параметров конфигурации базы геоданных в текстовый файл, его редактирования и сохранения, затем используете функцию ImportGeodatabaseConfigurationKeyword_management для импорта изменений в базу геоданных.
Укажите созданное для установки ST_Raster подключение к базе данных для параметра input_database при запуске функций ExportGeodatabsaeConfigurationKeyword_management и ImportGeodatabaseConfigurationKeyword_management.
- Экспортируйте текущую конфигурацию баз геоданных.
В этом примере файл gdbconfig экспортирован в папку C:\temp.
arcpy.ExportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
- Откройте текстовый файл в редакторе и установите для RASTER_STORAGE значение ST_Raster.
- Если вы хотите, чтобы все наборы растровых данных и каталоги растров использовали тип ST_Raster, без указания ключевого слова, измените параметр RASTER_STORAGE ключевого слова DEFAULTS.
- Если только некоторые наборы растровых данных и каталоги растров должны использовать тип ST_Raster, создайте пользовательское ключевое слово и задайте параметру RASTER_STORAGE этого ключевого слова значение ST_Raster.
- Сохраните и закройте текстовый файл.
- Импортируйте измененный файл.
arcpy.ImportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
Теперь при создании данных вы сможете использовать новые параметры конфигурации.