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) oder 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 alle Datentypen erläutert, die beim Erstellen einer Feature-Class oder Tabelle in ArcGIS zur Verfügung stehen. Wenn Sie Daten in einer Datenbank oder einer Geodatabase in einem Datenbankmanagementsystem (DBMS) speichern, entsprechen sich die Datentypen in ArcGIS und dem DBMS möglicherweise nicht exakt. Die Zuordnung erfolgt jeweils zu dem am ehesten geeigneten Datentyp. Dieser Vorgang wird als Datentypzuordnung bezeichnet. Bei dieser Zuordnung können Werte im DBMS 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 der Feature-Class-Eigenschaften in ArcGIS Desktop angezeigt wird, sich von dem zu Beginn eingegebenen Datentyp unterscheidet. Weitere Informationen zur Datentypzuordnung für Datenbankmanagementsysteme finden Sie im Abschnitt Datentypen im DBMS.
Zusätzlich können weitere Datenspeicherungsformate, wie Shapefiles oder DBF-Tabellen, 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 (Gleitkommazahl mit einfacher Genauigkeit)
- Double (Gleitkommazahlen mit doppelter Genauigkeit)
Berücksichtigen Sie beim Auswählen des Datentyps zuerst, 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 Zahlen mit Dezimalstellen benötigen, beispielsweise 0,23 oder 1234,5678, verwenden Sie die Datentypen "Float" oder "Double".
Entscheiden Sie sich bei der Auswahl zwischen "Short Integer" und "Long Integer" bzw. "Float" oder "Double" dann für den Datentyp, der am wenigsten Speicherplatz belegt. Dadurch verringert sich nicht nur der Speicherplatzbedarf, es verbessert sich auch die Performance. Wenn Sie 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. Wenn Sie Dezimalzahlen zwischen -3.4E38 und 1,2E38 speichern müssen, legen Sie als Datentyp "Float" fest, weil dieser nur 4 Bytes belegt. Für den Datentyp "Double" wären 8 Bytes notwendig. In der folgenden Tabelle sind die Datentypen sowie deren Wertebereiche und Speicherplatzbedarf angegeben. Die aufgeführten Wertebereiche gelten für File- und Personal-Geodatabases. Die Bereiche in Datenbanken und Enterprise-, Workgroup- und Desktop-Geodatabase weichen geringfügig ab.
Datentyp | Wertebereich | Größe (Byte) | Anwendungen |
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 Zahlenfelder für eine Tabelle in einer File- oder Personal-Geodatabase angeben, müssen Sie lediglich den Datentyp angeben. Wenn Sie Zahlenfelder für eine Datenbank oder Enterprise-, Workgroup- oder Desktop-Geodatabase angeben, müssen Sie darüber hinaus die Genauigkeit (die maximale Feldlänge) und die Dezimalstellen (die maximale Anzahl der Nachkommastellen) angeben.
Durch Angabe der Genauigkeit und der Dezimalstellen 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 ebenso wie 12,3 oder 12 als Eingabe im Feld zulässig. Wenn Sie 12,345 eingeben, wird eine Fehlermeldung angezeigt, da hiermit die zulässige Höchstzahl an Ziffern und Dezimalstellen überschritten wird. Wenn Sie jedoch den Datentyp "Float" mit der Genauigkeit 5 und 3 Dezimalstellen angeben, ist 12,345 als Eingabe zulässig.
Die Datentypen und die entsprechenden möglichen Werte für Genauigkeit und Dezimalstellen sind in der folgenden Tabelle aufgeführt. Wählen Sie anhand dieser Tabelle den Datentyp, die Genauigkeit und die Anzahl der Dezimalstellen aus:
Datentyp | Genauigkeit (Feldlänge) | Dezimalstellen (Nachkommastellen) |
---|---|---|
Short Integer* | 1–4 (PostgreSQL) 1–5 (Oracle, SQL Server und Netezza) 5 (DB2, Informix) | 0 |
Long Integer | 5-9 (PostgreSQL) 6–9 (DB2, Informix, Netezza und SQL Server) 6–10 (Oracle) | 0 |
Gleitkomma | 1–6 | 1–6 |
Double | 7+ | 0+ |
*In ArcGIS Desktop 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. Aus diesem Grund können Sie 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 Desktop erstellt wurden, muss für keine Datenbank außer Oracle die Genauigkeit angegeben werden. Für Short-Integer-Spalten, die ArcGIS Desktop für SQL Server- oder PostgreSQL-Datenbanken erstellt wurden, muss keine Genauigkeit angegeben werden.
In der folgenden Tabelle finden Sie Beispiele für Zahlenbereiche und Möglichkeiten für deren Speicherung in einer Datenbank oder Enterprise-, Workgroup- oder Desktop-Geodatabase:
Range | Datentyp | Genauigkeit (Feldlänge) | Dezimalstellen (Nachkommastellen) |
---|---|---|---|
0 bis 99 | Short Integer | 2 | 0 |
-99 bis 99* | Short Integer | 3 | 0 |
0 bis 32.767* | Short Integer | 5 | 0 |
32.768 bis 99.999 | Long Integer | 5 | 0 |
0,001 bis 0,999 | Gleitkomma | 4 | 3 |
1.000,00 bis 9.999,99 | Gleitkomma | 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" können in File- und Personal-Geodatabases nur Zahlen aus maximal 6 Ziffern exakt gespeichert werden. Die Zahl 123.456,7 beispielsweise kann in einem Feld mit dem Datentyp "Float" nicht gespeichert werden, da diese Zahl mehr als sechs Ziffern aufweist. Zwar kann die Zahl in einer File- oder Personal-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. Wenn Sie diese Zahl exakt speichern müssen, sollten Sie sie in einem Feld mit dem Datentyp "Double" speichern. In Enterprise-, Workgroup-, und Desktop-Geodatabases sowie Datenbanken können Sie in Feldern mit dem Datentyp "Float" 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. Dabei wird eine Textbeschreibung als numerischer Wert codiert. Sie könnten 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 ganzzahligen Feld verknüpfen, das die Codes speichert, zeigt die Geodatabase die Textbeschreibung an, wenn Sie die Tabelle in ArcGIS Desktop 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.
Daten
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
Das ObjectID-Feld wird von ArcGIS verwaltet und garantiert eine eindeutige Kennung für jede Zeile in der Tabelle. Wichtige Funktionen in ArcGIS, wie das Schwenken, Identifizieren von Features und Darstellen von Auswahlsätzen, hängen von dem Vorhandensein dieses Feldes ab, und erfordern, dass die Werte eindeutig sind.
Da für die meisten Basisfunktionen von ArcGIS Desktop eine eindeutige Objekt-ID erforderlich ist, müssen Sie darauf achten, dass Sie beim Arbeiten mit der Datenbank außerhalb von ArcGIS keine Objekt-ID-Werte duplizieren. Wenn Sie z. B. Sichten mit einer Eins-zu-viele-Beziehung erstellen, besteht die Möglichkeit, dass ObjectIDs dupliziert werden. Dies kann bei Funktionen in ArcGIS Desktop zu inkonsistentem Verhalten führen.
Wenn Sie ArcMap eine Datenbanktabelle hinzufügen, ist eine Objekt-Kennung erforderlich. Findet ArcGIS kein Ganzzahlfeld ohne NULL-Wert, das als Objekt-ID verwendet werden kann, werden Sie aufgefordert, ein Feld auszuwählen. Weitere Informationen finden Sie unter Auswählen eines eindeutigen Kennungsfeldes für einen Abfrage-Layer.
GUIDs
Mit den Datentypen "Global-ID" und "GUID" werden registerartige Zeichenfolgen aus 36 Zeichen gespeichert, die in geschweifte Klammern eingeschlossen sind. Mit diesen Zeichenfolgen werden Features oder Tabellenzeilen innerhalb einer Geodatabase oder Geodatabase-übergreifend eindeutig gekennzeichnet. 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 globale IDs hinzufügen, indem Sie im Kataloginhaltsverzeichnis mit der rechten Maustaste darauf klicken und im Kontextmenü die Option Globale IDs hinzufügen auswählen. In der Geodatabase werden die Werte automatisch verwaltet. Sie können auch GUID-Felder erstellen, müssen jedoch ihre Werte beibehalten.
In Datenbanken mit einem nativen GUID-Datentyp, beispielsweise Personal-Geodatabases und Microsoft SQL Server, werden Global ID- und GUID-Werte als 16 Byte gespeichert. In Datenbanken ohne nativen GUID-Datentyp werden sie in 38 Bytes gespeichert.
Einige Hinweise zu GUIDs
- GUID-Felder können Geodatabase-Datasets über die Registerkarte Felder im Dialogfeld Eigenschaften eines Features oder mit dem Befehl Feld hinzufügen im Tabellenfenster hinzugefügt werden.
- Der Befehl Globale IDs hinzufügen ist für Standalone-Feature-Classes, Tabellen und attributierte Beziehungsklassen in Geodatabases verfügbar. Er kann nicht für einzelne Datasets in einem Feature-Dataset, sondern nur für das gesamte Feature-Dataset ausgeführt werden. Eine Ausführung für Tabellen in einer Datenbank ist ebenfalls nicht möglich.
- Wenn bereits eine Spalte für die globale ID vorhanden ist, wird durch den Befehl die vorhandene Spalte beibehalten. Diese wird nicht gelöscht, und es wird keine neue Spalte für die globale ID hinzugefügt.
- Wenn Sie einem Feature-Dataset in einer Geodatabase eine Feature-Class hinzufügen und außerdem eine Spalte für die globale ID hinzufügen möchten, müssen Sie den Befehl Globale IDs hinzufügen für das Feature-Dataset ausführen. Dadurch wird der neuen Feature-Class und allen anderen Feature-Classes, in denen noch keine Global-ID-Spalte vorhanden ist, eine Global-ID-Spalte hinzugefügt. Feature-Classes, die bereits eine Global-ID-Spalte enthalten, werden nicht geändert.
- Bei Kopieren und Einfügen, Datenextraktion und XML-Workspace-Export und -Import bleiben die Werte der globalen IDs in der Ausgabe-Geodatabase erhalten. 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 einfach 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.
Geometry
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 Polygon-Features für eine neue Feature-Class auswählen (siehe unten), wird von ArcGIS das SHAPE-Feld hinzugefügt und diesem der ArcGIS-Datentyp "Geometrie" zugeordnet.
Im Abschnitt Feldeigenschaften des Dialogfeldes Neue Feature-Class wird der Geometrietyp als Polygon aufgeführt.
Wenn Sie eine Feature-Class mit einem anderen Feature-Typ (Linie, Punkt, Multipoint, Multipatch, Bemaßung 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 "Bemaßung" und "Annotation" in "Polygon".
Wenn Sie ein Geometriefeld in einer Feature-Class in einer Datenbank oder Enterprise-, Workgroup- oder Desktop-Geodatabase erstellen, muss ein weiterer Datentyp berücksichtigt werden: der Datenbankdatentyp. Das Verfahren zum Speichern des SHAPE-Feldes in der Datenbank hängt von dem Geometriespeichertyp ab, der im DBMS verwendet wird. Wenn Sie eine Feature-Class in einer Datenbank erstellen, definieren Sie den räumlichen Typ des Feldes im Abschnitt Feldeigenschaften des Dialogfeldes Neue Feature-Class. Wenn Sie eine Feature-Class in einer Geodatabase erstellen, wird der verwendete Geometriespeichertyp von der Einstellung des Parameters GEOMETRY_STORAGE im Konfigurationsschlüsselwort bestimmt, die Sie angeben.