Копирование и вставка данных между базами данных в ArcGIS

Доступно с лицензией Standard или Advanced.

Вы можете копировать данные из базы данных и вставлять их в другую базу данных или многопользовательскую базу геоданных через ArcGIS Pro.

При перемещении данных из одного типа базы данных в другой, типы данных, используемые для атрибутов в вашей таблице, могут изменяться. Например, если вы копируете таблицу Microsoft SQL Server с полем UniqueIdentifier, то при ее вставке в базу данных PostgreSQL это поле будет типа Varchar.

Помните, что ArcGIS не может вставлять типы данных или определения, которые она не поддерживает. Это означает, что таблица или класс пространственных объектов, вставленные в вашу целевую базу данных, будут содержать следующее:

  • Типы данных, поддерживаемые в ArcGIS

    Все столбцы, которые не совпадают с типом данных ArcGIS, не будут созданы в классе пространственных объектов целевой базы данных.

  • Один пространственный столбец

    Для классов пространственных объектов ArcGIS использует первый встретившийся пространственный столбец; второй столбец не будет создаваться в целевом классе пространственных объектов. Если вы хотите использовать второй пространственный столбец, то вам необходимо задать представление или слой запроса в таблице источника, которая содержит второй пространственный столбец. Если вы создаете представление, то вы можете скопировать его из исходной базы данных и вставить в целевую базу. Если вы задали слой запроса, то вы можете экспортировать данные из него в новый класс пространственных объектов целевой базы данных.

  • Один тип геометрии

    ArcGIS считывает тип геометрии (точки, линии, полигоны или мультиточки) первого объекта исходного класса. Только объекты, тип геометрии которых соответствует типу геометрии, заданному в первой строке, будут вставлены в класс пространственных объектов целевой базы данных. Если в вашем исходном классе пространственных объектов несколько типов геометрии, и вы собираетесь выбирать тип геометрии целевого класса объектов, создайте в исходном классе объектов слой запроса и задайте для него тип геометрии. Затем выполните экспорт данных из слоя запроса в класс объектов целевой базы данных. Класс пространственных объектов целевой базы данных будет содержать только записи типа геометрии, которые вы определили для слоя запроса.

  • Одна настройка координат

    ArcGIS считывает свойства координат (xy, xyz, xym, xyzm), хранящихся с первым объектом класса. У объектов класса, вставляемых в целевую базу данных, будут эти свойства координат. Например, если вы задали слой запроса, имеющий координаты x, y и z, но не имеющий координат m, то все записи, содержащие информацию о размере m в исходном классе пространственных объектов, не будут иметь ее и в целевом классе пространственных объектов. Аналогично, любая запись, которая имеет только координаты x,y в исходном классе пространственных объектов, будет иметь координаты x,y и z в целевом классе пространственных объектов (значение координаты z будет равно 0).

    Чтобы убедиться в том, что вся информация о координатах хранится в целевом классе объектов, создайте в исходном классе объектов слой запроса и задайте его пространственные свойства, чтобы включить m- и z-значения. Затем выполните экспорт данных из слоя запроса в класс объектов целевой базы данных. Все объекты созданного в целевой базе данных класса будут использовать настройки координат, заданные для слоя запроса.

  • Одна пространственная привязка

    Если ваш исходный класс пространственных объектов имеет пространственную привязку, определяемую ArcGIS, то аналогичная пространственная привязка используется для класса пространственных объектов в целевой базе данных. Если пространственная привязка не определена для класса пространственных объектов, то ArcGIS будет использовать пространственную привязку из первой строки таблицы. Записи, не совпадающие с данной пространственной привязкой, не будут созданы в классе пространственных объектов целевой базы данных. И наоборот, если пространственная привязка не может быть определена для класса пространственных объектов или первой строки (например, при использовании пользовательской пространственной привязка), то пространственная привязка, используемая в целевом классе пространственных объектов, зависит от вашей СУБД.

Приведенные ниже шаги объясняют процедуру перемещения таблицы, класса пространственных объектов или вида между базами данных или из базы геоданных в базу данных с использованием операций копирования и вставки:

  1. Подключитесь к исходной и целевой базам данных.
  2. Убедитесь, что вы подключаетесь к исходной базе данных как пользователь с правами доступа к данным в ней, и подключитесь к целевой базе данных как пользователь с правами, достаточными для создания таблиц.
  3. Если необходимо, подготовьте данные для перемещения.
    • Чтобы переместить класс пространственных объектов, содержащий записи с различной размерностью, типами геометрии или пространственными привязками, перетащите таблицу на документ карты и измените результирующий слой запроса, выбрав одну размерность, тип геометрии или пространственную привязку. Для перемещения данных в целевую базу данных выполните экспорт слоя запроса. (Для слоя запроса операции копирования и вставки неприменимы.)
    • Если класс пространственных объектов имеет несколько пространственных столбцов, создайте представление базы данных, которое включает только один из пространственных столбцов и выполните операции копирования и вставки представления.
  4. Щелкните правой кнопкой мыши на таблице, классе пространственных объектов или виде в исходной базе данных и выберите Копировать.
  5. Щелкните правой кнопкой мыши на целевой базе данных на панели Каталог и выберите Вставить.

    Владельцем данных в целевой базе данных является пользователь, имя которого использовалось для подключения к ней.

    Примечание:

    Для того чтобы вставить данные в базу данных PostgreSQL и SQL Server, пользователь, подключенный к целевой базе данных, должен иметь схему с именем, соответствующим имени пользователя базы данных.

Новая таблица или класс пространственных объектов создана в вашей целевой базе данных.