Zusammenfassung
In diesen Anweisungen wird beschrieben, wie Sie eine zugehörige Tabelle mit Python beschriften können. Es gibt keine vordefinierte Funktionalität zur Beschriftung einer zugehörigen Tabelle.
Hinweis: Ein Grundverständnis für Python-Funktionen und Such-Cursor ist erforderlich.
Vorgehensweise
In dem folgenden Code wird eine Python-Funktion "FindLabel" erstellt. Dabei werden nie Beziehungen erstellt, aber die zwei Schlüsselfelder werden in einer zweifachen Iteration verglichen.
- Öffnen Sie das Dialogfeld Beschriftungsausdruck.
- Klicken Sie mit der rechten Maustaste auf die zu beschriftende Feature-Class, und wählen Sie Eigenschaften aus.
- Klicken Sie auf die Registerkarte Beschriftungen.
- Klicken Sie auf Ausdruck, um das Dialogfeld Beschriftungsausdruck zu öffnen.
- Wählen Sie Python als Parser aus, und aktivieren Sie das Kontrollkästchen Erweitert.
- Kopieren Sie den folgenden Code, und fügen Sie ihn ein. Beachten Sie, dass [keyfield], [FirstLabel], key1, key2, L, L2 und myDataTable zur Anpassung an die Umgebung geändert werden müssen.
- [keyfield] und key1 sind die Schlüsselfelder der Feature-Class, die zum in Beziehung setzen mit der zugehörigen Tabelle verwendet werden.
- [FirstLabel] und L sind die Felder der Feature-Class, die beschriftet werden sollen.
- Key2 ist das Schlüsselfeld in der zugehörigen Tabelle.
- L2 ist das Feld der zugehörigen Tabelle, das auch beschriftet werden soll. myDataTable ist der Pfad und der Name der zugehörigen Tabelle.
def FindLabel ([keyField], [FirstLabel]): import arcpy key1 = [keyField] # Key field in feature class key2 = "ID" # Key field in related table L = [FirstLabel] # Label field in feature class L2 = "Label2" # Label field in related table myDataTable = r"<path-to-related-table>" # Path to related table cur = arcpy.da.SearchCursor(myDataTable, [key2, L2]) for row in cur: if str(key1) == str(row[0]): L = L + " " + str(row[1]) return L
- Klicken Sie auf OK, um zum Dialogfeld Layer-Eigenschaften zurückzukehren.
- Klicken Sie auf Übernehmen, um die Beschriftungen zu sehen.