ArcGis Pro | 建筑3D视线可见性:构造视线 计算通视性

ArcGis Pro| 建筑3D视线可见性:构造视线 计算通视性

写在前面:并非GIS专业,需要获取从某点到建筑的3D视线可见性,初学探索ArcGis,仅记录自己的学习记录。如有问题或错误,望指正。

概览

我的任务:给定一个点,计算从这个点向周围的建筑看过去的3D视线可见性,也就是从这个点能看见哪些建筑。

主要过程:

  • 导入数据:带高度的单点元素;带高度的建筑轮廓矢量多边形
  • 建筑拉伸为3D元素:Extrusion / Feature To 3D by Attribute / Layer 3D to Feature Class
  • 构造视线:Construct Sight Lines
  • 计算通视性:InterVisibility
  • 存在的问题

导入数据:

  • 带高度的单点元素,作为视线源点
  • 带高度的建筑轮廓矢量多边形,作为视线目标
    在这里插入图片描述
    在这里插入图片描述
    其中Z是高度字段

建筑拉伸

  • 选中建筑元素,(1)Feature Layer → Extrusion → Type → Base Height; (2)Field选择高度字段名称
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可以发现,建筑现在已经被拉伸了

  • Feature To 3D by Attribute:(1)Analysis → Tool → 在Geoprocessing搜索框中搜索 Feature To 3D by Attribute,其中Height字段是建筑多边形中代表每个建筑高度的列名; (2)填写必要参数,点击run
    在这里插入图片描述在这里插入图片描述

  • Layer 3D to Feature Class:同样的方法找到 Layer 3D to Feature Class工具,填写必要参数,点击run,将建筑变成multi-patch类型
    在这里插入图片描述
    在这里插入图片描述
    右击生成的 targ_3dm 元素 → 点击Property → 查看Source,会发现数据类型变成了Muiltipathch:
    在这里插入图片描述

构造视线

  • Construct Sight Lines:找到Construct Sight Lines工具,填写参数。这里我们将点元素作为Observer,高度为2.0米,模拟人眼高度;将建筑多边形作为Target,使用建筑高度字段作为目标点的高度,构造视线
    在这里插入图片描述
    在这里插入图片描述

计算通视性

  • InterVisibility:找到InterVisibility工具,填写参数,其中Visible Filed Name是指:写入原始视线文件中表示视线可见性的字段名称,这里是VISIBLE,可以看到运行完成后,sight新增了一列VISIBLE
    在这里插入图片描述

存在的问题

  • 我只会Extrusion手动操作:建筑拉伸时,在Extrusion中将建筑Type改为Base Height,我只找到手动拉伸的方法,不知道arcpy中是否有可以通过写代码实现批处理的方法。

  • Construct Sight Lines每个建筑只能构造一条视线Construct Sight Lines的帮助文档中,每个建筑会构造多条视线,但我的视线结果中,每个建筑只有一条建筑,而且这一条视线会连接到建筑多边形远离Observer的那一边,这样我将建筑当做障碍物后,这条视线岂不是铁定不可见?
    在这里插入图片描述
    在这里插入图片描述
    需要修改哪些参数设置吗?

  • Intervisibility工具计算的VISIBLE不准确:我将VISIBLE为1的视线选中,其中蓝色表示VISIBLE为1的视线,剩下棕色的视线均是VISIBLE为0的视线。但我们观察实际的数据可以发现,有很多可见的视线其VISIBLE字段并不是1,比如图中红色箭头指示的视线。
    在这里插入图片描述
    这又是啥问题……

参考链接:
主要参考 https://geodoer.blog.csdn.net/article/details/78492226;
另外一个建筑拉伸的找不到原文了,抱歉

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值