Skip To Content

CreateObject

Summary

Creates geoprocessing objects. The extra arguments can be used to specify additional requirements for the object creation such as the number of columns in the ValueTable object.

Discussion

Note:

Instead of using CreateObject, it is simpler and more direct to use the equivalent ArcPy class. For instance, instead of arcpy.CreateObject("array"), use arcpy.Array().

Syntax

CreateObject (name, {options})
ParameterExplanationData Type
name

Name of the object to be created (ArcSDESQLExecute, Array, Extent, FeatureSet, Field, FieldInfo, FieldMap, FieldMappings, Geometry, NetCDFFileProperties, Point, RecordSet, Result, SpatialReference, ValueTable).

String
options

Optional argument(s) depend on the object being created.

Object
Return Value
Data TypeExplanation
Object

The object returned depends on type of object specified in the first parameter.

Code sample

CreateObject example

Use value table to hold feature class names and ranks for the Union tool.

import arcpy

# Set the workspace. List all of the feature classes in the dataset
arcpy.env.workspace = "c:/data/landbase.gdb/wetlands"
fcs = arcpy.ListFeatureClasses()

# Create the value table for the Analysis Union tool with 2 columns
vtab = arcpy.CreateObject("valuetable", 2)

# Iterate through the list of feature classes
for fc in fcs:
    # Update the value table with a rank of 2 for each record, except
    #   for BigBog
    if fc.lower() != "bigbog":
        vtab.addRow(fc + " 2")
    else:
        vtab.addRow(fc + " 1")

# Union the wetlands feature classes with the land use feature class
# to create a single feature class with all of the wetlands and land
# use data
vtab.addRow("c:/data/landbase.gdb/land_use 2")
arcpy.Union_analysis(vtab, "c:/data/landbase.gdb/wetlands_use")

Related topics