Available with Advanced license.
Summary
Joins the item definitions and values of two tables based on a shared item. Joining involves appending items (fields) of one table to those of another through an attribute or item common to both tables. A join is usually used to attach more attributes to the attribute table of a geographic layer.
A record in the Join Info Table is matched to each record of the Input Info Table when the Relate Item and Start Item values are equal. The item values from the two records are copied to the output table.
Illustration
Usage
To maintain the integrity of a feature INFO table, do not insert items before the Input INFO Table-ID (when the Output INFO Table equals the Input INFO Table).
It is recommended that you use a Relate Item of the same definition in the two tables to be joined.
If the same item name is encountered in both tables, the item from the Input INFO Table is maintained and the Join INFO Table item is excluded.
To avoid loss of information and redundant data storage, ensure that items in the two tables match one-to-one. If this one-to-one correspondence does not exist, one of the following will occur:
- If an Input Info Table record matches more than one record in the Join Info Table, only one match is saved to the Output Info Table. The record that is saved may or may not be the first match of the file, depending on whether the item is indexed.
- If an Input Info Table record does not match any record in the Join Info Table, the values of the Join Info Table items in the corresponding Output Info Table record are set to zero or left blank.
- If a Join Info Table record matches more than one record in the Input Info Table, the Join Info Table record is merged with every matching Input Info Table record.
- If a Join Info Table record does not match any record in the Input Info Table, it will not appear in the Output Info Table.
When specifying the Start Item, do not insert the items to be joined before the Input Info Table-ID in any feature INFO table.
If the Input Info Table and Join Info Table have identical fields, then Join Info Tables will return a message "No Non-duplicate items in join.file". It means there were no new items to join.
The speed of execution will depend on the organization of the files being joined. In general, LINK is the fastest matching operation, then LINEAR with an indexed Relate Item, then ORDERED. Although the fastest option, LINK cannot be applied to most cases.
The LINEAR option is optimized if the Relate Item has been indexed.
The Input Info Table and Join Info Table can contain redefined items. A redefined item can be used as the Relate Item in most cases. When a redefined item contains items of different types and is numeric, its use as the Relate Item is not recommended. Such a redefined item can result in illogical or untranslatable numbers.
If the Join Info Table contains more than one record for each Relate Item value, the first record encountered by Join Info Tables will be used. This only applies to the LINEAR option.
The alternate item names of the Relate Item need not be the same for Join Info Tables to work.
You can match an integer item to a numeric item as long as the values are identical. For example, an integer item with a value of 123 will match a numeric item with a value of 123.00 but fail to match a value of 123.01 or 122.99.
You can match a numeric item to another numeric item having a different number of decimal places as long as the values match. For example, a numeric item with two decimal places with a value of 123.45 will match a numeric item with four decimal places carrying a value of 123.4500. However, it will fail to match a value of 123.4501 or 123.4499. The number of decimal places in the Relate Item of the Output INFO Table will be the same as the number of decimal places in the Relate Item of the Input INFO Table.
To maintain the input table, name the output table differently.
Syntax
arcpy.arc.JoinItem(in_info_table, join_info_table, out_info_table, relate_item, {start_item}, {relate_type})
Parameter | Explanation | Data Type |
in_info_table | The INFO data file to which items and their values are to be added. | INFO Table |
join_info_table | The INFO data file that contains the items and values to be added. | INFO Table |
out_info_table | The INFO data file produced by Join Info Tables. If Output Info Table already exists, it will be replaced. | INFO Table |
relate_item | An item contained in the Input Info Table that is used as an index to records in the Join Info Table. This can be a redefined item. | String |
start_item (Optional) | The item in the Input Info Table list after which the Join Info Table items will be inserted. The default Start Item is the last item in the Input Info Table. | String |
relate_type (Optional) | How Join Info Table records are matched to Input Info Table records.
| String |
Code sample
JoinItem example (stand-alone script)
The following stand-alone script demonstrates how to join two INFO tables.
# 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, "", "")
Environments
Licensing information
- Basic: No
- Standard: No
- Advanced: Requires ArcInfo Workstation installed