“三维”可能是最直接、最易于理解、最有需要的一个前期分析中的功能了,我们都希望从测绘CAD直接能看到三维空间——ArcGIS可以办到,不要看本篇文章很长,但是后面熟练起来,真的真的很快。
作为一名有独立探索精神的技术流博主,我希望我以后的文章都比较精简,节约大家的时间。(我自己确实对于长文章没有耐心)
以下粘贴至Sid编写的操作文档《Arcgis等技术在城乡规划中的应用》,比较有用的技术可能是ArcGIS三维数据导出至Sketch等:
01 生成三维地形
LSV(localspaceviewer)等下载高程,“*.tif”为黑白图,高程信息储存为像素值
i. 从栅格
1) 定义数据框坐标系为投影坐标系,同时数据框属性中常规选项卡单位改为m-选中已添加的高程“*.tif”-右键-数据-导出数据-空间坐标系-数据框-确定并自动加载新tif文件(不能用ArcCatalog右键-属性-坐标系更改为投影坐标系,因为tif的真实坐标系仍然为地理坐标系,不满足下一步的计算,会报错)
2) ArcToolBox-3D Analyst工具-转换-由栅格转出-栅格转TIN-z容差输入1(大致可用,0.1时最接近原始高程数据信息,依据精度需要输入)
ii. 生成TIN之后
选中TIN图层-右键-属性-符号系统(设置高程分级区间、显示-添加:可以按需添加、勾选等高线视图、坡度、坡向视图等)
1.数据准备
官方测绘数据常见类型:*.dwg(CAD文件),按需打开以下信息所在图层
i. 非纯数字后面再处理,如“砖4”
ii. 最好纯数字,如“4”
iii. 注记都需要位于建筑轮廓内,可手动移动、全选更改文字大小等实现
c.道路(路侧线、路中线)
d.河流
e.…………
2.导入ArcScene/ArcGlobe
e.要素转面,生成建筑基底
f.检查
多生成的面删除,未生成的补绘等:编辑工具条-开始编辑
3.添加高度信息
a. 打开建筑基底属性表,添加高度字段,数据类型可选择短文本
b. 链接建筑高度/层数信息(参考)
i. 选择建筑外轮廓图层-右键-连接和关联-连接
ii. 连接面板-“要将哪些内容连接到图层”下拉-选择“基于空间位置的另一图层的数据”-……-选择所有属性汇总
iii. 检查连接,工具栏-查询-点击相应的建筑基底
c. 处理建筑层数/高度信息,打开建筑高度注记属性表,高度信息储存在Text字段
i. 非纯数字注记
n 添加高度字段,数据类型可选择短文本
n 查看命名规则,如1层为“砖”,其他层为“砖x”,检查是否有异常值等
n 提取单数字注记
ii. 纯数字注记,不要处理
d. 填写高度字段
i. 打开建筑基底属性表
ii. 开始编辑-右键高度字段-字段计算器-建筑基底.高度字段=建筑层数.高度字段-停止编辑
4.调整符号显示系统,输出建筑高度专题图、建筑材料专题图
5.拔高建筑
选中建筑基底-右键-属性-拉伸-拉伸值或表达式-右侧计算器按钮(表达式构建器)-选择高度字段或层数字段*3(平均层高3m)-确认-拉伸方式-将其添加到各要素的基本高度/最大高度-确认/应用
6.落到3维地形中
选中建筑基底-右键-属性-基本高度-从表面获取高程-在自定义表面上浮动-选择生成的地形TIN-确认
7.另存为3D数据文件
a. 需要将生成的建筑分成几类或不需要分类
选中建筑基底-检查分组字段/添加分组字段(不分类也需要添加,默认短整型-值为随意数字)
b. ArcToolbox-3D Analyst工具-转换-3D图层转要素类-……(选择分组字段)-自动加载
c. 导出3D底图到其他软件
广泛使用的3D模型格式,可以再次导入Sketch(对于大量建筑导入效率低,因为DAE文件是用三角形储存每个面,导入SKETCH默认将同面的三角形合并,所以需要处理)、Lumion等
(若转为3D数据文件(上一步,标号7.a)时未考虑分组,则依据Object_ID字段将每栋建筑单独导出)
ArcToobox-转换工具-转为Collada
ii. to SKP(请转方法iii-2)
n 插件
其实有插件可以用(SketchUp6ESRI.exe,安装后-自定义-工具条激活),但是对于大量的建筑导出效率低下
n FME软件(效率超级快,但是不大实用,软件很大且需破解)
n 曲线救国
n From Dwg/Dxf To Skp(推荐方法)
(这也是“因为打好组的DAE文件,Sketch不能很好地支持”)
(建筑的基本高程信息也会保留,也就是说建筑不是在一个平面,而是像ArcScene中,落在地形上的)
(不过建筑底面没法看,共面未合并,不过也无伤大雅)
n From DAE To Skp
完成to DAE格式后,直接使用Sketch-文件-导入-dae
!!!经测试,只能一栋楼、一栋楼导入!!!也就是说,3D图层转为3D要素-转换为DAE时,需要按照Object_ID进行分组,因为打好组的DAE文件,Sketch不能很好地支持(提示导入失败,或者卡顿)
(天哪好长,真的好长一文,又没有图)