前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用ArcGIS快速实现三维建筑和三维地形快速建模

利用ArcGIS快速实现三维建筑和三维地形快速建模

作者头像
Sidchen
发布2020-08-02 16:18:26
6.6K0
发布2020-08-02 16:18:26
举报
文章被收录于专栏:规划领域技术规划领域技术

“三维”可能是最直接、最易于理解、最有需要的一个前期分析中的功能了,我们都希望从测绘CAD直接能看到三维空间——ArcGIS可以办到,不要看本篇文章很长,但是后面熟练起来,真的真的很快。

作为一名有独立探索精神的技术流博主,我希望我以后的文章都比较精简,节约大家的时间。(我自己确实对于长文章没有耐心)

以下粘贴至Sid编写的操作文档《Arcgis等技术在城乡规划中的应用》,比较有用的技术可能是ArcGIS三维数据导出至Sketch等:


01 生成三维地形

1. 无测绘数据

a. 下载地形高程数据

LSV(localspaceviewer)等下载高程,“*.tif”为黑白图,高程信息储存为像素值

b. 导入ArcMap/ArcScene/ArcGlobe
c. 生成3维地形

i. 从栅格

1) 定义数据框坐标系为投影坐标系,同时数据框属性中常规选项卡单位改为m-选中已添加的高程“*.tif”-右键-数据-导出数据-空间坐标系-数据框-确定并自动加载新tif文件(不能用ArcCatalog右键-属性-坐标系更改为投影坐标系,因为tif的真实坐标系仍然为地理坐标系,不满足下一步的计算,会报错)

2) ArcToolBox-3D Analyst工具-转换-由栅格转出-栅格转TIN-z容差输入1(大致可用,0.1时最接近原始高程数据信息,依据精度需要输入)

ii. 生成TIN之后

选中TIN图层-右键-属性-符号系统(设置高程分级区间、显示-添加:可以按需添加、勾选等高线视图、坡度、坡向视图等)


02 生成三维建筑

1.数据准备

官方测绘数据常见类型:*.dwg(CAD文件),按需打开以下信息所在图层

  1. 建筑外轮廓
  2. 建筑层数

i. 非纯数字后面再处理,如“砖4”

ii. 最好纯数字,如“4”

iii. 注记都需要位于建筑轮廓内,可手动移动、全选更改文字大小等实现

c.道路(路侧线、路中线)

d.河流

e.…………

2.导入ArcScene/ArcGlobe

  1. *.dwg定义坐标系
  2. 一般导入polygon、annotation数据即可
  3. 按属性选择不同要素分在不同的图层,并设置合适的显示效果
  4. 生成建筑基底

e.要素转面,生成建筑基底

f.检查

多生成的面删除,未生成的补绘等:编辑工具条-开始编辑

3.添加高度信息

a. 打开建筑基底属性表,添加高度字段,数据类型可选择短文本

b. 链接建筑高度/层数信息(参考)

i. 选择建筑外轮廓图层-右键-连接和关联-连接

ii. 连接面板-“要将哪些内容连接到图层”下拉-选择“基于空间位置的另一图层的数据”-……-选择所有属性汇总

iii. 检查连接,工具栏-查询-点击相应的建筑基底

c. 处理建筑层数/高度信息,打开建筑高度注记属性表,高度信息储存在Text字段

i. 非纯数字注记

n 添加高度字段,数据类型可选择短文本

n 查看命名规则,如1层为“砖”,其他层为“砖x”,检查是否有异常值等

n 提取单数字注记

  • 使用编程语句(VB、Python)
  • 开始编辑
  • 右键高度字段-字段计算器-显示代码块-输入判断语句
  • VB,IF语句语法
  • Python,IF语句语法
  • 停止编辑
  • 使用Excel(推荐)
  • 属性表导出为Excel
  • Excel中使用IF语句进行处理
  • Excel中保留ID、高度、材料字段
  • 添加Exce表到ArcMap
  • 通过保留的ID,将excel表与建筑基底要素关联
  • 在建筑基底中添加高度、材料字段(都是文本类型也可以),并利用字段计算器将所关联的Excel表中的数据复制到相应字段中

ii. 纯数字注记,不要处理

d. 填写高度字段

i. 打开建筑基底属性表

ii. 开始编辑-右键高度字段-字段计算器-建筑基底.高度字段=建筑层数.高度字段-停止编辑

4.调整符号显示系统,输出建筑高度专题图、建筑材料专题图

5.拔高建筑

选中建筑基底-右键-属性-拉伸-拉伸值或表达式-右侧计算器按钮(表达式构建器)-选择高度字段或层数字段*3(平均层高3m)-确认-拉伸方式-将其添加到各要素的基本高度/最大高度-确认/应用

6.落到3维地形中

选中建筑基底-右键-属性-基本高度-从表面获取高程-在自定义表面上浮动-选择生成的地形TIN-确认

7.另存为3D数据文件

a. 需要将生成的建筑分成几类或不需要分类

选中建筑基底-检查分组字段/添加分组字段(不分类也需要添加,默认短整型-值为随意数字)

b. ArcToolbox-3D Analyst工具-转换-3D图层转要素类-……(选择分组字段)-自动加载

c. 导出3D底图到其他软件

  1. to DAE

广泛使用的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(推荐方法)

  • 完成3D图层转3D要素的工作(以上第8步,分组字段默认或以ObjectID字段分组,不建议添加NoGroup字段,将所有建筑打组(有可能出现无法生成CAD可以识别的dxf/dwg文件))
  • 转换工具-转为CAD-选择转换好的3D建筑要素-保存格式dwg/dxf均可-按确定
  • !!!重要!!!用CAD打开该dwg/dxf文件,选择建筑组合,输入X命令!!!分解!!!然后保存(分解最终效果应该是,在CAD中三维视图内,能够选中每一个三角面,不然Sketch可能无法识别)

(这也是“因为打好组的DAE文件,Sketch不能很好地支持”)

  • 打开Sketch-文件-导入该dwg/dxf-导入成功后按住shif+z,调整视图为全图即可看见导入的建筑

(建筑的基本高程信息也会保留,也就是说建筑不是在一个平面,而是像ArcScene中,落在地形上的)

(不过建筑底面没法看,共面未合并,不过也无伤大雅)

n From DAE To Skp

完成to DAE格式后,直接使用Sketch-文件-导入-dae

!!!经测试,只能一栋楼、一栋楼导入!!!也就是说,3D图层转为3D要素-转换为DAE时,需要按照Object_ID进行分组,因为打好组的DAE文件,Sketch不能很好地支持(提示导入失败,或者卡顿)

  • 从Sketch等导入3D建筑(贴图等会保留,应该和Sketch中一致显示效果,目前未测试)
  • 将编辑好的3D建筑保存为DAE格式(打组情况需与ArcScene一致,独栋替换,请在ArcScene中重新生成未打组的3D要素)
  • Arcscene中选中要编辑的3D要素-右键开始编辑-选中要替换的建筑或组-编辑工具条-3D要素下拉-替换为模型

(天哪好长,真的好长一文,又没有图)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 规划人在路上 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 无测绘数据
    • a. 下载地形高程数据
      • b. 导入ArcMap/ArcScene/ArcGlobe
        • c. 生成3维地形
        • 02 生成三维建筑
        相关产品与服务
        图像处理
        图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档