城市三维建模与分析
三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、利用城市的三维景观模型进行城市基础设施、规划等方面的应用分析,可以直接指导和服务于城市的各方面规划和建设,最终为城市基础设施布局更加合理、人居环境更加美好经济社会更好更快发展而服务。
目录
[7.1 实验内容及目的](#7.1 实验内容及目的)
[7.1.1 实验内容](#7.1.1 实验内容)
[7.1.2 实验目的](#7.1.2 实验目的)
[7.3 操作流程](#7.3 操作流程)
[7.3.1 环境设置](#7.3.1 环境设置)
[7.3.2 三维显示](#7.3.2 三维显示)
[7.3.3 计算 DEM](#7.3.3 计算 DEM)
[(1)创建 TIN:](#(1)创建 TIN:)
[7.3.4 根据条件进行区域计算](#7.3.4 根据条件进行区域计算)
[7.3.5 绘制天际线](#7.3.5 绘制天际线)
[7.3.6 计算建筑面积](#7.3.6 计算建筑面积)
7.1 实验内容及目的
7.1.1 实验内容
本实验通过城区三维建模,初步认识城市三维建模、三维空间形态分析方法。利用某城区二维平面图,通过设置建筑物高度属性值构建城市三维模型,在此基础上利用ArcScene中的视域工具进行三维空间形态分析与统计计算,包括不考虑视野极限的可视区域、视野范围内非建筑物区域、视野范围内可见道路的长度、天际线(图)、可视建筑物统计。
(1)假设楼层均高为3m,请按照城市建筑物的楼层数字段(Floor),计算建筑物总体高度字段(Height),并以 Height 字段对 building数据进行三维拉伸显示。同时,按照观景点高度字段(Height),对观景点进行三维显示。
(2)根据地平面海拔和建筑物高度属性,构建该城市的DEM数据。
(3)根据游客的视野范围(视力极限距离为500m),分别计算不考虑视野极限的可视区域、视野范围内非建筑面积和视野范围内可见道路的长度。
(4)基于视点提取天际线和天际线图。
(5)天际线的有效边界由建筑物顶部与天空交接的边界线,计算其总长度,计算边界对应的建筑中最高和最低建筑的总面积之和。
7.1.2 实验目的
(1)掌握利用计算器进行赋值,对平面图形进行三维显示的方法
(2)熟悉构建TIN,TIN转换成 DEM 的操作过程。
(3)掌握ArcScene中的视域工具和栅格与面数据转换的方法;掌握分析工具相交、擦除交集制表等的使用。
(4)掌握二维点数据转为三维点数据的常用方法;掌握天际线的内涵并绘制天际线和转为天际线图的方法。
(5)掌握基于属性数据中的字段进行汇总统计。
7.2解决方案
对building数据属性中增加字段,进行三维拉伸显示。根据字段Height,将二维视点转为三维点数据,计算该视点位置处的天际线数据,以视点为中心,用极坐标系绘制出天际线图。计算该城市的DEM数据,并绘制专题图。根据游客视线距离初步计算不考虑视野极限的可视区、视野范围内非建筑面积和视野范围内可见道路的长度。计算天际线的有效边界的总长度,找出符合要求的建筑物,计算最高最低建筑的总建筑面积。
城市空间三维研究的逻辑过程主要包括以下内容:
(1)数据准备。确定需要哪些数据作为输入,即building和point 数据。
区域计算
(2)属性处理。修改字段和三维拉伸显示。
(3)计算该城市的DEM数据。构建TIN,利用TIN转栅格I具得到 DEM 数据。
(4)根据条件进行区域计算。计算出不考虑视野极限的可视区域、视野范围内非建筑面积和视野范围内可见道路的长度。
(5)绘制天际线。计算天际线数据,绘制天际线图。
(6)建筑物处理。找出天际线有效边界、最高和最低建筑,计算楼层面积之和。
7.3 操作流程
7.3.1 环境设置
在ArcScene 主菜单中点击【地理处理】--【环境设置】。设置工作空间、处理范围等,像元大小设为1,环境设置如下图所示:


7.3.2 三维显示
对building属性数据增加字段"Height",计算建筑物总体高度字段"Height",并以"Height"字段对 building数据进行三维拉伸显示。双击point点图层符号,在弹出的对话框中点击【符号编辑】进行设置,完成点的拉伸。
(1)计算字段:
右键点击"building"图层,点击【打开属性表】-【选表项】→【添加字段】,弹出"添加字段"对话框,在"名称"文本框中填入"Height",点击【确定】。

右键点击"Height"字段,点击【字段计算器】,利用字段计算器对"Height"字段进行赋值,点击【确定】。
(2)拉伸显示:
右键点击"building"图层,打开"图层属性",选择"拉伸"选项卡,填写高度函数,进行拉伸显示。

拉伸结果如下图所示。

(3)设置点符号:
双击 point点符号,弹出"符号选择器"对话框,点击【符号编辑】,弹出"符号属性编辑
器","类型"设置为"3D简单标记符号",选择"3D放置"选项卡,把Z坐标的偏移设为"195"如下图所示



点击【确定】。图形变化如下图所示。

7.3.3 计算 DEM
由于DEM图像为栅格图像,而原始数据为矢量图像,首先基于building数据构建TIN.基于合理采样转成栅格数据,然后利用栅格计算器获取满足一定条件的DEM。
(1)创建 TIN:
点击 ArcToolbox中的【3D Analyst】--【数据管理】--【TIN】-【创建 TIN】"输出TIN"选择一个合适的路径,"输人要素类"选择"building"。

输出结果如下图所示:

(2)TIN转栅格:
点击ArcToolbox中的【3DAnalyst】-【转换】-【由TIN转出】-【TIN转栅格】。"采样距离(可选)"设置为"CELLSIZE1"。

(3)设置栅格值:
点击ArcToolbox中的【空间分析】--【地图代数】-【栅格计算器】,栅格
计算器设置如下图所示:

点击【确定】。
颜色很刺眼的话可以改成温和点的颜色

7.3.4 根据条件进行区域计算
首先将完成的DEM数据利用视域工具求出不限视野范围的可视区域并转为矢量面要素,再筛选出可见区域,之后擦除建筑物,即可得到非建筑物区域。然后利用 building、poin原始数据绘制天际线,并进行矢量化操作。最后将两部分区域叠加,即可得到在视野范围内能看到的、非建筑物区域的面积,采用交集制表将天际线转成的面与道路取交集得到一个表。
(1)进行视域分析:
点击ArcToolbox中的【3DAnalyst】-【可见性】--【视域】,视域设置如下图所示:

点击【确定】。

(2)进行栅格转面:
点击ArcToolbox中的【转换工具】--【出栅格转出】一【栅格转面】格转面设置如下图所示:

点击【确定】。输出结果如下图所示。

(3)筛选可视区域:
点击ArcToolbox中的【分析工具】【提取分析】--【筛选】,点击"表达式(可选)"文本框右边的圆按钮,弹出"査询构建器"对话框,选择"GRIDCODE",点击【获取唯一值】,选择"1".

点击【确定】,关闭对话框,如下图所示。
(3)筛选可视区域:
点击AreToolbox中的【分析工具】【提取分析】-【筛选】,点击"表达式(可选)"文本框右边的圆按钮,弹出"查询构建器"对话框,选择"GRIDCODE",点击【获取唯一值】,选择"1",点击【确定】

(4)得到可视区域:
点击 AreToolbox中的【分析工具】->【叠加分析】-【相交】,"输入要素"选择可视区域和建筑物数据,如下图所示:

结果如图:

点击 ArcToolbox中的【分析工具】【叠加分析】-【擦除】,"输人要素"为可视区域,"擦除要素"为可视建筑物,点击【确定】。


(5)生成天际线:
点击ArcToolbox中的【3DAnalyst】--【可见性】-【天际线】,在弹出的对话框中进行如下图所示的设置。

产生如下图所示结果

(6)天际线转面:
点击ArcToolbox中的【数据管理工具】--【要素】-【要素转面】,在弹出的对话框中进行如下图所示设置


(7)计算理想可视非建筑物区域:
点击ArcToolbox中的【分析工具】-【叠加分析】->【相交】输入非建筑物和天际线数据,即可得到在视野范围内能够看到的非建筑物区域,如下图所示。


(8)进行区域融合:
点击ArcScene的【地理处理】-【融合】,弹出"融合"对话框,融合设置如下图所示:

点击【确定】。

右键点击生成的图层,打开属性表,新建面积字段,点击计算几何,计算该可视区域的面积,配置如下:

面积计算结果:

(9)计算可视道路长度:
点击ArcToolbox中的【分析工具】-【统计分析】-【交集制表】"区域字段"设置成"Shape_Area",如下图所示。

在Polygon_Skyline中添加Shape_Area字段

并计算:

右键点击生成的图层,打开属性表,查看数值,如下图所示:

7.3.5 绘制天际线
当行人在城市街道上行走时,其视线会受到周边建筑的遮挡,在建筑顶部形成与天空相接的轮廓边界,即天际线,。天际线代表了视线所能看到地物的最高边界。
根据Height字段,将二维视点转为三维点数据,计算该视点位置处的天际线数据,并以该视点为中心,用极坐标系绘制出天际线图。
(1)二维视点转为三维点数据:
点击【3DAnalyst】-【3D要素】->【依据属性实现要素转D],实现三维要素的转换,设置如下图所示。

(2)计算天际线数据:
点击ArcToolbox中的【3DAnalyst】-【可见性】-【天际线】,"输人图7.32 数据处理流程观察点要素"设置为"3Dpoint","输人要素(可选)"选择"building"数据,方位角增量设为2'。


点击【确定】,结果如下图所示。

(3)绘制天际线图:
点击ArcToolbox中的【3D Analyst】--【可见性】【天际线图】。"输人观察点要素"选择"point"数据,"输入线要素"选择天际线数据"3Dpoint_Skyline"。

输出结果如下图所示:

7.3.6 计算建筑面积
利用天际线有效边界的总长度,找出符合要求的建筑物,计算最高和最低建筑的总建筑面积。
(1)计算天际线有效边界:
点击ArcToolbox中的【分析工具】-【叠加分析】-【相交】。"输入要素"选择建筑物数据和天际线数据:

输出结果如下图所示:

右键点击实际天际线图层,打开属性表,选中"Shape_Leng"字段,右键点击该字段,选择【统计】,统计数据结果如下图所示。

(2)找出最高最低建筑:
在ArcScene主菜单中点击【选择】--【按位置选择】。"目标图层"选择"building"数据,"源图层"选择实际天际线数据"valid_Skyline"

输出结果如下图所示。

右键点击"building"图层,选择【数据】-【导出数据】,设置好保存路径,如下图所示

右键点击导出数据图层,打开属性表,选中Height字段,右键点击该字、选择【统计】统计数据结果下图所示,可以看到最大值为75,最小值为0.

(3)计算最高最低建筑面积之和:
点击ArcToolbox中【分析工具】-【统计分析】-【汇总统计数据】,对面积字段进行求和统计,以Floor字段进行案例分组(图7.46).结果如下表所示。最高建筑物共65层,每层面积约为2730.69m',总面积约为177494.85m。最低建筑物仅有1层,每层面积平均约为2308.48m,共有12栋,总面积约为27701.76m2

7.4实验心得
首先,做这个实验用的是ArcScene,而不是ArcMap,不然后面的操作做不了,我也是用ArcMap用了之和才发现的。然后,这个实验我做着的话感觉是少了点数据,一些字段缺失了,我就认为这些字段是面积,所以就自己加了字段并且计算了。所以我这做法仅供参考,大家看看就行。
实验七结束了,小专栏《零基础入门 ArcGIS(ArcScene) 》也结束了,详细做完以上七个实验,您对arcgis的操作已经非常流畅了,后面我也许还会更新其他关于arcgis的内容,大家敬请期待。
感谢您的三连!!!