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

Инструмент геообработки Изменить тип хранения можно использовать, чтобы переносить существующие бинарные пространственные столбцы из одного типа хранения в другой. Это можно сделать, задав ключевое слово конфигурации, содержащее параметр GEOMETRY_STORAGE, заданный равным новому типу хранения, в который вы собираетесь выполнить преобразование. Вы также можете использовать инструмент геообработки Изменить тип хранения, чтобы изменить формат хранения атрибутов геометрии для параметрических объектов и патчей поверхности в базах геоданных в Microsoft SQL Server.

Важно создать ключевое слово конфигурации, содержащее правильный параметр и его значение. Создайте пользовательское ключевое слово специально для переноса данных. Убедитесь, что ключевое слово содержит параметр и значение, используемые для переноса данных, а также параметр UI_TEXT. Параметр UI_TEXT позволяет использовать ключевое слово в клиентах ArcGIS. Предоставьте это ключевое слово владельцам наборов данных, т.к. они должны будут применять инструмент геообработки Изменить тип хранения.

Ниже приведены поддерживаемые пути переноса для баз геоданных в SQL Server:

Параметр конфигурацииПеренос из/в

GEOMETRY_STORAGE

SDEBINARY в Geometry

SDEBINARY в Geography

OGCWKB в Geometry

OGCWKB в Geography

Атрибуты геометрии, хранящиеся в связанной системной таблице, и атрибуты геометрии, хранящиеся в столбце базовой таблицы

Подсказка:

Если переносимая таблица зарегистрирована для участия в традиционной версии, при ее переносе в другой тип хранения также обновляются соответствующие столбцы в Таблице Adds. Если для класса объектов разрешено архивирование, столбцы архивной таблицы также обновляются.

Когда нужен перенос данных

Далее приведены причины для переноса ваших данных:

  • Для получения доступа к пространственным или растровым данным с использованием 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.

Перенесите атрибуты геометрии для повышения производительности

Если у вас есть классы пространственных объектов, которые участвуют в наборах данных участков или хранят истинные кривые, объекты мультипатч или pointID, и они были созданы с использованием ArcGIS 10.4 или 1.3 ArcGIS Pro или более ранней версии, рассмотрите возможность переноса хранения для этих атрибутов геометрии. Поддерживаемые пути переноса данных для существующих классов объектов следующие:

  • Тип хранения - 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, и запустите инструмент Изменить тип хранения. Как тип пространственных данных, так и атрибуты геометрии будут переведены в новый формат хранения.

Требования при переносе данных

Перед преобразованием данных необходимо выполнение следующих условий:

  • Вы должны создать резервную копию данных перед тем, как их переносить.
  • Таблица или класс объектов должны быть зарегистрированы в базе геоданных.
  • Ключевое слово конфигурации, которое вы указали при переносе типа данных, должно содержать корректное значение для параметра GEOMETRY_STORAGE. Например, если требуется перенести столбец геометрии sdebinary в Geometry, но указано ключевое слово с параметром GEOMETRY_STORAGE, заданным как OGCWKB, перенос данных завершится ошибкой, так как такой путь переноса не поддерживается.
  • Вы должны войти в систему, как владелец таблицы, перенос которой осуществляется.
  • Для переноса класса объекта в тип SQL Server Geography, данные должны быть в одной из систем координат, поддерживаемых типом Geography.
    Подсказка:

    Список поддерживаемых систем координат, которые можно использовать с типом SQL Server Geography, можно найти в системном представлении SQL Server, sys.spatial_reference_systems.