CreateObject

Summary

Creates a geoprocessing object. 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

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

String
options

Optional arguments depending 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