Summary
Creates polygon footprints representing the two-dimensional area of multipatch features.
Illustration
Usage
The output footprint will have the same fields as the input feature, along with the following fields:
- Z_Min—The smallest Z value from the multipatch feature.
- Z_Max—The largest Z value from the multipatch feature.
Use the Group Field parameter if a structure is comprised by multiple features that share a common identifier in the attribute table.
Syntax
MultiPatchFootprint(in_feature_class, out_feature_class, {group_field})
Parameter | Explanation | Data Type |
in_feature_class | The multipatch feature whose footprint will be generated. | Feature Layer |
out_feature_class | The resulting footprint polygon feature class. | Feature Class |
group_field (Optional) | The field used for combining multipatch features so that they contribute to the same footprint polygon. | Field |
Code sample
MultiPatchFootprint example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.MultiPatchFootprint_3d("multipatch.shp","multipatch_footprint.shp")
MultiPatchFootprint example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: MultiPatchFootprint Example
Description: Creates footprint polygons for all multipatches in a workspace.
****************************************************************************'''
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
# Determine if the feature class is a multipatch
desc = arcpy.Describe(fc)
if desc.shapeType is "MultiPatch":
outPoly = "{0}_Footprint.shp".format(desc.baseName)
#Execute MultiPatchFootprint
arcpy.ddd.MultiPatchFootprint(fc, outPoly)
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
Environments
Licensing information
- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst