Create Index Table (Production Mapping)
Summary
The Create Index Table tool produces a map index table from a series of feature classes. For example, the tool could produce a table of cities and counties in which a set of streets are located. You can embed this table as a surround element in an ArcGIS page layout.
Usage
- The tool performs a union between the Input Features (in_index_features) and the Overlay Features (in_overlay_features). The output of the union is generalized by values chosen in the Join option of Overlay Features (in_overlay_features) and in the Feature Size Threshold Percentage (threshold) parameter. 
- 
Use a point, line, or polygon feature class as Input Features (in_index_features). 
- Use polygon feature classes as Overlay Features (in_overlay_features). 
- 
Select the attributes you want included in the resulting index data from Input Features (in_index_features). 
- 
You must convert annotation features to polygons using the Dissolve tool before you can index them. 
Syntax
| Parameter | Explanation | Data Type | 
| in_index_features | The feature class used to create a table that contains index data. | Feature Layer | 
| index_fields [index_fields,...] | The attribute fields that you want to include in the output table. Each unique combination of field values will result in a unique record in the output table. | Field | 
| in_overlay_features [[Overlay Features, {Field}, {Join}],...] | The features against which you want to index the Input Features (in_index_features) parameter. For example, if you want to show a grid cell in which a city is located, you can add the grid cell's feature class to this parameter. The Join value in this parameter controls whether multiple resulting matches are joined by a comma-separated list or if each successful match results in a new record in the output table.  License: You can only specify one feature class when you run this tool using an ArcEditor or ArcView license. | Value Table | 
| out_table | The output table that will contain the resulting index data. | Table | 
| threshold (Optional) | The minimum size of a part of the index feature that will be included in the output table expressed as a percentage of the feature's total size (that is, length for lines and area for polygons). This parameter is used to prevent small portions of the index feature (for example, a small segment of a street located in a certain city) from being included in the output. For example, if you set the parameter value to 5, portions of a street line that are less than 5 percent of the line's total length will be ignored in the output. | Integer | 
Code Sample
The following ArcGIS Python window script creates an index table from Production Mapping sample data. A roads feature class is used for in_index_features while US_Counties are used as in_overlay_features.
RoadL = "C:\\data\\Foundation_Data_Tutorials\\MPS-Atlas\\GDB\\SoCal.gdb\\SoCal\\RoadL"
US_Counties = "C:\\data\\Foundation_Data_Tutorials\\MPS-Atlas\\GDB\\Reference.gdb\\US_Counties"
RoadL_Layer = "RoadL_Layer"
RoadL_CreateIndexTable1 = "C:\\data\\work.gdb\\RoadL_CreateIndexTable1"
US_Counties_Layer = "US_Counties_Layer"
# Make Feature Layer for the RoadsL feature class - this is the in_index_features parameter
if arcpy.Exists(RoadL_Layer) == False:
    arcpy.MakeFeatureLayer_management(RoadL, RoadL_Layer)
# Make Feature Layer for the US_Counties feature layer - this is the in_overlay_features parameter
if arcpy.Exists(US_Counties_Layer) == False:
    arcpy.MakeFeatureLayer_management(US_Counties, US_Counties_Layer)
# import the production mapping toolbox - you may have to change this path
arcpy.ImportToolbox(r'C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Production Mapping Tools.tbx')
# Process: Create Index Table
arcpy.CreateIndexTable_production(RoadL_Layer, "gfid;loc;nam", "US_Counties_Layer NAME false", RoadL_CreateIndexTable1, "10")
The following stand-alone Python script creates an index table from Production mapping sample data. This script is identical to the previous but can run outside of ArcMap or ArcCatalog.
# Name: CreateIndexTable.py
# Description: Creates an index table from the production mapping Roads and US_Counties sample data
# Author: ESRI
# Date: March 2010
# Import arcpy module
import arcpy
# check out a foundation license
arcpy.CheckOutExtension("Foundation")
# Local variables:
RoadL = "C:\\data\\Foundation_Data_Tutorials\\MPS-Atlas\\GDB\\SoCal.gdb\\SoCal\\RoadL"
US_Counties = "C:\\data\\Foundation_Data_Tutorials\\MPS-Atlas\\GDB\\Reference.gdb\\US_Counties"
RoadL_Layer = "RoadL_Layer"
RoadL_CreateIndexTable1 = "C:\\data\\work.gdb\\RoadL_CreateIndexTable1"
US_Counties_Layer = "US_Counties_Layer"
# Make Feature Layer for the RoadsL feature class - this is the in_index_features parameter
if arcpy.Exists(RoadL_Layer) == False:
    arcpy.MakeFeatureLayer_management(RoadL, RoadL_Layer) 
# Make Feature Layer for the US_Counties feature layer - this is the in_overlay_features parameter
if arcpy.Exists(US_Counties_Layer) == False:
    arcpy.MakeFeatureLayer_management(US_Counties, US_Counties_Layer) 
arcpy.ImportToolbox(r'C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Production Mapping Tools.tbx')
# Create Index Table
arcpy.CreateIndexTable_production(RoadL_Layer, "gfid;loc;nam", "US_Counties_Layer NAME false", RoadL_CreateIndexTable1, "10")
# check the extension in
arcpy.CheckInExtension("Foundation")