3D 差异 (3D Analyst)

摘要

根据闭合多面体 (multipatch) 要素的面的几何交集,计算出由这些要素定义的两个体积的几何交集。从一个要素类中剪除另一个要素类的所有体积,然后将结果写入到新输出要素类中。

了解有关“3D 差异”工作原理的详细信息

用法

语法

Difference3D_3d (in_features_minuend, in_features_subtrahend, out_feature_class)
参数说明数据类型
in_features_minuend

将从中剪除掉其他多面体要素的多面体要素集合。

Feature Layer
in_features_subtrahend

将从其他多面体要素中剪除掉的多面体要素集合。

Feature Layer
out_feature_class

用于放置新生成多面体的多面体要素类。

Feature Class

代码示例

3D 差异示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在立即模式下使用 3D 差异函数。

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Difference3D_3d('input_mp.shp', 'erase_mp.shp', 'difference_mp.shp')
3D 差异示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 3D 差异函数。

'''****************************************************************************
Name: Difference3D Example
Description: This script demonstrates how to create 
             shadow volumes that fall along a specified surface using the
             Difference3D tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inMP = 'buildings.shp'
    eraseMP = 'bldg_extensions.shp'
    outMP = arcpy.CreateUniqueName('bldgs_without_extensions.shp')
    # Execute Difference3D
    arcpy.Difference3D_3d(inMP, eraseMP, outMP)

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)

环境

此工具不使用任何地理处理环境

相关主题

许可信息

ArcView: 需要 3D Analyst
ArcEditor: 需要 3D Analyst
ArcInfo: 需要 3D Analyst

7/10/2012