Alle in ArcGIS verwendeten Tabellen und Feature-Classes müssen ein Feld enthalten, das jede Zeile oder jedes Feature eindeutig kennzeichnet.
Um ein Feld als eindeutige Kennung in ArcGIS Pro zu verwenden, muss das Feld ungleich NULL sein, eindeutige Werte enthalten und einem der folgenden Datentypen entsprechen:
- Ganze Zahl (nur positive 32- und 64-Bit-Werte)
- Zeichenfolge
- GUID
- Datum
- Nur Datum
- Nur Zeit
Die Feldwerte müssen immer eindeutig und ungleich NULL sein. Sie müssen garantieren, dass die Werte dieses Feldes diese Anforderung erfüllen.
Hinweis:
Sie erhalten eine Fehlermeldung, wenn ArcGIS einen NULL-Wert feststellt, ArcGIS erzwingt jedoch nicht die Eindeutigkeit von Werten in einem eindeutigen Kennungsfeld, das in einem Abfrage-Layer oder einer Datenbanktabelle verwendet wird. Wenn ArcGIS auf einen nicht eindeutigen Wert stößt, wird kein Fehler zurückgegeben. Möglicherweise sind die Ergebnisse in Auswahlsätzen oder anderen Abfragen in ArcGIS jedoch inkonsistent.
Wenn Sie eine Tabelle aus einer relationalen Datenbank oder einem Cloud Data Warehouse auf eine Karte ziehen oder eine Abfrage-Layer-Definition für Daten in diesen Quellen validieren, legt ArcGIS das erste Feld ungleich NULL, das gefunden wird, standardmäßig als eindeutiges Kennungsfeld fest. Sie können dieses Feld verwenden oder die Abfragedefinition ändern und ein anderes Feld auswählen, oder Sie können eine Reihe von Feldern auswählen, die als eindeutige Kennung verwendet werden sollen.
Wenn Sie eine Tabelle aus einer Dokumentdatenbank einer Karte hinzufügen, verwendet ArcGIS Pro automatisch ein vom System verwaltetes Zeichenfolgenfeld (_id) als Objekt-ID.
Verwenden eines einzelnen Feldes als eindeutige Kennung
Wenn ein einzelnes ganzzahliges Feld als eindeutige Kennung angegeben wird, verwendet ArcGIS die Werte in diesem Feld direkt, um alle Features und Zeilen in der Datenbanktabelle eindeutig zu identifizieren.
Wenn die Datenbanktabelle über kein Feld verfügt, das als eindeutige Kennung verwendet werden kann, und Sie eine DamengDameng-, IBM Db2-, Microsoft SQL ServerOracle- oder PostgreSQL-Datenbank verwenden, können Sie das Geoverarbeitungswerkzeug Inkrementelles ID-Feld hinzufügen verwenden, um der Tabelle ein eindeutiges Kennungsfeld mit einem ganzzahligen Wert hinzuzufügen.
Wenn ein einzelnes Zeichenfolgenfeld als eindeutige Kennung für eine Tabelle in einer relationalen Datenbank verwendet wird, muss ArcGIS diese eindeutigen Werte einer Ganzzahl zuordnen. Dies geschieht in ArcGIS immer dann, wenn das System ein Objekt-ID-Attribut benötigt, z. B. beim Erstellen einer Kartenauswahl oder beim Öffnen der Attributtabelle. ArcGIS fügt ein Attribut namens "ESRI_OID" hinzu und speichert einen eindeutigen Ganzzahlwert darin. Dieses Attribut ist nur Teil der Layer-Definition; die zugrunde liegende Datenbanktabelle wird nicht geändert.
Verwenden einer zusammengesetzten eindeutigen Kennung
Sie können ein einzelnes Feld oder mehrere Felder auswählen, um eine eindeutige Kennung zu definieren. Wenn Sie mehrere Felder verwenden, müssen die kombinierten Werte in diesen Feldern eindeutig sein. Das folgende Beispiel zeigt zwei Textfelder – member_surname und signup_date. Einzeln sind die Werte in diesen Feldern möglicherweise nicht eindeutig. Als Kombination verwendet, sind die Werte eindeutig, wie im Folgenden dargestellt:
member_surname | signup_date |
---|---|
alfred | 2006-09-28 10:15:41 |
dewey | 2006-09-28 10:15:56 |
johnson | 2000-02-19 09:14:50 |
johnson | 2004-12-08 11:02:32 |
mujan | 2011-07-07 12:44:21 |
Die Kombination dieser Werte wird als Schlüssel verwendet, um einen eindeutigen Ganzzahlwert zu erzeugen, der in einem Attribut namens "ESRI_OID" gespeichert wird. Dieses Attribut ist nur Teil der Layer-Definition; die zugrunde liegende Datenbanktabelle wird nicht geändert.
Die Layer-Definition für das vorherige Beispiel enthält eine ESRI_OID-Spalte, wie im Folgenden dargestellt:
member_surname | signup_date | ESRI_OID |
---|---|---|
alfred | 2006-09-28 10:15:41 | 1 |
dewey | 2006-09-28 10:15:56 | 2 |
johnson | 2000-02-19 09:14:50 | 3 |
johnson | 2004-12-08 11:02:32 | 4 |
mujan | 2011-07-07 12:44:21 | 5 |
Wenn die kombinierten Werte des Feldes oder das einzelne Textfeld, das Sie angeben, nicht eindeutig sind, interpretiert ArcGIS diese Datensätze als identisch und ordnet sie dem gleichen ESRI_OID-Wert zu.
Wenn die Tabelle bereits ein Feld mit dem Namen "ESRI_OID" enthält, wird der Layer-Definition ein Attribut mit dem Namen "ESRI_OID_1" hinzugefügt.
Hinweis:
Veröffentlichen Sie keinen Feature-Service (Web-Feature-Layer), der einen Abfrage-Layer mit einer zusammengesetzten eindeutigen Kennung enthält.