Interpolate Polygon To Multipatch (3D Analyst)

License Level:BasicStandardAdvanced

Summary

Creates surface-conforming multipatch features from a polygon feature class using a raster, terrain, or TIN surface.

Each polygon feature has its boundary profiled along the surface. Heights are obtained using linear interpolation by sampling at each input vertex and wherever the boundary line intersects surface triangle edges and nodes. This natural densification captures the full definition of the linear surface using a minimal number of samples. Then, all nodes that fall within the polygon are extracted. The nodes are retriangulated in a new memory-based TIN, and the 3D polygon boundary is enforced as a clip polygon. The triangles of this new TIN are then extracted in a series of strips that are used to define a multipatch-based feature.

Usage

Syntax

InterpolatePolyToPatch_3d (in_surface, in_feature_class, out_feature_class, {max_strip_size}, {z_factor}, {area_field}, {surface_area_field}, {pyramid_level_resolution})
ParameterExplanationData Type
in_surface

The input triangulated irregular network (TIN) or terrain dataset surface.

Terrain Layer; TIN Layer
in_feature_class

The input polygon feature class.

Feature Layer
out_feature_class

The output multipatch feature class.

Feature Class
max_strip_size
(Optional)

Controls the maximum number of points used to create an individual triangle strip. Note that each multipatch is usually composed of multiple strips. The default value is 1,024.

Long
z_factor
(Optional)

The factor by which elevation values will be multiplied. This is typically used to convert Z linear units that match those of the XY linear units. The default is 1, which leaves elevation values unchanged.

Double
area_field
(Optional)

The name of the output field containing the planimetric, or 2D, area of the resulting multipatches.

String
surface_area_field
(Optional)

The name of the output field containing the 3D area of the resulting multipatches. This area takes the surface undulations into consideration and is always larger than the planimetric area unless the surface is flat, in which case, the two are equal.

String
pyramid_level_resolution
(Optional)

The z-tolerance or window-size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution.

Double

Code Sample

InterpolatePolygonToMultipatch 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.InterpolatePolyToPatch_3d("sample.gdb/featuredataset/terrain", "polygon.shp", "out_multipatch.shp", 1024, 1, "Area", "SArea", 5)
InterpolatePolygonToMultipatch example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script:

'''****************************************************************************
Name: InterpolatePolyToPatch Example
Description: This script demonstrates how to use the 
             InterpolatePolyToPatch tool.
****************************************************************************'''

# Import system modules
import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")

# Set environment settings
env.workspace = "C:/data"

# Set Local Variables
inTerrain = "sample.gdb/featuredataset/terrain"
inPoly = "polygon.shp"
outMP = arcpy.CreateUniqueName("out_multipatch.shp")

#Execute InterpolatePolyToPatch
arcpy.InterpolatePolyToPatch_3d(inTerrain, inPoly, outMP, 1024, 1, "Area", "SArea", 5)

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Requires 3D Analyst
ArcGIS for Desktop Standard: Requires 3D Analyst
ArcGIS for Desktop Advanced: Requires 3D Analyst
11/8/2012