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 во время обновления базы данных:
- Создайте резервную копию базы данных.
- Подключитесь к базе данных, в которой вы будете делать копии таблиц SPATIAL_REF_SYS и GEOMETRY_COLUMNS.
В этом примере база данных называется mybackupdb.
database mybackupdb;
- Создайте резервные копии таблиц.
В этом примере исходные таблицы находятся в базе данных 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;
- Обновите базу данных Teradata.
- Подключитесь к базе данных, в которую вы скопировали таблицы.
- Восстановите таблицы в обновленную базу данных.
--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;
- После восстановления содержимого таблиц можно удалить архивные копии.
DROP TABLE mybackupdb.spatial_ref_sys; DROP TABLE mybackupdb.geometry_columns;