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")