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 mit den Aliasnamen "OID" oder "ObjectID" für Tabellen und Layer 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 in der Ansicht Nach Quelle auflisten mit der rechten Maustaste auf die Tabelle mit dem Inhaltsverzeichnis und 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:
- Auswählen von Features im Karten-Layer. Auch wenn Sie Datensätze im Tabellenfenster auswählen können, was auch über Ausdrücke im Dialogfeld Nach Attributen auswählen möglich ist, wird dieser Auswahlsatz in der Karte jedoch nicht angezeigt.
- Sie können eine Definitionsabfrage ausführen, um nur eine Teilmenge der Datensätze oder Features anzuzeigen.
- Sie können keine Beziehungen erstellen. 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.
- Sie können keine Editiersitzung beginnen und die Attribute bearbeiten. 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 X-, Y-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.
- Mit dem Werkzeug Abfragetabelle erstellen können Sie die Tabelle über eine OLE DB-Verbindung erstellen und eine Spalte angeben, die für die ObjectID verwendet wird, oder die ObjectID dynamisch hinzufügen.
- Bei bestimmten Datenquellen können Sie Daten mit ArcGIS registrieren und auf diese Weise ein ObjectID-Feld hinzufügen.