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

Syntax

CreateIndexTable_production (in_index_features, index_fields, in_overlay_features, out_table, {threshold})
ParameterExplanationData 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.

LicenseLicense:

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

CreateIndexTable example 1 (Python window)

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")
CreateIndexTable example 2 (Stand–alone Python script)

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

Environments

This tool does not use any geoprocessing environments

Related Topics

Licensing Information

ArcView: No
ArcEditor: Requires Production Mapping
ArcInfo: Requires Production Mapping

5/4/2011