Grundlagen zu ObjectID-Feldern
Das ObjectID-Feld wird von ArcGIS verwaltet und garantiert eine eindeutige Kennung für jede Zeile in einer Tabelle. In einer Tabelle oder der Attributtabelle eines Layers ist das ObjectID-Feld in der Regel unter dem Aliasnamen "OID" oder "ObjectID" aufgeführt. Schlüsselfunktionen, z. B. das Scrollen und das Anzeigen von Auswahlsätzen, sind von der Existenz dieses Feldes abhängig.
Die meisten von ArcCatalog und ArcMap unterstützten Datenquellen verfügen über ein ObjectID-Feld mit eigenen Tabellendaten. In diesen Fällen wird direkt auf das ObjectID-Feld zugegriffen, und das Feld wird vom Tabellenfenster in ArcMap und von der Tabellenvorschau in ArcCatalog verwendet. Die folgenden Datenquellen enthalten jedoch kein ObjectID-Feld mit Tabellendaten:
- OLE-DB-Daten
- Textdateidaten (durch Trennzeichen getrennt)
- Microsoft Excel-Daten
- Nicht räumliche Daten aus SDE 3 (Hinweis: Räumliche Daten verfügen über ein ObjectID-Feld.)
- Nicht registrierte nicht räumliche Daten aus ArcSDE (Hinweis: Nicht registrierte räumliche Daten verfügen über ein ObjectID-Feld.)
- Nicht registrierte Daten aus einer Personal-Geodatabase
Wenn Sie sich nicht sicher sind, welche Art von Tabelle Sie bearbeiten und ob diese ein ObjectID-Feld besitzt, können Sie das schnell herausfinden. Klicken Sie in ArcMap am oberen Rand des Inhaltsverzeichnis-Fensters auf die Schaltfläche Nach Quelle auflisten , klicken Sie mit der rechten Maustaste im Inhaltsverzeichnis auf die Tabelle, und klicken Sie dann auf Eigenschaften. Klicken Sie im Dialogfeld Eigenschaften: Tabelle auf die Registerkarte Quelle, und suchen Sie für den Eintrag Hat Objekt-ID-Feld nach der Angabe "Ja" oder "Nein". In ArcMap oder ArcCatalog können Sie das Dialogfeld Eigenschaften der Tabelle öffnen und auf die Registerkarte Felder klicken. Falls kein Feld mit dem Datentyp "ObjectID" aufgelistet ist, verfügen diese Daten über kein ObjectID-Feld.
Wenn in einer Tabelle das ObjectID-Feld fehlt, können Sie folgende Aufgaben nicht ausführen:
- Selektieren von Features im Karten-Layer. Sie können zwar Datensätze im Tabellenfenster auswählen, einschließlich der Verwendung eines Ausdrucks für Nach Attributen auswählen, dieser Auswahlsatz wird jedoch in der Karte nicht angezeigt.
- Ausführen einer Definitionsabfrage, um nur eine Teilmenge der Datensätze oder Features anzuzeigen.
- Erstellen von Beziehungen. Sie können jedoch von einer Tabelle mit einem ObjectID-Feld auf eine Tabelle ohne ObjectID-Feld verweisen. In diesem Fall kann das Werkzeug "Identifizieren" anhand der Beziehung zugehörige Datensätze abrufen. Ausgewählte Elemente können nicht über die Beziehung verschoben werden.
- Starten einer Editiersitzung und Bearbeiten der Attribute. Sie können jedoch direkt auf der Festplatte die Tabelle bearbeiten, auf der der Layer basiert, z. B. in einem Texteditor, wenn es sich bei der Datei um eine TXT-Datei handelt. Die Änderungen werden in der Karte nach der nächsten Aktualisierung der Karte angezeigt.
Zum Erstellen eines ObjectID-Feldes für Daten bestehen mehrere Möglichkeiten:
- Wenn Sie mit einer Tabelle mit XY-Koordinaten arbeiten und diese in ArcMap anzeigen, können Sie den XY-Layer in eine neue Feature-Class exportieren. Außerdem können Sie eine Koordinatentabelle in eine neue Point-Feature-Class in ArcCatalog konvertieren. Mit beiden Verfahren wird eine voll funktionsfähige Feature-Class mit ObjectID erstellt.
- Mithilfe des Werkzeugs "Abfragetabelle erstellen" können Sie die Tabelle unter Verwendung einer OLE-DB-Verbindung erstellen und eine Spalte für die ObjectID angeben bzw. die ObjectID dynamisch hinzufügen.
- Bei bestimmten Datenquellen können Sie Daten mit ArcGIS registrieren und auf diese Weise ein ObjectID-Feld hinzufügen.
In ArcGIS und in der Geodatabase kann keine 64-Bit-Ganzzahl verwendet werden. Der maximal mögliche ObjectID-Wert liegt bei 2.147.483.648.