分享

在 ArcGIS 中使用程序化符号制作建筑

 GIS荟 2022-12-06 发布于四川

前言:通过使用 ArcGIS Pro 中程序化符号将建筑物轮廓矢量转换为规则化的3D建筑物。

建筑效果、文章灵感来源于 ZACK 老师,感谢!

最后效果一览:

如果对 ArcGIS Pro 的操作还是比较吃力的话,可以看看这几篇文章

1.添加数据并拉伸

1.1添加数据

  • 打开 ArcGIS Pro,新建一个局部场景;

  • 添加面状建筑轮廓矢量数据到3D图层组中;

  • 添加天地图矢量影像到2D图层组中,添加其他的栅格底图也是可以的。关于如何添加天地图影像到 ArcGIS Pro 见这里

1.2拉伸3D化

  • 选中建筑轮廓矢量图层,在外观选项卡找到拉伸组

  • 拉伸类型选中基本高度,右边的表达式选择建筑物高度字段,如果没有该字段的话,可以自己赋值一个,比如30;

如果你使用的 ArcGIS Pro 3.0 及其以上版本,不再有外观选项卡,而是要素图层选项卡,但其中的功能模块没有太大的差别。

效果:

2.程序符号

程序符号(procedural symbology)系统使用基于脚本的逻辑,从简单几何构造复杂的 3D 对象和纹理,以显示点要素、面要素或多面体要素。例如,程序符号系统可用于将点要素渲染为真实的树、将面要素渲染为 17 世纪的巴黎建筑物或带有基于规则的涂绘纹理的多面体要素。

程序化(规则化)建模是 ESRI 的另一款软件 CityEngine 的拿手好戏,ArcGIS Pro 不仅可以直接应用  CityEngine 的规则包(.rpk),还自带几个程序化符号,在这里会用上,当然不会涉及到 CityEngine。

2.1应用拉伸建筑形状

  • 打开符号系统,选择符号;

  • 先选择所有样式(橙色框选1),然后搜索框中输入 procedural(橙色框选2),中文的话输入程序,点击回车键并搜索,在得到的结果中点击 Extruded Buidin…(橙色框选3)符号的图标以应用该符号。

效果如下,非常粗糙,甚至还不如原来仅拉伸的效果,还需要一定的步骤完善。

2.2程序化设置

同样在符号系统中,对刚刚应用的符号进行更细致的调整,以优化建筑物的表现。

  • 修改建筑表面的颜色,贴图选择颜色,设置为白色 RGB 255 255 255(橙色框选1);

  • 勾选显示窗户(橙色框选2);

  • 窗户设置大小(橙色框选3);

  • 最后点击最下面的应用。

2.3设置楼层和高度

  • EaveHeight 属性可以设置每层楼的高度(橙色框选1);

  • Levels 属性可以设置该建筑物有几成,如果你的数据中有楼层数的字段,那么可以设置该字段来针对性的为每一栋建筑物设置合适的楼层数(橙色框选2)。

2.4开启阴影

想要得到更真实的效果,可以通过开启阴影来实现,不过会明显加重机器的负荷,机器不行的朋友谨慎使用哦。

左:没开启阴影:右:开启阴影
  • 在软件右侧的内容列表中找到场景,在鼠标右击菜单中找到属性并点击打开属性设置界面;

  • 勾选在 3D 中显示阴影,点击确认即可在场景中渲染出建筑物的阴影。

3.其他程序符号效果

除了本篇文章使用的拉伸的建筑形状符号外,还有4种程序化符号(ArcGIS Pro 3.02版本),分别是国际大厦、堆叠的楼层、宗地框架、区域框架。

下面我们依顺序简单的看看这几种程序化符号的效果:

最后

写到最后我才发现,貌似不用提前拉伸建筑物,只需在应用的程序化符号中设置楼高和楼层数即可。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多