Sie können eine Verbindung von ArcGIS mit einer Teradata Data Warehouse-Anwendung herstellen, um komplexe räumliche Analysen für Datenteilmengen durchzuführen. Teilmengen von Daten können auch in ArcGIS for Server als editierbare Feature-Services veröffentlicht werden. Diese Feature-Services können Client-Anwendungen hinzugefügt werden, die von Editoren zum Aktualisieren der Daten herangezogen werden.
Um eine direkte Verbindung von ArcGIS mit einer Teradata-Datenbank herzustellen, müssen Sie den Teradata GSS-Client, die ICU-Datenbank und den ODBC-Treiber auf den ArcGIS-Client-Computern installieren. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Teradata.
Eine Liste der unterstützten Versionen von Teradata Data Warehouse und Client-Bibliotheken finden Sie unter Teradata Data Warehouse Appliance - Anforderungen für ArcGIS.
Räumliche Daten werden mithilfe des Teradata-Typs "ST_Geometry" in Teradata gespeichert. ST_Geometry ist Teil der Standardinstallation von Teradata Data Warehouse.
Verwenden von Datenteilmengen
In den meisten Fällen sind in Teradata sehr große Datenmengen gespeichert. Um Analysen von ArcGIS auszuführen oder Daten zu veröffentlichen, verwenden Sie eine Teilmenge von Daten. Die jeweilige Vorgehensweise hängt davon ab, was Sie mit den Daten vorhaben.
- Wenn Sie Daten zu ArcMap hinzufügen, um sie in der Karte anzuzeigen und zu analysieren fügen Sie einen Abfrage-Layer hinzu , und definieren Sie den Abfrage-Layer-Ausdruck so, dass nur eine Teilmenge der Daten zurückgegeben wird.
- Wenn Sie Daten zu ArcMap hinzufügen, um einen Karten-Service zu veröffentlichen, definieren Sie eine Datenbanksicht, die nur eine Teilmenge der Daten enthält. Datenbanksichten werden in der Datenbank gespeichert. Zum Definieren von Sichten können Sie das Geoverarbeitungswerkzeug Datenbanksicht erstellen oder einen SQL-Client verwenden.
- Wenn Sie Daten zu ArcMap hinzufügen, um einen Feature-Service zu veröffentlichen, deaktivieren Sie die Option, um neu hinzugefügte Layer standardmäßig sichtbar zu machen, bevor Sie Ihre Daten zu der Karte hinzufügen. Öffnen Sie als Nächstes das Dialogfeld Abfrage-Manager, und legen Sie eine Teilmenge von Daten mit SQL fest. Nachdem Sie die in ArcMap angezeigte Datenmenge eingeschränkt haben, machen Sie den Layer sichtbar, und bereiten Sie Ihre Karte für die Veröffentlichung vor.
Zusätzliche Richtlinien für in ArcGIS verwendete Teradata-Daten
Nachfolgend finden Sie eine Liste der Richtlinien für die Verwendung von Teradata mit ArcGIS:
- Den räumlichen Spalten in den Tabellen muss der Name shape bzw. der Alias shape in einer Ansicht zugewiesen werden.
Der zugrunde liegende Speicher für den Teradata-Typ "ST_Geometry" ist CLOB. Daher kann ArcGIS nur anhand des Namens oder Alias der Spalte (shape) feststellen, dass in der Spalte räumliche Daten gespeichert sind.
- Sie müssen die von Teradata bereitgestellten Mosaik-Funktionen verwenden, um einen räumlichen Index in der Teradata-Spalte "ST_Geometry" zu erstellen und zu verwalten.
Teradata verwendet den bereitgestellten räumlichen Mosaik-Index mit einem vordefinierten Interessenbereich. Daher können räumliche ArcGIS-Vorgänge, wie Verkleinern, Vergrößern und Schwenken, die auf dynamischen Eingaben basieren, den Mosaik-Index nicht verwenden. Der Mosaik-Index kann jedoch in einem Abfrage-Layer verwendet werden, wenn die zum Definieren des Abfrage-Layers verwendete SQL-Anweisung den Mosaik-Index explizit verwendet, um eine Teilmenge von Daten auf Grundlage eines Interessenbereichs abzufragen.
- ArcGIS erfordert ein eindeutiges Kennungsfeld zum Rendern von Features in einer Karte und zum Veröffentlichen von Web-Services. ArcMap fordert Sie auf, dieses eindeutige ID-Feld anzugeben, wenn Sie der Karte eine räumliche Tabelle hinzufügen.
ArcGIS-Werkzeuge fügen keine neuen Werte in die eindeutigen ID-Felder einer Datenbank ein, sie sind vielmehr darauf angewiesen, dass die Werte von der Datenbank in das Feld eingefügt werden. Da Teradata über keinen Datentyp oder integrierten Mechanismus verfügt, um ID-Felder mit Werten zu füllen, können ArcGIS-Werkzeuge, die neue Zeilen in einer Datenbanktabelle erstellen, nicht mit Teradata verwendet werden.
- Als Teradata-Benutzer ist Ihnen bekannt, dass der Teradata 14.x-Typ "ST_Geometry" nur zweidimensionale räumliche Daten unterstützt. Aus diesem Grund können räumliche Daten, die Z- oder M-Koordinaten enthalten, nicht in Teradata 14.x eingefügt werden. Da der Teradata 15.0-Typ "ST_Geometry" nur Z-Koordinaten, aber keine M-Koordinaten unterstützt, können Sie in Teradata 15.0 keine räumlichen Daten einfügen, die M-Koordinaten enthalten.
- Wenn Sie ArcGIS verwenden, um der Teradata-Datenbank eine Feature-Class hinzuzufügen, und der von Ihnen angegebene Raumbezug für die Feature-Class nicht in der Teradata-Systemtabelle enthalten ist, fügt ArcGIS der Tabelle "SPATIAL_REF_SYS" einen Datensatz und damit die "GEOMETRY_COLUMNS"-Tabelle hinzu.
Dadurch können Sie mehr Raumbezüge verwenden als standardmäßig von Teradata bereitgestellt werden. Aktualisierungen auf Hauptversionen von Teradata können diese Tabellen jedoch löschen und neu erstellen, wobei sie jedoch lediglich Standardwerte enthalten.
Bevor Sie Teradata aktualisieren, sollten Sie stets eine Sicherungskopie der Datenbank anlegen. Stellen Sie sicher, dass sie die Daten in diesen Tabellen enthält, damit sie nach einer Teradata-Aktualisierung bei Bedarf wiederhergestellt werden können. Sie können die folgenden allgemeinen Schritte ausführen, um die Datensätze "SPATIAL_REF_SYS" und "GEOMETRY_COLUMNS" während einer Datenbankaktualisierung zu sichern und wiederherzustellen:
- Erstellen Sie eine Sicherungskopie der Datenbank.
- Stellen Sie eine Verbindung mit einer Datenbank her, in der Sie Kopien der Tabellen "SPATIAL_REF_SYS" und "GEOMETRY_COLUMNS" ablegen.
In diesem Beispiel lautet der Name der Datenbank mybackupdb.
database mybackupdb;
- Erstellen Sie Sicherungskopien der Tabellen.
In diesem Beispiel befinden sich die Quelltabellen in der Datenbank 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;
- Aktualisieren Sie die Teradata-Quelldatenbank.
- Stellen Sie eine Verbindung mit der Datenbank her, in die Sie die Tabellen kopiert haben.
- Stellen Sie die Tabellen in der aktualisierten Datenbank wieder her.
--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;
- Nachdem Sie den Inhalt der Tabellen wiederhergestellt haben, können Sie die Sicherungskopien der Tabellen löschen.
DROP TABLE mybackupdb.spatial_ref_sys; DROP TABLE mybackupdb.geometry_columns;
- Weisen Sie den Benutzern, die Daten in der Datenbank erstellen, Berechtigungen für diese Tabellen ggf. erneut zu.