Инструмент геообработки Изменить тип хранения можно использовать, чтобы переносить существующие двоичные пространственные столбцы из одного типа хранения в другой. Это можно сделать, задав ключевое слово конфигурации, содержащее параметр GEOMETRY_STORAGE, заданный равным новому типу хранения, в который вы собираетесь выполнить преобразование. Вы также можете использовать инструмент геообработки Изменить условия хранения, чтобы изменить формат хранения атрибутов геометрии для параметрических объектов и патчей поверхности в базах геоданных в Microsoft SQL Server.
Важно создать ключевое слово конфигурации, содержащее правильный параметр и его значение. Если указать ключевое слово с неправильной информацией или не указать часть данных, сведения считываются из ключевого слова DEFAULTS. Esri рекомендует создать пользовательское ключевое слово специально для перехода. Убедитесь, что ключевое слово содержит параметр и значение, используемые для переноса данных, а также параметр UI_TEXT. Параметр UI_TEXT позволяет использовать ключевое слово в клиентах ArcGIS. Предоставьте это ключевое слово владельцам наборов данных, т.к. они должны будут применять инструмент Изменить условия хранения.
Ниже приведены поддерживаемые пути переноса для баз геоданных в SQL Server:
Параметр конфигурации | Перенос из/в |
---|---|
GEOMETRY_STORAGE | SDEBINARY в Geometry |
SDEBINARY в Geography | |
OGCWKB в Geometry | |
OGCWKB в Geography | |
Атрибуты геометрии, хранящиеся в связанной системной таблице, и атрибуты геометрии, хранящиеся в столбце базовой таблицы |
Подсказка:
Если переносимая таблица зарегистрирована для участия в традиционном управлении версиями, при ее переносе в другой тип хранилища также обновляются соответствующие столбцы в таблице добавлений. Если для класса объектов разрешено архивирование, столбцы архивной таблицы также обновляются.
Зачем нужен перенос данных?
Далее приведены причины для переноса ваших данных:
- Если вы хотите получить доступ к пространственным или растровым данным с использованием Structured Query Language (SQL).
- Для переноса из типа данных, который не будет поддерживаться в будущем, в поддерживаемый тип
- Перемещение атрибутивной информации геометрии из боковой таблицы в SQL Server в столбец базовой таблицы для повышения производительности в наборах данных участков и регистрации класса пространственных объектов для управления версиями ветвей
Доступ к данным с помощью SQL
Доступ к информации в базе геоданных через SQL позволяет внешним приложениям (разработанным не в среде ArcObjects) работать с табличными данными, управляемыми базой геоданных. Если этим приложениям требуется доступ к пространственным или растровым данным в базе геоданных, вы должны сохранить их в типах данных, предоставляющих доступ через SQL. Например, использование типа хранения ST_Geometry позволяет получить доступ к векторным данным с помощью SQL, что не так просто при хранении данных в полях типа BLOB или long raw.
Перенос из типов данных, которые не будут поддерживаться в будущих версиях
Начиная с версии ArcGIS 10.1 и далее, классы объектов, созданные в базах геоданных в SQL Server, по умолчанию используют тип Microsoft Geometry. Для перемещения существующих классов объектов в тип хранения Geometry используйте инструмент геообработки Изменить условия хранения или скрипт Python.
Перенесите атрибуты геометрии для повышения производительности
Начиная с версии ArcGIS Pro 1.4, хранение атрибутов геометрии для параметрических объектов (таких как истинные кривые) и для патчей поверхности (таких как pointID и мультипатчей) было улучшено: теперь они хранятся непосредственно в бизнес-таблице. В ранних версиях эти атрибутивные данные хранились в связанной таблице, которая была присоединена к бизнес-таблице. Это соединение могло приводить к низкой производительности, что можно было часто заметить при работе с наборами данных участков.
Если ваши существующие классы объектов участвуют в наборе данных участков или хранят истинные кривые, объекты мультипатч или pointID, и вы считаете производительность отображения низкой, рассмотрите возможность переноса хранения для этих атрибутов геометрии. Поддерживаемые пути переноса данных для существующих классов объектов следующие:
- Типом хранения Microsoft Geometry и вы хотите продолжить использовать тип Geometry.
Чтобы перенести атрибуты геометрии из связанной таблицы в новый столбец в бизнес-таблице класса объектов, укажите ключевое слово конфигурации, которое для параметра GEOMETRY_STORAGE имеет значение Geometry, и запустите инструмент Изменить условия хранения.
- Типом хранения Microsoft Geography и вы хотите продолжить использовать тип Geography.
Чтобы перенести атрибуты геометрии из связанной таблицы в новый столбец в бизнес-таблице класса объектов, укажите ключевое слово конфигурации, которое для параметра GEOMETRY_STORAGE имеет значение Geography, и запустите инструмент Изменить условия хранения.
- Типом хранения является SDEBINARY, и вы хотите изменить тип хранения Microsoft Geometry. В этом случае укажите ключевое слово конфигурации, которое для параметра GEOMETRY_STORAGE имеет значение Geometry, и запустите инструмент Изменить условия хранения. При этом как тип пространственных данных, так и атрибуты геометрии будут перенесены в новый формат хранения.
В этом случае укажите ключевое слово конфигурации, которое для параметра GEOMETRY_STORAGE имеет значение Geography, и запустите инструмент Изменить условия хранения. Атрибуты геометрии будут переведены в новый формат хранения.
- Типом хранения является SDEBINARY и вы хотите изменить тип хранения на Geography.
В этом случае укажите ключевое слово конфигурации, которое для параметра GEOMETRY_STORAGE имеет значение Geography, и запустите инструмент Изменить условия хранения. Как тип пространственных данных, так и атрибуты геометрии будут переведены в новый формат хранения.
Примечание:
После изменения формата данных, только ArcGIS 10.3.1 и более поздние клиенты смогут получить доступ к этим данным.
Требования при переносе данных
Перед преобразованием данных необходимо выполнение следующих условий:
- Вы должны создать резервную копию данных перед тем, как их переносить.
- Таблица или класс объектов должны быть зарегистрированы в базе геоданных.
- Ключевое слово конфигурации, которое вы указали при переносе типа данных, должно содержать корректное значение для параметра GEOMETRY_STORAGE. Например, если требуется перенести столбец геометрии sdebinary в Geometry, но указано ключевое слово с параметром GEOMETRY_STORAGE, заданным как OGCWKB, перенос данных завершится ошибкой, так как такой путь переноса не поддерживается.
- Вы должны войти в систему, как владелец таблицы, перенос которой осуществляется.
- Для переноса класса объекта в тип SQL Server Geography, данные должны быть в одной из систем координат, поддерживаемых типом Geography.
Подсказка:
Список поддерживаемых систем координат, которые можно использовать с типом SQL Server Geography, можно найти в системном представлении SQL Server, sys.spatial_reference_systems.