Beim Erstellen einer Tabelle oder Hinzufügen einer Spalte zur Tabelle einer Datenbank definieren Sie einen bestimmten Datentyp für die Spalte. Durch Datentypen wird Folgendes festgelegt:
- Welche Werte in der Spalte gespeichert werden können
- Welche Operationen mit den Daten in dieser Spalte ausgeführt werden dürfen
- Wie die Daten aus dieser Spalte in der Datenbank gespeichert werden
ArcGIS verwendet bestimmte Datentypen. Wenn Sie über eine Datenbankverbindung, einen Abfrage-Layer oder einen Web-Service auf eine Datenbanktabelle zugreifen, filtert ArcGIS alle nicht unterstützten Datentypen heraus. In ArcGIS werden keine nicht unterstützten Datentypen angezeigt, und Sie können nicht unterstützte Datentypen nicht in ArcGIS bearbeiten. Wenn beispielsweise ArcGIS zum Kopieren und Einfügen von Tabellen, die nicht unterstützte Datentypen enthalten, von einer Datenbank in eine andere verwendet wird, fügt ArcGIS nur die Spalten ein, deren Datentyp unterstützt wird.
Die erste Spalte der folgenden Tabelle enthält die ArcGIS-Datentypen. In der zweiten Spalte sind die von ArcGIS erstellten SQL Server-Datentypen aufgeführt. In der dritten Spalte ist aufgelistet, welche weiteren SQL Server-Datentypen (sofern vorhanden) dem ArcGIS-Datentyp zugeordnet werden, wenn Sie eine Tabelle anzeigen, die außerhalb von ArcGIS erstellt wurde. Die letzte Spalte enthält ggf. zusätzliche Informationen.
ArcGIS-Datentypen | Erstellte SQL Server-Datentypen | Andere SQL Server-Datentypen, die angezeigt werden können | Hinweise |
---|---|---|---|
BLOB | varbinary(max) | binary, image, timestamp, varbinary(n) | |
Date | datetime2(7) | datetime2(n), datetime, smalldatetime | |
Double | NUMERIC(p,s) | decimal, float, money, smallmoney | Die Genauigkeit und die Anzahl der Dezimalstellen, 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,s) | real | Die Genauigkeit und die Anzahl der Dezimalstellen, 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 |
| Welcher SQL Server-Datentyp in einer Enterprise-Geodatabase erstellt wird, hängt von dem Parameter GEOMETRY_STORAGE des Konfigurationsschlüsselworts ab, das beim Erstellen der Feature-Class verwendet wurde. SDEBINARY = int; GEOMETRY = eine Geometry-Spalte; GEOGRAPHY = eine Geography-Spalte. In einer Datenbank geben Sie an, ob "GEOMETRY" oder "GEOGRAPHY" beim Erstellen einer Feature-Class verwendet werden soll. In Desktop- und Workgroup-Geodatabases wird der Typ "GEOMETRY" immer verwendet. Die folgenden Geometrie-Subtypes werden von ArcGIS nicht unterstützt:
| |
Global-ID | uniqueidentifier | Wird nur in Geodatabases unterstützt. | |
GUID | uniqueidentifier | ||
Long Integer | int | ||
Raster | BLOB, int | Raster-Datentypen werden nur in Geodatabases unterstützt. In Desktop- und Workgroup-Geodatabases werden Raster immer als BLOB-Datentyp erstellt. Welcher SQL Server-Datentyp in Enterprise-Geodatabases erstellt wird, hängt vom Konfigurationsschlüsselwort ab, das beim Erstellen des Raster-Datasets oder Mosaik-Datasets verwendet wurde. Wenn der Parameter "RASTER_STORAGE" des Schlüsselworts auf "RASTERBLOB" eingestellt ist, wird eine BLOB-Spalte erstellt; wenn er auf "BINARY" eingestellt ist, wird eine int-Spalte erstellt. | |
OBJECT ID | int(4) when created in an enterprise geodatabase integer with identity property when created in a database | Die ArcGIS-Typ-ObjektID ist die registrierte Zeilen-ID-Spalte für die Tabelle (oder Feature-Class). Pro Tabelle gibt es nur eine. | |
Short integer | SMALLINT | bit, tinyint | |
Text | varchar, nvarchar, varchar(max), nvarchar(max) | char, nchar |
Textdatentypen
Wenn Sie ein varchar- oder varchar(max)-Feld in einer SQL Server-Datenbank erstellen, wird es dem ArcGIS-Datentyp "TEXT" zugeordnet, wenn es in ArcGIS angezeigt wird. Wenn Sie ein Textfeld in einer SQL Server-Datenbank in ArcGIS erstellen, wird entweder "nvarchar" oder "nvarchar(max)" verwendet.
Wenn für den Konfigurationsparameter UNICODE_STRING in einer Enterprise-Geodatabase FALSE und für das Textfeld 7.999 Zeichen oder weniger festgelegt wurden, wird VARCHAR verwendet.
Wenn der Konfigurationsparameter UNICODE_STRING auf FALSE und das Textfeld auf 8.000 Zeichen oder mehr festgelegt sind, wird VARCHAR(MAX) verwendet.
Wenn der Konfigurationsparameter UNICODE_STRING auf TRUE und das Textfeld auf 3.999 Zeichen festgelegt sind, wird NVARCHAR verwendet.
Wenn der Konfigurationsparameter UNICODE_STRING auf TRUE und das Textfeld auf 4.000 Zeichen oder mehr festgelegt sind, wird NVARCHAR(MAX) verwendet.
Geometriedatentypen
Wie in der Tabelle angegeben, können von ArcGIS drei Geometriedatentypen in SQL Server erstellt und verwendet werden: "Compressed Binary" (komprimierte Binärdaten), "GEOMETRY" von SQL Server und "GEOGRAPHY" von SQL Server.
Compressed Binary
Der Speichertyp "Compressed Binary" von Esri verwendet einen binären Speichermechanismus zum Speichern von Feature-Geometrie. Der Geometriespeicher "Compressed Binary" kann nur in Geodatabases verwendet werden. Eine komprimierte binäre Feature-Class besteht aus drei Tabellen: die Business-Tabelle, die Feature-Tabelle und die räumliche Indextabelle.
Nach dem Überprüfen der Geometrie komprimiert die Client-Anwendung diese und sendet sie an die Geodatabase, in der sie im Compressed Binary-Format in einer Feature-Tabelle (oder F-Tabelle) gespeichert wird. Durch das Komprimieren der Geometrie auf dem Client wird der Task vom Datenbankserver entladen und die zum Senden der Geometrie benötigte Übertragungszeit reduziert. Zudem ermöglicht dies das effiziente Speichern und Abrufen räumlicher Daten, da der für die Daten benötigte Speicherplatz um bis zu 40 Prozent reduziert wird.
Die Business-Tabelle enthält Attribute und eine räumliche Spalte. Die räumliche Spalte dient als Schlüssel für die Feature-Tabelle und die räumliche Indextabelle.
Die Beziehung zwischen der Business-Tabelle und der Feature-Tabelle wird durch die gesamte räumliche Spalte und die FID-Spalte (Feature-ID) verwaltet. Dieser Schlüssel, der von ArcGIS verwaltet wird, ist eindeutig.
SQL Server-Geometrie
Der nachfolgende Abschnitt enthält eine Zusammenfassung des Datentyps "GEOMETRY" von Microsoft. Weitere Informationen zum Datentyp "GEOMETRY" und seiner Verwendung finden Sie in der Microsoft SQL Server-Dokumentation.
- Der Datentyp GEOMETRY von Microsoft unterstützt jedes X/Y-Koordinatensystem.
- Planare (Ebene, euklidisch) Berechnungen und lineare Interpolation zwischen Stützpunkten werden zum Rendern und für räumliche Vergleiche verwendet.
- Entspricht Version 1.1.9 der Simple Features-Spezifikation von Open Geospatial Consortium, Inc. (OGC) und ist mit dem ISO SQL/MM-Standard konform.
SQL Server-Geographie
Der nachfolgende Abschnitt enthält eine Zusammenfassung des Datentyps "GEOGRAPHY" von Microsoft. Weitere Informationen zum Datentyp "GEOGRAPHY" und seiner Verwendung finden Sie in der Microsoft SQL Server-Dokumentation.
- Der Typ "GEOGRAPHY" unterstützt viele standardmäßige geographische Koordinatensysteme wie GPS-Längengrad und -Breitengrad.
Microsoft erfordert die Verwendung von SRIDs und die Definition des geographischen Koordinatensystems im SQL Server-Datenkatalog.
- Ein Ellipsoid-Modell (runde Erde) und die Interpolation einer großen Ellipse aus Liniensegmenten zwischen Stützpunkten wird für Berechnungen und räumliche Vergleiche verwendet.
- Der Typ "GEOGRAPHY" verwendet eine globale (kugelförmige) Layer-Ausdehnung.
Koordinaten der Daten können die globale Ausdehnung nicht überschreiten.
Raster-Datentypen
Der in Geodatabases in SQL Server standardmäßig verwendete Raster-Typ ist ein BLOB-Typ (rasterblob).