【附练习数据】ArcGIS中二维面生成三维模型+三维模型转体+三维爆炸分析
本文分三部分
在ArcGIS中由建模面矢量生成三维建模型
以Sketchup为例将所生成的模型转换为ArcGIS所支持的模型
ArcGIS中做三维爆炸分析
文末有本文相关练习数据
- 1 -
【问题1】
现有二维建筑物面Shapefile数据,如何生成ArcGIS格式的三维建筑物体数据?
【方法】
使用ArcGIS中【Layer3DToFeatureClass】(3D图层转要素类)工具实现。注:该工具适用于生成规则的体数据,二维数据中必须具有高度字段以作为三维高度坐标。对于具有复杂结构的建筑,需要借助三维建模软件进行三维建模,并将该模型数据导入ArcGIS得到ArcGIS支持的体数据。
三维建模软件如CityEngine、Sketchup、AutoDesk 3Ds Max等。
【实验步骤】
1)查看二维建筑物面数据。打开ArcScene软件,加载二维建筑物面数据buildings.shp。打开属性表,“height”字段即为每个建筑面数据对应的高度值。
图1.1 二维建筑物面数据
图1.2 建筑物属性表
2)拉伸显示建筑物。按照“height”字段,使用拉伸方式对二维建筑物进行三维可视化。右击建筑物图层,打开【属性】对话框,选择【拉伸】选项卡。勾选“拉伸图层中的要素”,打开拉伸值表达式,设置拉伸值等于“height”字段。确定,完成建筑物的三维拉伸表达。注:此时仅是该建筑物的三维表达,并未生成三维体数据。
图1.3【拉伸】设置
图1.4 设置拉伸表达式
图1.5 三维拉伸显示
3)生成三维体数据。打开【3D Analyst工具】|【转换】|【3D图层转要素类】工具,设置输入要素图层为已拉伸的建筑物图层,输出要素类为“buildings_3d.shp”。确定,完成三维体数据生成。打开结果数据属性对话框,可以在【源】选项卡下查看得到该数据几何类型为“多面体(Multipatch)”。
图1.6【3D图层转要素类】工具参数设置
图1.7 三维体数据结果
图1.8 查看结果数据几何类型
- 2 -
【问题2】
如何将三维建模软件构建的三维模型转换成ArcGIS支持的体数据?
【方法】
使用ArcGIS中【Import3DFiles】(导入3D文件)工具实现。注:该工具支持的三维模型文件格式有skp、dae、3ds、flt、wrl。本例以Sketchup软件构建的建筑物三维模型为实例数据,转换成ArcGIS的体数据。该转换过程不包括三维模型表面的纹理数据,仅结构数据。
【实验步骤】
1)导出三维模型。本例以遥感影像数据为基础,创建多个建筑物三维模型后,将该三维模型导出为”buildings.dae”文件。建议在导出模型之前,将影像数据移除,否则三维模型会包含该图像数据。
图2.1 Sketchup三维建模
图2.2 导出三维模型
2)导入三维模型。打开【3D Analyst工具】|【转换】|【由文件转出】|【导入3D文件】工具,加载三维模型文件,输出多面体要素类为“buildings3d.shp”,其余参数默认。确定。
图2.3【导入3D文件】工具参数设置
图2.4 三维模型转换结果
- 3 -
【问题3】
假设城市建筑群中发生爆炸事故,爆炸直接影响范围为100米。试分析出受爆炸直接影响的建筑物。
【方法】
使用ArcGIS中【3D Intersect】(3D相交)工具实现。注:本例中首先需要将爆炸点直接影响的范围进行三维建模,即创建爆炸三维体数据。其次,将爆炸三维体数据与建筑物体数据进行相交分析。由于三维体数据为非实质的表面数据,因此,在分析爆炸直接影响的建筑物时,必须用相交结果进行查找。
【实验步骤】
1)创建爆炸点三维数据。打开ArcScene软件,加载爆炸点二维数据“views.shp”。打开【3D Analyst工具】|【3D要素】|【依据属性实现要素转3D】工具,输入要素设置为爆炸点数据,输出要素为“views3d.shp”,高度字段指定为“height”字段。确定,得到三维爆炸点数据。
图3.1 爆炸点二维数据
图3.2【依据属性实现要素转3D】工具参数设置
图3.3 爆炸点三维数据
2)三维符号化爆炸影响范围。根据爆炸的直接影响范围为100米,创建半径为100米球体符号。右击三维爆炸点数据,打开【属性】对话框,选择【符号系统】选项卡。选择符号按钮,打开【符号选择器】,选择【编辑符号】按钮打开【符号属性编辑器】。类型选择“3D简单标记符号”,样式选择“球体”,宽度和深度都设置为“100”。确定,将爆炸点三维符号化显示。在图层属性对话框【显示】选项卡中,设置透明度为“50%”。注:宽度和深度单位与地图单位一致,此例中地图单位为米。
图3.4【符号系统】选项卡
图3.5 符号选择器
图3.6 符号属性编辑器
图3.7 以50%透明度显示
图3.8 爆炸范围体三维符号
3)创建爆炸范围体数据。打开【3D Analyst工具】|【转换】|【3D图层转要素类】工具,设置输入要素图层为三维符号化的爆炸点图层,输出要素类为“explosion.shp”。确定,生成爆炸范围体数据。
图3.9【3D图层转要素类】工具参数设置
图3.10 以30%透明度显示
4)提取爆炸直接影响的建筑体数据。打开【3D Analyst工具】|【3D要素】|【3D相交】工具,设置输入多面体为“buildings_3d.shp”,另一多面体为“explosion.shp”,输出要素类为“buildings_affected.shp”。确定,得到爆炸直接影响的建筑体数据。
图3.11【3D相交】工具参数设置
图3.12 爆炸直接影响的建筑体数据
5)提取受爆炸影响的建筑物。打开【菜单栏】|【选择】|【按位置选择】工具,设置目标图层为“buildings_3d”,源图层为“buildings_affected”,空间选择方法默认“目标图层要素与源图层要素相交(3d)”。确定,得到受爆炸影响的建筑物。注:如果直接使用按位置选择工具,空间选择方法为“目标图层要素在源图层要素的某一距离范围内(3d)”,会存在错误结果。
图3.13【按位置选择】工具参数设置
图3.14 正确结果
图3.15 直接按位置选结果
进入公众号
在公众号对话框发送数字
0962
即可获取此文云盘下载链接
7.72GB ARCGIS ERDAS ENVI干货教程网盘下载