面插值为多面体 (Multipatch) (3D Analyst)
摘要
根据面要素类和栅格、terrain 或 TIN 表面创建与表面一致的多面体要素。
来自输入要素的属性被复制到输出。会为每个要素计算平面面积和表面面积,并将它们作为属性添加到输出中。
用法
-
如果对叠加在表面上的面进行三维渲染出现显示问题,则考虑将面转换为多面体。
-
最大三角条带尺寸值必须为 3 或者更大。推荐范围为 128 到 2048 之间。
语法
参数 | 说明 | 数据类型 |
in_surface |
输入不规则三角网 (TIN) 或 terrain 数据集表面。 | Terrain Layer; TIN Layer |
in_feature_class |
输入面要素类。 | Feature Layer |
out_feature_class |
输出多面体要素类。 | Feature Class |
max_strip_size (可选) |
控制用于创建单个三角条带的点的最大数。请注意,每个多面体通常由多个条带组成。默认值为 1,024。 | Long |
z_factor (可选) |
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 (可选) |
输出字段的名称,其中包含所得多面体的平面(或 2D)面积。 | String |
surface_area_field (可选) |
输出字段的名称,其中包含所得多面体的 3D 面积。该面积考虑到了表面的波动。如果表面是平的,则该面积与平面面积两者相等,否则它总是大于平面面积。 | String |
pyramid_level_resolution (可选) |
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 |
代码示例
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)
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)