Beim Erstellen von Feature-Classes und Tabellen wählen Sie für jedes Feld einen Datentyp aus. Zu den verfügbaren Datentypen gehören eine Reihe numerischer Typen, Texttypen, Datumstypen, BLOBs (Binary Large Objects) und GUIDs (Globally Unique Identifiers). Um die Daten korrekt zu speichern, müssen Sie den richtigen Datentyp auswählen. Dadurch erleichtern Sie die Analyse und Verwaltung der Daten.
In diesem Abschnitt werden die Datentypen beschrieben, die beim Erstellen einer Feature-Class oder Tabelle in ArcGIS zur Verfügung stehen. Wenn Sie Daten in einer Datenbank oder eine Geodatabase in einer Datenbank speichern, entsprechen sich die Datentypen in ArcGIS und dem Datenbankmanagementsystem (DBMS) möglicherweise nicht vollständig. Die Zuordnung erfolgt jeweils zu dem am ehesten geeigneten Datenbankdatentyp. Dieser Vorgang wird als Datentypzuordnung bezeichnet. Bei dieser Zuordnung können Werte in der Datenbank als ein anderer Datentyp gespeichert werden. Das geschieht unter Anwendung unterschiedlicher Kriterien in Bezug auf das Datenattribut. Die Folge ist, dass der Datentyp, der in der Tabelle oder in den Feature-Class-Eigenschaften in ArcGIS Pro angezeigt wird, sich von dem zu Beginn eingegebenen Datentyp unterscheidet. Weitere Informationen zur Datentypzuordnung finden Sie unter In ArcGIS unterstützte DBMS-Datentypen.
Weitere Datenspeicherungsformate, wie Shapefiles oder dBASE-Datei-(DBF-)Tabellen, können andere Datentyp-Einschränkungen aufweisen. Beachten Sie die für das Zielspeicherformat geltenden Einschränkungen für Datentyp und Größe, wenn Sie Daten zwischen Datenspeichertypen austauschen.
Zahlen
Zum Speichern von Zahlen stehen vier numerische Datentypen zur Verfügung:
- Short Integer
- Long Integer
- Float (Gleitkommazahlen mit einfacher Genauigkeit)
- Double (Gleitkommazahlen mit doppelter Genauigkeit)
Berücksichtigen Sie beim Auswählen des Datentyps, ob ganze Zahlen oder Bruchzahlen benötigt werden. Wenn Sie nur ganze Zahlen speichern müssen, beispielsweise 12 oder 12.345.678, verwenden Sie die Datentypen "Short Integer" oder "Long Integer". Wenn Sie Bruchzahlen mit Dezimalstellen speichern müssen, beispielsweise 0,23 oder 1234,5678, verwenden Sie die Datentypen "Float" oder "Double".
Entscheiden Sie sich bei der Wahl zwischen "Short Integer" und "Long Integer" bzw. "Float" und "Double" für den Datentyp, der am wenigsten Speicherplatz für die benötigten Zahlenbereiche belegt. Dadurch verringert sich nicht nur der Speicherplatzbedarf, es verbessert sich auch die Performance. Wenn Sie beispielsweise nur ganze Zahlen zwischen -32.768 und 32.767 speichern müssen, legen Sie als Datentyp "Short Integer" fest, weil bei diesem Datentyp nur 2 Bytes belegt werden. Für den Datentyp "Long Integer" sind hingegen 4 Bytes erforderlich. Um Bruchzahlen zwischen -3.4E38 und 1.2E38 zu speichern, legen Sie als Datentyp "Float" fest, weil dieser nur 4 Bytes belegt. Für den Datentyp "Double" wären 8 Bytes notwendig.
In der Tabelle unten sind die Datentypen sowie deren Wertebereiche und Speicherplatzbedarf angegeben. Die aufgeführten Wertebereiche gelten für File- und mobile Geodatabases. Die Bereiche in Datenbanken und Enterprise-Geodatabases weichen geringfügig ab.
Datentyp | Wertebereich | Größe (Byte) | Anwendung |
---|---|---|---|
Short Integer | -32.768 bis 32.767 | 2 | Numerische Werte ohne Dezimalzahlen innerhalb eines spezifischen Bereichs; codierte Werte |
Long Integer | -2.147.483.648 bis 2.147.483.647 | 4 | Numerische Werte ohne Dezimalzahlen innerhalb eines spezifischen Bereichs |
Float (Gleitkommazahl mit einfacher Genauigkeit) | Etwa -3,4E38 bis 1,2E38 | 4 | Numerische Werte mit Dezimalzahlen innerhalb eines spezifischen Bereichs |
Double (Gleitkommazahl mit doppelter Genauigkeit) | Etwa -2,2E308 bis 1,8E308 | 8 | Numerische Werte mit Dezimalzahlen innerhalb eines spezifischen Bereichs |
Wenn Sie numerische Felder zu einer Tabelle oder Feature-Class in einer File- oder mobilen Geodatabase hinzufügen, müssen Sie lediglich den Datentyp angeben. Wenn Sie ein numerisches Feld zu einer Tabelle oder Feature-Class in einer Datenbank oder Enterprise-Geodatabase hinzufügen, können Sie die Genauigkeit (die maximale Länge des Feldes) angeben. Wenn das Feld Daten des Typs "Float" oder "Double" enthält, können Sie die Nachkommastellen (die maximale Anzahl der Dezimalstellen) für die Feldwerte angeben.
Durch Angabe der Genauigkeit (Feldlänge) und der Dezimalstellen (Anzahl der Nachkommastellen) können Sie den Wertebereich und die Zahlenformate für ein Feld beschränken und somit besser steuern. Wenn Sie beispielsweise den Datentyp "Float" mit der Genauigkeit 4 und 2 Dezimalstellen angeben, ist 12,34 als Eingabe im Feld zulässig. Falls Sie 12,345 eingeben, wird eine Fehlermeldung angezeigt, da hiermit die zulässige Höchstzahl der Ziffern und Dezimalstellen überschritten wird. Wenn Sie dagegen den Datentyp "Float" mit der Genauigkeit 5 und 3 Dezimalstellen angeben möchten, können Sie 12,345 eingeben.
Die nachfolgende Liste enthält die Datentypen und die Werte für Genauigkeit und Dezimalstellen, die Sie angeben können, wenn Sie in der Ansicht "Felder" ein Feld hinzufügen. Die Genauigkeit muss immer größer sein als die Anzahl der Dezimalstellen. "Dezimalstellen" gilt nicht für Daten vom Typ "Integer", da in diesen keine Dezimalwerte gespeichert werden. Wählen Sie anhand dieser Informationen den Datentyp, die Genauigkeit und die Anzahl der Dezimalstellen aus:
Datentyp | Genauigkeit (Feldlänge) | Dezimalstellen (Nachkommastellen) |
---|---|---|
Short Integer* | 1–5 (Oracle), 5 (IBM Db2, Microsoft SQL Server und PostgreSQL | 0 |
Long Integer | 6–10 (Oracle), 6–9 (Db2), 10 (SQL Server und PostgreSQL) | 0 |
Float | 1–6 | 1–6 |
Double | 7+ | 1+ |
*In ArcGIS Pro werden standardmäßig Short-Integer-Werte mit einer Genauigkeit von 5 erstellt. In Short-Integer-Spalten können jedoch nur Werte in einem Bereich von -32.768 bis 32.767 gespeichert werden. Sie können in einem Short-Integer-Feld keine Werte über 32.767 oder unter -32.768 speichern, selbst wenn Sie die Genauigkeit auf 5 festgelegt haben. Für Short-Integer-Spalten, die in ArcGIS Pro erstellt wurden, muss für keine Datenbank außer Oracle die Genauigkeit angegeben werden.
In der folgenden Tabelle finden Sie Beispiele für Zahlenbereiche und Möglichkeiten zu deren Speicherung in einer Datenbank oder Enterprise-Geodatabase:
Bereich | Datentyp | Genauigkeit (Feldlänge) | Dezimalstellen (Nachkommastellen) |
---|---|---|---|
0 bis 99 | Short Integer | 2 | 0 |
-99 bis 99* | Short Integer | 3 | 0 |
-32.768 bis 32.767* | Short Integer | 5 | 0 |
-99.999 bis 99.999* | Long Integer | 5 | 0 |
0,001 bis 0,999 | Float | 4 | 3 |
1.000,00 bis 9.999,99 | Float | 6 | 2 |
-123.456,78 bis 0* | Double | 9 | 2 |
0 bis 1.234,56789 | Double | 9 | 5 |
*Für negative Zahlen ist eine größere Genauigkeit erforderlich, da das Minuszeichen ebenfalls gespeichert werden muss.
Computer können je nach Größe des zugewiesenen Speicherplatzes nur eine begrenzte Anzahl von Ziffern speichern. In Feldern mit dem Datentyp "Double" können in Datenbanken und Geodatabases nur Zahlen mit bis zu maximal 15 Ziffern exakt gespeichert werden, da der Speicherplatz auf 8 Bytes begrenzt ist. Zahlen mit mehr Ziffern werden gerundet und in einem Format gespeichert, das der wissenschaftlichen Notation ähnelt. Sie stellen somit lediglich Näherungswerte dar. Wenn Sie beispielsweise die 20-stellige Zahl 12.345.678.901.234.567.890 eingeben, wird diese gerundet und als 15-stellige Zahl 1,23456789012346E+19 gespeichert. Mit dem codierten Wert am Ende (E+19) wird die Position des Dezimaltrennzeichens festgelegt.
In Feldern mit dem Datentyp "Float" in File- oder mobilen Geodatabases können Zahlen mit maximal sechs Ziffern exakt gespeichert werden. Die Zahl 123.456,7 beispielsweise kann in einem Float-Feld nicht gespeichert werden, da diese Zahl mehr als sechs Ziffern aufweist. Zwar kann die Zahl in einer File-Geodatabase in einem Feld mit dem Datentyp "Float" eingegeben werden, sie wird jedoch auf 123.457 gerundet, eine Zahl mit den zulässigen 6 Ziffern. Um diese Zahl exakt zu speichern, sollten Sie sie in einem Double-Feld speichern. In Enterprise-Geodatabases und Datenbanken können Sie in Float-Feldern keine Zahlen mit mehr Ziffern als die Genauigkeit für das jeweilige Feld eingeben. Daher erfolgt auch keine Rundung.
Text
Ein Textfeld enthält eine Reihe alphanumerischer Symbole. Dies können Straßennamen, Attributeigenschaften oder andere Textbeschreibungen sein. Eine Alternative zur Verwendung wiederholter Textattribute in einer Geodatabase ist die Festlegung eines codierten Wertes. In diesem Fall wird eine Textbeschreibung als numerischer Wert codiert. Sie können z. B. Straßenarten mit numerischen Werten codieren: 1 für asphaltierte Straßen, 2 für Schotterstraßen usw. Das hat den Vorteil, dass in der Geodatabase weniger Speicherplatz belegt wird; allerdings muss der Anwender die codierten Werte verstehen. Wenn Sie die codierten Werte in einer Domäne mit codierten Werten in der Geodatabase definieren und die Domäne mit dem Integer-Feld verknüpfen, das die Codes speichert, zeigt die Geodatabase die Textbeschreibung an, wenn Sie die Tabelle in ArcGIS Pro einsehen.
Weitere Informationen über Subtypes und Attributdomänen.
Je nach Sprache werden unterschiedliche Zeichen für Text verwendet. Damit Text einfacher zwischen verschiedenen Sprachen konvertiert werden kann, werden Zeichen in ArcGIS in Unicode codiert.
Datumsangaben
Der Datentyp "Datum" kann Datumsangaben, Zeitangaben oder beides gleichzeitig speichern. Das Standardformat für die Darstellung der Informationen ist mm/tt/jj hh:mm:ss und die Angabe von AM oder PM. Wenn Sie Datumsangaben in die Tabelle über ArcGIS eingeben, werden sie in dieses Format konvertiert.
BLOBs
Bei einem BLOB handelt es sich um Daten, die als lange Abfolge von binären Zahlen gespeichert sind. In ArcGIS werden Annotation und Bemaßungen als BLOBs gespeichert. In Feldern dieses Typs können auch Objekte wie Bilder, Multimedia-Komponenten oder Programmcode gespeichert werden. Sie müssen ein benutzerdefiniertes Ladeprogramm bzw. einen benutzerdefinierten Viewer oder eine Anwendung eines Drittanbieters verwenden, um Objekte in ein BLOB-Feld zu laden bzw. den Inhalt eines BLOB-Feldes anzuzeigen.
Objekt-IDs
Wenn Sie eine Tabelle in ArcGIS erstellen, wird in der Tabelle ein eindeutiges ganzzahliges Feld, das keine NULL-Werte zulässt, für die Verwendung als Objektkennung (Objekt-ID) hinzugefügt. Das Objekt-ID-Feld wird von ArcGIS verwaltet und garantiert eine eindeutige Kennung für jede Zeile in der Tabelle. In einer Tabelle oder der Attributtabelle eines Layers ist das Objekt-ID-Feld in der Regel mit den Aliasnamen "OID" oder "ObjectID" für Tabellen und "FID" für Web-Feature-Layer und Shapefiles aufgeführt. Schlüsselfunktionen, z. B. das Scrollen und das Anzeigen von Auswahlsätzen, sind von der Existenz dieses Feldes abhängig.
Eine Objekt-ID ist auch dann erforderlich, wenn Sie eine Tabelle bei einer Enterprise-Geodatabase registrieren. Eine Erläuterung der Anforderungen an die Objekt-ID beim Registrieren einer Tabelle finden Sie unter Registrieren einer Tabelle oder Ansicht in der Geodatabase.
Für die meisten Funktionen in ArcGIS Pro, wie z. B. für das Werkzeug "Identifizieren", müssen die Werte im Objekt-ID-Feld eindeutig sein. Achten Sie deshalb beim direkten Arbeiten mit den Daten außerhalb von ArcGIS darauf, dass keine doppelten Objekt-IDs erstellt werden. Wenn Sie z. B. eine Ansicht in einer Datenbank mit einer Eins-zu-Viele-Beziehung erstellen, besteht die Möglichkeit, dass Objekt-IDs dupliziert werden. Dies kann bei Funktionen in ArcGIS Pro zu inkonsistentem Verhalten führen.
Wenn Sie der Karte eine Datenbanktabelle hinzufügen, ist eine Objekt-Kennung erforderlich. Findet ArcGIS kein Integer-Feld ungleich Null, das als Objekt-ID verwendet werden kann, werden Sie aufgefordert, ein Feld auszuwählen, das als Objekt-ID verwendet werden soll. Weitere Informationen finden Sie unter Eindeutige Kennungsfelder.
Hinweis:
Da ArcGIS die Werte in diesen Datenbankfeldern nicht pflegt, ist nicht garantiert, dass alle Werte in diesen Feldern eindeutig sind.
GUIDs
Mit den Datentypen "Global-ID" und "GUID" werden Zeichenfolgen aus 36 Zeichen gespeichert (ähnlich denen in der Registrierung), die in geschweifte Klammern eingeschlossen sind. Global-IDs werden nur in Geodatabases unterstützt. In allen Geodatabases mit Ausnahme der Geodatabases in Microsoft SQL Server werden Global-IDs in Textfeldern gespeichert, und die in einem Global-ID-Feld gespeicherten Zeichen sind grundsätzlich Großbuchstaben.
Bei der Erstellung von Global-IDs werden das Gerät und die Zeit berücksichtigt. Angesichts der vernachlässigbaren Wahrscheinlichkeit, dass doppelte Werte erstellt werden, werden diese Zeichenfolgen zur eindeutigen Identifizierung von Features oder Zeilen in einer Tabelle in einer Geodatabase oder über mehrere Geodatabases hinweg verwendet. Dies dient der Nachverfolgung von Features bei unidirektionalen und bidirektionalen Geodatabase-Replikationen. Entwickler können diese in Beziehungen oder in Anwendungen verwenden, die GUIDs erfordern. Wenn bei einer Beziehung ein Global-ID-Feld der Ursprungsschlüssel ist, muss der Zielschlüssel ein GUID-Feld sein. Sie können einem Dataset in einer Geodatabase Global-IDs hinzufügen, indem Sie das Geoverarbeitungswerkzeug Global-IDs hinzufügen verwenden. In der Geodatabase werden die Werte anschließend automatisch verwaltet. Sie können auch ein GUID-Feld erstellen, müssen jedoch seine Werte beibehalten.
In Datenbanken mit einem nativen GUID-Datentyp, beispielsweise SQL Server, werden Global-ID- und GUID-Werte als 16 Byte gespeichert. In Datenbanken ohne nativen GUID-Datentyp werden sie in 38 Bytes gespeichert.
Hinweise zu Global-IDs
Beachten Sie bei der Verwendung von Global-IDs die folgenden Hinweise:
- GUID-Felder können Geodatabase-Datasets über die Ansicht "Felder" oder den Befehl Neues Feld im Tabellenfenster hinzugefügt werden.
- Sie können Global-IDs für Standalone-Feature-Classes, Tabellen und attributierte Beziehungsklassen in Geodatabases hinzufügen. Global-IDs können nicht zu einzelnen Datasets in einem Feature-Dataset hinzugefügt werden. Wenn Sie Global-IDs für ein Feature-Dataset aktivieren, werden sie allen Datasets im Feature-Dataset hinzugefügt.
- Global-IDs können nicht zu Tabellen in einer Datenbank hinzugefügt werden.
- Wenn bereits eine Global-ID-Spalte vorhanden ist, wird durch das Werkzeug Global-IDs hinzufügen die vorhandene Spalte beibehalten. Die vorhandene Global-ID-Spalte wird nicht gelöscht, und es wird keine neue hinzugefügt.
- Wenn Sie einem Feature-Dataset in einer Geodatabase eine Feature-Class hinzufügen und außerdem eine Global-ID-Spalte hinzufügen möchten, müssen Sie das Werkzeug Global-IDs hinzufügen für das Feature-Dataset ausführen. Der neuen Feature-Class wird eine Global-ID-Spalte hinzugefügt. Feature-Classes im Feature-Dataset, die bereits eine Global-ID-Spalte enthalten, werden nicht geändert.
- Beim Kopieren und Einfügen, bei der Datenextraktion und beim XML-Workspace-Export und -Import bleiben die Global-ID-Werte in der Ausgabe-Geodatabase erhalten. Dadurch ist es möglich, nicht-eindeutige Global-IDs in einer Datenbank zu haben. Bei anderen Methoden zum Datenexport und -import bleiben diese Werte nicht erhalten.
Felder vom Typ "Raster"
Im Gegensatz zu einem Hyperlink, mit dem das Feld eines Features nur mit einem Bild verbunden wird, können in einem Feld des Typs "Raster" die eigentlichen Raster-Daten innerhalb oder zusammen mit der Geodatabase gespeichert werden. Weitere Informationen finden Sie im Abschnitt Hinzufügen von Raster-Datasets als Attribute in einer Feature-Class.
Hinweis:
Mobile Geodatabases unterstützen Raster-Spalten nicht. Sie unterstützen jedoch die Verwendung von Anlagen zum Verknüpfen von nicht geographischen Daten, wie zum Beispiel Fotos oder Dokumenten, mit einem Feature.Weitere Informationen zum Arbeiten mit Geoverarbeitungswerkzeugen für Anlagen
Geometrie
In ArcGIS wird mit dem Datentyp "Geometrie" der in der Tabelle gespeicherte Geometrietyp angegeben: Punkt, Linie, Polygon, Multipoint oder Multipatch. Das Feld mit dem Datentyp "Geometrie" wird meist als SHAPE bezeichnet, wenn es mit ArcGIS erstellt wurde.
"Geometrie" ist der von ArcGIS verwendete Datentyp. Wenn Sie beispielsweise für eine neue Feature-Class Polygon-Features auswählen, weist das standardmäßig hinzugefügte SHAPE-Feld den ArcGIS-Datentyp "Geometrie" auf.
Für den Parameter Geometrietyp des Werkzeugs Feature-Class erstellen lautet der Standard-Geometrietyp "Polygon".
Wenn Sie eine Feature-Class mit einem anderen Feature-Typ (Linie, Punkt, Multipoint, Multipatch, Dimension oder Annotation) erstellen, ändert sich für das Feld SHAPE die Angabe in der Zeile "Geometrietyp" entsprechend in "Linie", "Punkt", "Multipoint" oder "Multipatch" bzw. bei den Feature-Typen "Dimension" und "Annotation" in "Polygon".
Wenn Sie ein Geometriefeld in einer Feature-Class in einer Datenbank oder Enterprise-Geodatabase erstellen, müssen Sie ebenfalls den Datenbankdatentyp berücksichtigen. Das Verfahren zum Speichern des Feldes SHAPE im DBMS hängt von dem Geometriespeichertyp ab, der im DBMS verwendet wird. Wenn Sie eine Feature-Class in einer Enterprise-Geodatabase erstellen, wird der verwendete Geometriespeichertyp von der Einstellung des Parameters GEOMETRY_STORAGE im Konfigurationsschlüsselwort bestimmt, die Sie angeben. Wenn Sie eine Feature-Class in einer Datenbank erstellen, definieren Sie den räumlichen Typ des Feldes im Parameter Konfigurationsschlüsselwort im Abschnitt Geodatabase-Einstellungen des Werkzeugs Feature-Class erstellen.