Инструмент геообработки Изменить тип хранения можно использовать, чтобы переносить двоичные, пространственные и растровые столбцы из одного типа хранения в другой. Это можно сделать, задав ключевое слово конфигурации, содержащее параметр ATTRBUTE_BINARY, GEOMETRY_STORAGE или RASTER_STORAGE для нового типа хранения, в который вы собираетесь выполнить преобразование.
Важно создать ключевое слово конфигурации, содержащее правильный параметр и его значение. Если указать ключевое слово с неправильной информацией или не указать часть данных, сведения считываются из ключевого слова DEFAULTS. Esri рекомендует создать пользовательское ключевое слово специально для переноса данных. Убедитесь, что ключевое слово содержит параметр и значение, используемые для переноса данных, а также параметр UI_TEXT. Параметр UI_TEXT позволяет использовать ключевое слово в клиентах ArcGIS.
Далее представлены поддерживаемые каждой системой управления базами данных (СУБД) пути переноса данных:
СУБД | Параметр конфигурации | Перенос из/в |
---|---|---|
Oracle | ATTRIBUTE_BINARY | Long raw в BLOB |
GEOMETRY_STORAGE | Long raw (SDEBINARY) в BLOB (SDELOB) | |
Long raw (SDEBINARY) в ST_Geometry | ||
BLOB (SDELOB) в ST_Geometry | ||
SDO_Geometry в ST_Geometry | ||
RASTER_STORAGE | Long raw в BLOB | |
Long raw в ST_Raster* | ||
BLOB в ST_Raster* | ||
PostgreSQL | RASTER_STORAGE | Bytea в ST_Raster* |
SQL Server | RASTER_STORAGE | Image в ST_Raster* |
GEOMETRY_STORAGE | SDEBINARY в Geometry | |
SDEBINARY в Geography | ||
OGCWKB в Geometry | ||
OGCWKB в Geography | ||
Атрибуты геометрии хранятся в таблице, привязанной к атрибутам геометрии, хранящимся в столбце базовой таблицы |
*ST_Raster должен быть установлен в базу геоданных. Инструкции см. в разделах Установка ST_Raster в Oracle, Установка ST_Raster в PostgreSQL или Установка ST_Raster в SQL Server.
Зачем нужен перенос данных?
Перенос растровых данных позволяет вам работать с ними с помощью structured query language (SQL).
Доступ к данным с помощью SQL
Доступ к информации в базе геоданных через SQL позволяет внешним приложениям (разработанным не в среде ArcObjects) работать с табличными данными, управляемыми базой геоданных. Если этим приложениям требуется доступ к пространственным или растровым данным в базе геоданных, вы должны сохранить их в типах данных, предоставляющих доступ через SQL. Например, использование типа хранения ST_Geometry позволяет получить доступ к векторным данным с помощью SQL, что не так просто при хранении данных в полях типа BLOB или long raw.
Требования при переносе данных
Перед преобразованием данных необходимо выполнение следующих условий:
- Вы должны создать резервную копию данных перед тем, как их переносить.
- При преобразовании типа данных пространственного столбца данные должны храниться в пространственной привязке высокой точности. Если данные хранятся в базовой точности, сначала их нужно перевести в высокую точность, перед изменением типа хранения. Для перехода к высокой точности используйте инструмент геообработки Обновить пространственную привязку.
- Таблица или класс объектов должны быть зарегистрированы в базе геоданных.
- Ключевое слово конфигурации, указываемое при переносе типа данных, должно содержать правильное значение параметра GEOMETRY_STORAGE, ATTRIBUTE_BINARY или RASTER_STORAGE. Например, если требуется перенести столбец геометрии long raw в ST_Geometry, но указано ключевое слово с параметром GEOMETRY_STORAGE, заданным как SDO_GEOMETRY, перенос данных завершится ошибкой, так как такой путь переноса не поддерживается.
- Вы должны войти в систему как владелец таблицы, содержащей переносимый столбец.
- Для переноса класса объекта в тип SQL Server Geography, данные должны быть в одной из систем координат, поддерживаемых типом Geography.