In ArcGIS unterstützte PostgreSQL-Datentypen
Beim Erstellen einer Tabelle oder Hinzufügen einer Spalte zu einer Tabelle in der Datenbank werden Spalten mit einem bestimmten Datentyp erstellt. Datentypen sind Klassifizierungen, die mögliche Datenwerte und die mit den entsprechenden Daten durchführbaren Operationen vorgeben sowie festlegen, wie die Daten in der betreffenden Spalte in der Datenbank gespeichert werden.
Wenn Sie auf Datenbanktabellen von ArcGIS zugreifen, können Sie mit bestimmten Datentypen arbeiten. Wenn Sie über den Knoten "Datenbankverbindungen" im Kataloginhaltsverzeichnis oder über einen Abfrage-Layer in ArcMap auf die Datenbanktabelle zugreifen, filtert ArcGIS alle nicht unterstützten Datentypen heraus. Wenn Sie direkt auf die Datenbanktabelle zugreifen, werden nicht unterstützte Datentypen nicht in der ArcGIS-Schnittstelle angezeigt und Sie können sie nicht durch ArcGIS bearbeiten. Wenn Sie Tabellen kopieren, die nicht unterstützte Datentypen von ArcGIS enthalten, werden ebenfalls nur die unterstützten Datentypen kopiert. Wenn Sie die Tabelle in eine andere Datenbank oder Geodatabase einfügen, sind die nicht unterstützten Datentypspalten nicht vorhanden.
Wenn Sie in ArcGIS eine Feature-Class oder eine Tabelle erstellen oder eine Spalte zu einer vorhandenen Tabelle oder Feature-Class mit ArcGIS hinzufügen, gibt es 11 mögliche Datentypen, die Sie einem Feld zuweisen können. Datenbankdatentypen, die diesen Typen nicht entsprechen, können nicht direkt in ArcGIS-Client-Anwendungen verwendet werden.
In der ersten Spalte sind die in ArcGIS verfügbaren Datentypen aufgeführt. Die zweite Spalte enthält den PostgreSQL-Datentyp, der in der Datenbank erstellt wird. Die dritte Spalte zeigt, welche anderen PostgreSQL-Datentypen (falls vorhanden) dem ArcGIS-Datentyp beim Anzeigen in ArcGIS zugeordnet werden.
ArcGIS-Datentypen |
Erstellte PostgreSQL-Datentypen | Andere PostgreSQL-Datentypen, die angezeigt werden können |
Hinweise |
---|---|---|---|
BLOB |
BYTEA |
||
DATE |
TIMESTAMP WITHOUT ZONE |
TIMESTAMP | |
DOUBLE |
NUMERIC(p) |
BIG SERIAL, DOUBLE PRECISION | Die Genauigkeit und der Maßstab, die in ArcGIS angegeben sind, können Auswirkungen auf den resultierenden Datentyp haben, der in der Datenbank erstellt wird. Weitere Informationen finden Sie unter ArcGIS-Felddatentypen. |
FLOAT |
NUMERIC(p) |
Die Genauigkeit und der Maßstab, die in ArcGIS angegeben sind, können Auswirkungen auf den resultierenden Datentyp haben, der in der Datenbank erstellt wird. Weitere Informationen finden Sie unter ArcGIS-Felddatentypen. |
|
GEOMETRY |
ST_GEOMETRY or GEOMETRY |
In einer Enterprise-Geodatabase wird die Einstellung "GEOMETRY_STORAGE" des Konfigurationsschlüsselworts verwendet, wenn die Feature-Class bestimmt, welcher Datentyp in der Datenbank erstellt wird. "ST_Geometry" und "Geometry" sind übergeordnete Klassen. Wenn Sie Feature-Classes in ArcGIS for Desktop erstellen, verwenden Point-Feature-Classes, die als "ST_Geometry" erstellt werden, den Subtype "ST_Point", und Point-Feature-Classes, die als PostGIS-Geometrie erstellt werden, den Subtype "Point" zur Speicherung. Für alle anderen Typen von Feature-Classes, die in ArcGIS for Desktop erstellt werden, wird die übergeordnete Klasse verwendet. Wenn Sie räumliche Spalten mit SQL erstellen, hängt der tatsächlich erstellte Daten-Subtype vom angegebenen Subtype ab. Um den Typ "ST_Geometry" in einer Datenbank verwenden zu können, müssen Sie ihn installieren. Weitere Informationen finden Sie unter Hinzufügen des Typs "ST_Geometry" zu einer PostgreSQL-Datenbank. Sie müssen PostGIS in Ihrem PostgreSQL-Datenbank-Cluster installieren und die Datenbank muss für die Verwendung von PostGIS aktiviert werden, damit Sie den PostGIS-Geometrietyp verwenden können. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation. |
|
GUID |
VARCHAR(38) |
||
LONG INTEGER |
INTEGER |
SERIAL | |
OBJECTID |
INTEGER in einer Geodatabase SERIAL in einer Datenbank |
Die ArcGIS-Typ-ObjektID ist die registrierte Zeilen-ID-Spalte für die Tabelle (oder Feature-Class). Pro Tabelle gibt es nur eine. Für Tabellen, die außerhalb von ArcGIS erstellt wurden, werden Spalten erst dann als ObjektID interpretiert, wenn sie bei der Geodatabase registriert wurden. |
|
RASTER |
BYTEA or ST_RASTER |
Raster werden nur in Enterprise-Geodatabases unterstützt, und welcher PostgreSQL-Datentyp erstellt wird, hängt vom DBTUNE-Konfigurationsschlüsselwort ab, das beim Erstellen des Raster-Katalogs, Raster-Datasets oder Mosaik-Datasets verwendet wurde. Sie müssen den Typ "ST_Raster" in der Geodatabase getrennt konfigurieren, wenn Sie ihn verwenden möchten. Anweisungen finden Sie unter Installieren des ST_Raster-Typs unter PostgreSQL. |
|
SHORT INTEGER |
SMALLINT |
REAL | |
TEXT |
CHARACTER VARYING |
CHARACTER, VARCHAR, TEXT |
Wenn die Tabelle eine Spalte mit einem Datentyp enthält, der nicht in ArcGIS unterstützt wird, können Sie die Spalte in Text umwandeln. Dies sollte jedoch nur dann erfolgen, wenn Sie die Werte in der Spalte lediglich anzeigen möchten, keinesfalls, um Analysen anhand der Werte in dieser Spalte durchzuführen. Sie können z. B. eine SELECT-Anweisung ausführen, um die Spalten in "tableb" auszuwählen und die Dezimalspalte "total" in Text umzuwandeln:
SELECT id, name, total::text
FROM me.mydb.tableb;