com.esri.arcgis.geoprocessing.tools.coveragetools
Class JoinItem
java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.coveragetools.JoinItem
- All Implemented Interfaces:
- GPTool
public class JoinItem
- extends AbstractGPTool
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.
The Join Info Tables tool is contained in the Coverage Tools tool box.
Usage tips:
- 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.
Constructor Summary |
JoinItem()
Creates the Join Info Tables tool with defaults. |
JoinItem(java.lang.Object inInfoTable,
java.lang.Object joinInfoTable,
java.lang.Object outInfoTable,
java.lang.String relateItem)
Creates the Join Info Tables tool with the required parameters. |
Method Summary |
java.lang.Object |
getInInfoTable()
Returns the Input Info Table parameter of this tool . |
java.lang.Object |
getJoinInfoTable()
Returns the Join Info Table parameter of this tool . |
java.lang.Object |
getOutInfoTable()
Returns the Output Info Table parameter of this tool . |
java.lang.String |
getRelateItem()
Returns the Relate Item parameter of this tool . |
java.lang.String |
getRelateType()
Returns the Relate Type parameter of this tool . |
java.lang.String |
getStartItem()
Returns the Start Item parameter of this tool . |
java.lang.String |
getToolboxAlias()
Returns the alias of the tool box containing this tool. |
java.lang.String |
getToolboxName()
Returns the name of the tool box containing this tool. |
java.lang.String |
getToolName()
Returns the name of this tool. |
void |
setInInfoTable(java.lang.Object inInfoTable)
Sets the Input Info Table parameter of this tool . |
void |
setJoinInfoTable(java.lang.Object joinInfoTable)
Sets the Join Info Table parameter of this tool . |
void |
setOutInfoTable(java.lang.Object outInfoTable)
Sets the Output Info Table parameter of this tool . |
void |
setRelateItem(java.lang.String relateItem)
Sets the Relate Item parameter of this tool . |
void |
setRelateType(java.lang.String relateType)
Sets the Relate Type parameter of this tool . |
void |
setStartItem(java.lang.String startItem)
Sets the Start Item parameter of this tool . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
JoinItem
public JoinItem()
- Creates the Join Info Tables tool with defaults.
Initializes the array of tool parameters with the default values specified when the tool was created.
JoinItem
public JoinItem(java.lang.Object inInfoTable,
java.lang.Object joinInfoTable,
java.lang.Object outInfoTable,
java.lang.String relateItem)
- Creates the Join Info Tables tool with the required parameters.
Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.
- Parameters:
inInfoTable
- the INFO data file to which items and their values are to be added.joinInfoTable
- the INFO data file that contains the items and values to be added.outInfoTable
- the INFO data file produced by Join Info Tables. If Output Info Table already exists, it will be replaced.relateItem
- 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.
getInInfoTable
public java.lang.Object getInInfoTable()
- Returns the Input Info Table parameter of this tool .
This parameter is the INFO data file to which items and their values are to be added.
This is a required parameter.
- Returns:
- the Input Info Table
setInInfoTable
public void setInInfoTable(java.lang.Object inInfoTable)
- Sets the Input Info Table parameter of this tool .
This parameter is the INFO data file to which items and their values are to be added.
This is a required parameter.
- Parameters:
inInfoTable
- the INFO data file to which items and their values are to be added.
getJoinInfoTable
public java.lang.Object getJoinInfoTable()
- Returns the Join Info Table parameter of this tool .
This parameter is the INFO data file that contains the items and values to be added.
This is a required parameter.
- Returns:
- the Join Info Table
setJoinInfoTable
public void setJoinInfoTable(java.lang.Object joinInfoTable)
- Sets the Join Info Table parameter of this tool .
This parameter is the INFO data file that contains the items and values to be added.
This is a required parameter.
- Parameters:
joinInfoTable
- the INFO data file that contains the items and values to be added.
getOutInfoTable
public java.lang.Object getOutInfoTable()
- Returns the Output Info Table parameter of this tool .
This parameter is the INFO data file produced by Join Info Tables. If Output Info Table already exists, it will be replaced.
This is a required parameter.
- Returns:
- the Output Info Table
setOutInfoTable
public void setOutInfoTable(java.lang.Object outInfoTable)
- Sets the Output Info Table parameter of this tool .
This parameter is the INFO data file produced by Join Info Tables. If Output Info Table already exists, it will be replaced.
This is a required parameter.
- Parameters:
outInfoTable
- the INFO data file produced by Join Info Tables. If Output Info Table already exists, it will be replaced.
getRelateItem
public java.lang.String getRelateItem()
- Returns the Relate Item parameter of this tool .
This parameter is 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.
This is a required parameter.
- Returns:
- the Relate Item
setRelateItem
public void setRelateItem(java.lang.String relateItem)
- Sets the Relate Item parameter of this tool .
This parameter is 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.
This is a required parameter.
- Parameters:
relateItem
- 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.
getStartItem
public java.lang.String getStartItem()
- Returns the Start Item parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Returns:
- the Start Item
setStartItem
public void setStartItem(java.lang.String startItem)
- Sets the Start Item parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Parameters:
startItem
- 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.
getRelateType
public java.lang.String getRelateType()
- Returns the Relate Type parameter of this tool .
This parameter is how Join Info Table records are matched to Input Info Table records.
This is an optional parameter.
- Returns:
- the Relate Type
setRelateType
public void setRelateType(java.lang.String relateType)
- Sets the Relate Type parameter of this tool .
This parameter is how Join Info Table records are matched to Input Info Table records.
This is an optional parameter.
- Parameters:
relateType
- how Join Info Table records are matched to Input Info Table records.
getToolName
public java.lang.String getToolName()
- Returns the name of this tool.
- Returns:
- the tool name
getToolboxName
public java.lang.String getToolboxName()
- Returns the name of the tool box containing this tool.
- Returns:
- the tool box name
getToolboxAlias
public java.lang.String getToolboxAlias()
- Returns the alias of the tool box containing this tool.
- Returns:
- the tool box alias