Teradata и ArcGIS

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

Пространственные данные хранятся в Teradata с помощью типа Teradata ST_Geometry. ST_Geometry является частью хранилища данных Teradata, устанавливаемого по умолчанию.

Чтобы подключиться из ArcGIS к базе данных Teradata, установите клиент Teradata GSS, библиотеку ICU и драйвер ODBC на компьютере с установленной клиентской частью ArcGIS. Подробнее см. раздел Установка соединения с Teradata

См. Требования к устройствам хранения данных Teradata для ArcGIS для ознакомления со списком поддерживаемых версий устройств хранения данных Teradata и клиентских библиотек.

Работа с данными

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

Для работы с определяющими запросами в слое потребуется создать файлы определений в ArcMap. Щелкните последовательно Файл (File) > Добавить данные (Add Data) > Добавить слой запроса (Add Query Layer), чтобы открыть диалоговое окно Новый слой запроса (New Query Layer), затем установите подключение к базе данных и введите выражение SQL для определения поднабора данных.

ВниманиеВнимание:

Не перетаскивайте данные непосредственно из подключения к базе данных в окне Каталог (Catalog) в ArcMap на карту, если поднабор не определен. Большие объемы данных, которые, как правило, хранятся в подобных хранилищах, будут прорисовываться на карте чрезвычайно долго.

Если вы хотите работать с представлениями баз данных, можно воспользоваться инструментом геообработки Создать представление базы данных (Create Database View) или SQL, чтобы определить поднабор данных для анализа.

Руководство по использованию данных из Teradata в ArcGIS

Ниже приведен перечень доступных руководств пользователя по использованию Teradata в ArcGIS.

  • Имена пространственных столбцов в таблицах должны содержать shape или иметь псевдоним, содержащий shape.

    Базовое хранение для типа Teradata ST_Geometry это CLOB; поэтому, имя или псевдоним столбца (shape) – единственный способ для ArcGIS определить, что в нем содержатся пространственные данные.

  • Для создания и обработки пространственного индексов столбце Teradata ST_Geometry следует использовать мозаичные функции Teradata.

    Мозаичный пространственный индекс предназначен для использования с заранее заданной областью интереса. Поэтому, мозаичный индекс не может использоваться пространственными операциями ArcGIS, такими как масштабирование и панорамирование, основанными на динамичных входных данных. Однако мозаичный индекс может использоваться в слое запроса, если SQL-выражение для задания слоя запроса используется исключительно с мозаичным индексом для запроса поднабора данных, основанных на области интереса.

  • Для запроса данных об объектах в ArcGIS требуется, чтобы таблица содержала поле уникального идентификатора. При добавлении пространственной таблицы к карте вас просят указать этот уникальный идентификатор поля.

    Инструменты ArcGIS не вставляют новые значения в поля уникальных идентификаторов базы данных; наоборот, они опираются на базу данных для вставки значений в поле. Пока у данных Teradata нет типа данных или встроенного механизма заполнений значений в поле идентификатора, инструменты ArcGIS, которые создают новые строки в базе данных, не могут использоваться для Teradata.

  • Как пользователь Teradata вы знаете, что Teradata ST_Geometry поддерживает только двухмерные пространственные данные; поэтому вы не можете вставить пространственные данные, содержащие z- или m-координаты в Teradata.
  • Если вы используете ArcGIS для добавления класса объектов в базу данных Teradata и пространственная привязка класса объектов отсутствует в системной таблице Teradata, ArcGIS добавит запись в таблицу Teradata SPATIAL_REF_SYS и, соответственно, в таблицу GEOMETRY_COLUMNS.

    Это позволяет использовать больше пространственных привязок, чем предлагается в Teradata по умолчанию. Однако обновления большинства версий Teradata приводит к сбросу и перепостроению этих таблиц со значениями по умолчанию.

    Перед обновлением следует всегда создавать резервную копию базы данных. Убедитесь, что в архив включены записи этих таблиц, чтобы вы могли восстановить их, если понадобится, после обновления Teradata. Вы можете следовать этой процедуре архивации и восстановления записей SPATIAL_REF_SYS и GEOMETRY_COLUMNS во время обновления базы данных:

    1. Создайте резервную копию базы данных.
    2. Подключитесь к базе данных, в которой вы будете делать копии таблиц SPATIAL_REF_SYS и GEOMETRY_COLUMNS.

      В этом примере база данных называется mybackupdb.

      database mybackupdb;
      

    3. Создайте резервные копии таблиц.

      В этом примере исходные таблицы находятся в базе данных sysspatial.

      CREATE TABLE mybackupdb.spatial_ref_sys 
        AS sysspatial.spatial_ref_sys WITH DATA;
      
      CREATE TABLE mybackupdb.geometry_columns 
        AS sysspatial.geometry_columns WITH DATA;
      

    4. Обновите базу данных Teradata.
    5. Подключитесь к базе данных, в которую вы скопировали таблицы.
    6. Восстановите таблицы в обновленную базу данных.

      --Restore the geometry columns table.
      INSERT INTO sysspatial.geometry_columns 
        SELECT * FROM mybackupdb.geometry_columns;
      
      --Restore the spatial_ref_sys table.
      INSERT INTO sysspatial.spatial_ref_sys 
        SELECT * FROM mybackupdb.spatial_ref_sys 
        MINUS 
          SELECT * FROM sysspatial.spatial_ref_sys;
      

    7. После восстановления содержимого таблиц можно удалить архивные копии.

      DROP TABLE mybackupdb.spatial_ref_sys;
      
      DROP TABLE mybackupdb.geometry_columns;
      

Связанные темы

5/12/2014