ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

描绘 TIN 数据区

  • 描述
  • 插图
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

基于三角形的边长度重新定义不规则三角网 (TIN) 的数据区或内插区。

插图

描绘 TIN 数据区图示

使用方法

  • 此工具不会消除任何源数据。该工具通过将输入 TIN 的边进行重新分类为是否包含在插值区内来对其进行修改。如果希望保留要进行处理的 TIN 的未修改版本,请在运行该工具前考虑使用复制 TIN 工具创建副本数据集。

  • 在边长分类开始之前,将对所有三角形边进行求值。这可有效撤消任何现有的数据区分类。如果从某一执行过程中获得的结果不尽如人意,则可在无需获得原始数据的情况下再次执行生成的 TIN。

  • 通过此工具,可以从 TIN 的有效数据区中移除由 TIN 的源测量中的凹特征生成的极端边长。有一条边大于最大边长的三角形将被掩膜为 NoData 区域。

    注:

    最大边长值最好由被视为有效数据区的区域内 TIN 结点的平均间距来确定。因此请提供一个大于平均间距的值。若要更好地应用该工具,则需了解用于创建 TIN 的数据。

  • 方法用于确定要计算的三角形。

    注:

    如果凹数据部分被归为 TIN 的外部端点,则可以使用周长边(Python 中为 method = "PERIMETER_ONLY")。

语法

arcpy.ddd.DelineateTinDataArea(in_tin, max_edge_length, {method})
参数说明数据类型
in_tin

待处理的 TIN 数据集。

TIN Layer
max_edge_length

用于在 TIN 数据区中定义 TIN 三角形边的最大长度的二维距离。如果三角形的一个或多个边大于此值,则会将其视为处于 TIN 插值区之外,并且不会在地图中进行渲染或用于表面分析。

Double
method
(可选)

描绘 TIN 数据区时将对 TIN 边进行求值。

  • PERIMETER_ONLY —从 TIN 的外部范围向内遍历各个三角形,如果边界三角形的边在当前迭代中小于最大边长,则将停止遍历。这是默认设置。
  • ALL —按边长对整个 TIN 三角形集合进行分类。
String

派生输出

名称说明数据类型
derived_out_tin

更新后的 TIN。

TIN 图层

代码示例

DelineateTinDataArea 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
DelineateTinDataArea 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of 
             LAS files with irregularly clustered points. It is intended for 
             use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file

try:
    arcpy.CheckOutExtension("3D")
    # Execute LASToMultipoint
    arcpy.AddMessage("Creating multipoint features from LAS...")
    lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
    arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code, 
                             "ANY_RETURNS", "", sr, inFormat, zfactor)
    # Execute CreateTin
    arcpy.AddMessage("Creating TIN dataset...")
    arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
                       .format(lasMP), "Delaunay")
    # Execute CopyTin
    arcpy.AddMessage("Copying TIN to delineate data boundary...")
    arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
    # Execute DelineateTinDataArea
    arcpy.AddMessage("Delineating TIN boundary...")
    maxEdge = ptSpacing * 4
    arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
    # Execute TinDomain
    arcpy.AddMessage("Exporting data area to polygon boundary...")
    arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
    arcpy.AddMessage("Finished")
    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)

环境

  • 当前工作空间

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题

  • 数据管理工具集概览
  • 有关表面的基础知识
  • 表面格式
  • 基于 TIN 的表面概念
  • 什么是 TIN 表面?
  • 有关创建 TIN 表面的基础知识
  • 有关编辑 TIN 表面的基础知识
  • 使用地理处理工具编辑 TIN 要素
  • TIN 表面的地理处理工具

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明