INFO-Tabelle verbinden (Coverage)
Zusammenfassung
Mit diesem Werkzeug werden die Felddefinitionen und -werte zweier Tabellen basierend auf einem gemeinsamen Feld verbunden. Beim Verbinden werden die Felder einer Tabelle an die einer anderen angehängt, wobei ein Attribut oder Feld verwendet wird, das in beiden Tabellen enthalten ist. Eine Verbindung wird in der Regel zum Anfügen mehrerer Attribute an die Attributtabelle eines geographischen Layers verwendet.
Wenn die Werte im Relate-Feld und Startfeld identisch sind, wird den einzelnen Datensätzen der Eingabe-INFO-Tabelle ein Datensatz der Join-INFO-Tabelle zugeordnet. Die Feldwerte aus beiden Datensätzen werden in die Ausgabetabelle kopiert.
Weitere Informationen zur Funktionsweise von "INFO-Tabelle verbinden"
Bild
Verwendung
-
Um die Integrität der Feature-INFO-Tabelle zu bewahren, sollten Sie vor der ID der Eingabe-INFO-Tabelle keine Felder einfügen (wenn die Ausgabe-INFO-Tabelle und die Eingabe-INFO-Tabelle identisch sind).
-
Es wird empfohlen, in den zu verbindenden Tabellen ein Relate-Feld mit derselben Definition zu verwenden.
-
Wenn der Feldname in beiden Tabellen identisch ist, wird das Feld aus der Eingabe-INFO-Tabelle beibehalten und das Feld der Join-INFO-Tabelle ausgeschlossen.
-
Überprüfen Sie, ob die Felder in den beiden Tabellen sich 1:1 entsprechen, um Informationsverluste oder überflüssige Datenspeicherung zu vermeiden. Existiert diese 1:1-Entsprechung nicht, tritt einer der folgenden Fälle ein:
- Wenn ein Datensatz der Eingabe-INFO-Tabelle mit mehreren Datensätzen in der Join-INFO-Tabelle übereinstimmt, wird nur ein Datensatzpaar in der Ausgabe-INFO-Tabelle gespeichert. Der Datensatz, der gespeichert wird, kann der erste Match der Datei sein (oder auch nicht), je nachdem, ob das Feld indiziert ist.
- Entspricht ein Datensatz der Eingabe-INFO-Tabelle keinem Datensatz in der Join-INFO-Tabelle, werden die Werte der Felder in der Join-INFO-Tabelle im übereinstimmenden Datensatz der Ausgabe-INFO-Tabelle auf 0 gesetzt oder leer gelassen.
- Entspricht ein Datensatz der Join-INFO-Tabelle mehr als einem Datensatz in der Eingabe-INFO-Tabelle, wird der Datensatz der Join-INFO-Tabelle mit jedem übereinstimmenden Datensatz der Ausgabe-INFO-Tabelle zusammengeführt.
- Wenn ein Datensatz in der Join-INFO-Tabelle keinem Datensatz in der Eingabe-INFO-Tabelle entspricht, wird er nicht in die Ausgabe-INFO-Tabelle aufgenommen.
-
Fügen Sie bei Angabe des Startfeldes in keiner Feature-INFO-Tabelle die zu verbindenden Felder vor der Kennung der Eingabe-INFO-Tabelle ein.
-
Wenn die Eingabe-INFO-Tabelle und die Join-INFO-Tabelle identische Felder aufweisen, wird bei Ausführung von "INFO-Tabelle verbinden" die Meldung "No Non-duplicate items in join.file" angezeigt. Sie besagt, dass keine neuen Felder vorhanden sind, die verbunden werden können.
-
Die Ausführungsgeschwindigkeit hängt dann von der Organisation der zusammenzuführenden Dateien ab. Die schnellste Zuordnung erreichen Sie mit LINK, gefolgt von LINEAR mit indiziertem Relate-Feld und ORDERED. Obwohl LINK die schnellste Option ist, kann sie in den meisten Fällen nicht eingesetzt werden.
-
Die Option LINEAR wird durch Indizierung des Relate-Feldes optimiert.
-
Die Eingabe-INFO-Tabelle und die Join-INFO-Tabelle können neu definierte Felder enthalten. In den meisten Fällen können neu definierte Felder als Relate-Felder verwendet werden. Wenn ein neu definiertes Feld Felder unterschiedlicher Typen enthält und numerisch ist, wird seine Verwendung als Relate-Feld nicht empfohlen. Ein solches neu definiertes Feld kann unlogische oder nicht übersetzbare Zahlen zur Folge haben.
-
Wenn die Join-INFO-Tabelle mehrere Datensätze mit dem Wert des Relate-Feldes enthält, wird der erste vom Befehl "INFO-Tabelle verbinden" gefundene Datensatz verwendet. Dies gilt nur für die Option LINEAR.
-
Die Alternativnamen für das Relate-Feld müssen nicht übereinstimmen, damit "INFO-Tabelle verbinden" ausgeführt werden kann.
-
Sie können einem numerischen Feld ein Ganzzahl-Feld zuordnen, vorausgesetzt, die Werte stimmen überein. Ein Ganzzahl-Feld mit dem Wert 123 kann beispielsweise einem numerischen Feld mit dem Wert 123,00, nicht jedoch einem numerischen Feld mit dem Wert 123,01 oder 122,99 zugeordnet werden.
-
Sie können ein numerisches Feld einem numerischen Feld mit einer anderen Anzahl an Dezimalstellen zuordnen, vorausgesetzt, die Werte stimmen überein. Ein numerisches Feld mit zwei Dezimalstellen mit dem Wert 123,45 stimmt z. B. mit einem numerischen Feld mit vier Dezimalstellen überein, das den Wert 123,4500 hat. Es kann jedoch nicht dem Wert 123,4501 oder 123,4499 zugeordnet werden. Die Anzahl der Dezimalstellen im Relate-Feld der Ausgabe-INFO-Tabelle ist identisch mit der Anzahl der Dezimalstellen im Relate-Feld der Eingabe-INFO-Tabelle.
-
Speichern Sie die Ausgabetabelle unter einem anderen Namen, um die Eingabetabelle beizubehalten.
Syntax
Parameter | Erläuterung | Datentyp |
in_info_table |
Die INFO-Datendatei, der Felder und ihre Werte hinzugefügt werden sollen. | INFO Table |
join_info_table |
Die INFO-Datendatei, die die hinzuzufügenden Felder und Werte enthält. | INFO Table |
out_info_table |
Die von "INFO-Tabelle verbinden" erzeugte INFO-Datendatei. Wenn bereits eine Ausgabe-INFO-Tabelle vorhanden ist, wird diese überschrieben. | INFO Table |
relate_item |
Das Feld in der Eingabe-INFO-Tabelle, das für die Datensätze in der Join-INFO-Tabelle als Index verwendet wird. Dies kann ein neu definiertes Feld sein. | String |
start_item (optional) |
Das Feld in der Eingabe-INFO-Tabelle, nach dem die Felder aus der Join-INFO-Tabelle eingefügt werden. Standardmäßig ist das letzte Feld in der Eingabe-INFO-Tabelle das Startfeld. | String |
relate_type (optional) |
Die Art und Weise, wie die Datensätze der Join-INFO-Tabelle den Datensätzen der Eingabe-INFO-Tabelle zugeordnet werden.
| String |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie zwei INFO-Tabellen verbunden werden.
# Name: JoinItem_Example.py
# Description: Joins two INFO tables
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inInfoTable = "maritime1/us5tx51m_p/point"
joinInfoTable = "maritime1/us5tx51m.lights_ncode"
outInfoTable = "C:/output/lightpoints"
relateItem = "RCID"
# Execute JoinItem
arcpy.JoinItem_arc(inInfoTable, joinInfoTable, outInfoTable,
relateItem, "", "")