基于DSM提取房屋白膜
前言
本篇文章主要讲解根据DSM数据提取房屋白膜,在此之前需要准备数据:1.DSM数据;2.房屋面数据;3.沿着道路的高程点数据(在房屋附近地面也可以点一些高程点)。用到的软件有ArcGis和SuperMap。
一、要素转点
打开ArcMap,导入房屋面数据,在房屋面数据字段添加一个新的ID
字段(另外再添加3个字段,分别为Base_High、Top_High、LS,这三个字段会在第三步用到),并用【字段计算器】为其赋值。
点击【数据管理工具】-【要素】-【要素转点】
二、提取房屋顶部高程及底部高程
1.提取顶部高程
向ArcMap中导入DSM数据,点击【Spatial Analyst工具】-【提取分析】-【值提取至点】,导出的数据中会多出一个字段【RASTERVALU】,表示房屋的顶部高程。
![在这里插入图片描述](https://img-blog.csdnimg.cn/6bc6a86cd9544f56b036df3db5c89ff0.png
然后为房屋顶部高程
数据添加两个字段“Base_High”和“Top_High”,分别表示底部高程和顶部高程。添加完字段后,使用【字段计算器】将RASTERVALU
的值赋值给Base_High
字段。
注:此过程中不可开启编辑。
2.提取底部高程
在房屋顶部高程
数据右键,点击【连接和关联】-【连接】
各项参数选择如下图所示,最后点击确定。
此时需要对Join_Output
数据开启编辑,将代表道路高程值的Elevation
字段值赋值给Top_High
。
提取底部高程原理:因为房屋底部高程与道路高程相差不大,所以用道路高程点代表房屋底部高程,而提取房屋底部高程的步骤实际上就是将距离房屋点最近的道路高程点的值赋值给房屋底部高程
三、为房屋面数据赋值底部和顶部高程
使用“提取底部高程”中用到的【连接】功能,各项参数如下。
此时将Join_Output
中的Base_High、Top_High字段利用【字段计算器】赋值给房屋面
数据中的Base_High、Top_High。(注:此时房屋面
数据需要开启编辑)
然后利用【字段计算器】为LS
字段赋值。(注:此时可以移除连接)
四、建立房屋白膜
在SuperMap软件新建数据源,将房屋面数据导入其中,然后点击【数据】-【类型转换】-【二维面转三维面】
然后新建球面场景,将三维面数据拖拽到图层中,点击【风格设置】,对其中4项参数做如下设置。