Перенос данных из одного типа хранения в другой

Инструмент геообработки Изменить тип хранения можно использовать, чтобы переносить существующие двоичные пространственные столбцы из одного типа хранения в другой. Это можно сделать, задав ключевое слово конфигурации, содержащее параметр 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.