每日10分钟,咱们一起学习GIS。以ArcGIS Pro的工具箱顺序,学习各个工具的原理和功能,以及在ArcGIS Pro和ArcMap中的使用方法和在ArcPy中的调用方法。该系列将会放在一个专辑中,也方便我们大家查阅。
图1 ArcGIS Pro 工具箱列表
首先来简单看看3D Analyst 工具箱(3D Analyst Tools)。官方文档中是这样说的:“3D Analyst 工具箱提供可在表面模型和三维矢量数据上实现各种分析、数据管理和数据转换操作的地理处理工具的集合。3D Analyst 工具可用于创建和分析以栅格、terrain、不规则三角网 (TIN) 和 LAS 数据集格式表示的表面数据。可将多种格式转换为 3D 数据,包括 COLLADA、激光雷达、SketchUp、OpenFlight 和许多其他数据类型。几何关系和要素属性分析、栅格和各种不规则三角网 (TIN) 模型插值和表面属性分析只是 3D Analyst 工具提供的众多功能的一部分”。以下是3D Analyst 工具箱(3D Analyst Tools)中的基本工具:
图2 3D Analyst 工具列表
每天一个小工具,今天就来看看3D缓冲工具(Buffer 3D)。该工具是围绕点或线创建三维缓冲区以生成球形或圆柱形的多面体要素。
图3 3D 缓冲工具效果示意图
- 此工具的输出是闭合多面体要素,可用于体积计算和其他 3D 集合操作工具。
- 考虑指定一个简化值以提高复杂线要素(例如带有大量折点的曲线)的性能。
- 如果线几何和缓冲距离生成折点密集的重叠区域,则此工具可能无法生成某些线要素的闭合多面体。一般来说,最好避开可能会导致在同一要素内创建重叠区域的缓冲距离。
下面一起跟着实例熟悉一下吧!
1.点击【地图】右键选择【添加数据】。也可以在菜单栏【地图】选择【添加数据】。
图4 添加数据方式1
图5 添加数据方式2
2.修改要素颜色,设置要素样式。
图6 修改符号颜色
图7 更改符号样式
3.菜单栏的【分析】中选择【工具】,即可以调出【工具箱】。
图8 调出工具箱
图9 工具箱中的3D缓冲工具
4.对点要素进行3D缓冲,设置其参数。【输入要素】:待缓冲的线或点要素;【输出要素类】:输出包含3D缓冲区多面体的位置及名称;【Distance】:设置缓冲区距离,可以按照线性单位或字段进行设置;【缓冲质量】:用于表示生成的多面体要素的线段数。默认为 20,但可输入 6 到 60 范围内的任何数字。缓冲质量值越高,生成的 3D 要素越平滑,但同时也会增加处理时间。
图10 设置参数
图11 点要素3D缓冲结果
5.对线要素进行3D缓冲,设置其参数。相比于点要素的参数设置,多了【联合类型】:可以将线段折点之间的缓冲区形状设置为平直或圆形。
图12 设置参数
图13 线要素3D缓冲结果
图14 线要素3D缓冲局部放大轮廓结果
6.ArcMap中的参数设置几乎相同。
图15 ArcMap中3D缓冲的参数设置
7.在菜单栏【分析】里使用使用ArcPy中调用3D缓冲工具。
图16 打开Python窗口
arcpy.ddd.Buffer3D(in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of
the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inFC = 'lineFC.shp'
bufferOut = 'buffer3d.shp'
# Execute Buffer 3D
arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')
想要数据可以私信我或关注微信公众号“每日GIS”。大家也可以在评论区或微信公众号留言提出自己想要了解的模块,不限于ArcGISPro,遥感方面以及GIS地学分析方面都可以。我会先去自己学,然后记录下来过程和心得,也欢迎大家提出建议,若有误的地方也需要大家及时批评指正,感谢!