Вы можете подключиться из ArcGIS к хранилищу данных Teradata для выполнения сложного пространственного анализа на поднаборах данных. Вы также можете опубликовать поднаборы данных в ArcGIS for Server в качестве редактируемых сервисов объектов. Эти сервисы объектов могут быть добавлены в клиентские приложения, которые пользователи смогут использовать для обновления данных.
Чтобы подключиться из ArcGIS к базе данных Teradata, установите клиент Teradata GSS, библиотеку ICU и драйвер ODBC на компьютерах с установленной клиентской частью ArcGIS. Более подробно см. в разделе Подключение к Teradata.
См. раздел Требования ArcGIS к Teradata Data Warehouse Appliance, чтобы получить список поддерживаемых версий хранилищ Teradata и клиентских библиотек.
Пространственные данные хранятся в Teradata с помощью типа Teradata ST_Geometry. ST_Geometry является частью хранилища данных Teradata, устанавливаемого по умолчанию.
Использование поднаборов данных
Как правило, в Teradata хранится очень большой объем информации. Для выполнения анализа в ArcGIS и публикации данных используйте поднабор данных. То как вы будете это выполнять, предопределяется тем, что вы будете делать с данными.
- Если вы добавляете данные в ArcMap для их просмотра и анализа на карте, добавьте слой запроса и задайте выражение слоя запроса, чтобы выбрать поднабор данных.
- Если вы добавляете данные в ArcMap для публикации картографического сервиса, задайте вид базы данных, который содержит поднабор данных. Представления базы данных хранятся в базе данных. Можно воспользоваться инструментом геообработки Создать представление базы данных или клиентским приложением SQL, чтобы задать представление.
- Если вы добавляете данные в ArcMap для публикации сервиса объектов, снимите отметку Делать вновь добавляемые слои видимыми по умолчаниюперед добавлением данных на карту. После этого откройте диалоговое окно Конструктор запросов и выберите поднабор данных посредством SQL. После того как вы ограничили данные, которые отобразятся в ArcMap, сделайте слой видимым и подготовьте свою карту к публикации.
Дополнительные указания по использованию данных Teradata в ArcGIS
Ниже приведен перечень доступных руководств пользователя по использованию Teradata в ArcGIS.
- Имена пространственных столбцов в таблицах должны содержать shape или иметь псевдоним, содержащий shape.
Базовое хранение для типа Teradata ST_Geometry это CLOB; поэтому, имя или псевдоним столбца (shape) – единственный способ для ArcGIS определить, что в нем содержатся пространственные данные.
- Для создания и обработки пространственного индексов столбце Teradata ST_Geometry следует использовать мозаичные функции Teradata.
Teradata использует мозаичный пространственный индекс с заданной областью интереса. Поэтому мозаичный индекс не может использоваться пространственными операциями ArcGIS, основанными на динамичных входных данных, такими как масштабирование и панорамирование. Однако мозаичный индекс может использоваться в слое запроса, если SQL-выражение для задания слоя запроса используется исключительно с мозаичным индексом для запроса поднабора данных, основанных на области интереса.
- Для запроса данных об объектах и публикации веб-сервисов ArcGIS требуется, чтобы таблица содержала поле уникального идентификатора. ArcMap предлагает указать этот уникальный идентификатор поля при добавлении пространственной таблицы к карте.
Инструменты ArcGIS не вставляют новые значения в поля уникальных идентификаторов базы данных; наоборот, они опираются на базу данных для вставки значений в поле. Пока у данных Teradata нет типа данных или встроенного механизма заполнений значений в поле идентификатора, инструменты ArcGIS, которые создают новые строки в базе данных, не могут использоваться для Teradata.
- Как пользователь Teradata вы знаете, что Teradata 14.x ST_Geometry поддерживает только двухмерные пространственные данные; поэтому вы не можете вставить пространственные данные, содержащие z- или m-координаты в Teradata 14.x. Teradata 15.0 ST_Geometry поддерживает только z-координаты, но не m-координаты; поэтому вы не можете вставить пространственные данные, содержащие m-координаты в Teradata 15.0.
- Если вы используете ArcGIS для добавления класса объектов в базу данных Teradata и пространственная привязка класса объектов отсутствует в системной таблице Teradata, ArcGIS добавит запись в таблицу Teradata SPATIAL_REF_SYS и, соответственно, в таблицу GEOMETRY_COLUMNS.
Это позволяет использовать больше пространственных привязок, чем предлагается в Teradata по умолчанию. Однако обновления большинства версий 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;
- Если необходимо, снова предоставьте права доступа к этим таблицам для пользователей, которые будут создавать данные в базе данных.