收录于话题
#GIS基础技能
72个内容
今天是1群大佬的投稿,但是他又不想让人知道他是谁==一定要起一个这么奇怪的名字,。哎,现在的大佬真的是,明明那么厉害,非要叫“垃圾人”,而某些只有半瓶水的人却浪到飞起(比如我)。
惭愧。
1. 由等高线产生不规则三角网
准备三个要素文件:现状等高线、设计等高线和场地边界。打开属性表“现状等高线”,可以看到每条等高线的高程数据均在图层属性数据表的contour字段中,打开属性“设计等高线”也可看到同样的属性字段。
选用菜单Tools/Extensions…,加载3DAnalyst扩展模块。选用菜单View/ Toolbars /3DAnalyst,加载3DAnalyst工具条。鼠标双击dataframe1(等高线所在的图层组),在DataFrame(特征设置)对话框的General标签中将MapUnits和DisplayUnits均改为Meters。选择3D-Analyst /Options…,对3DAnalyst作初始化设置:Working:X:\XXXX\XXXX\ —— 输入3DAnalyst的指定工作路径Analysismask:None —— 栅格数据的属性表中将不存在无数据(No data)属性值Analysis coordinate system:勾选上侧圆点,产生栅格的坐标系统,参照已经使用的Analysisextent:SameAslayer —— “场地边界”下拉选择“场地边界”为栅格范围Analysiscell:AsSpecifiedBelow —— 下拉选择Cellsize:10 —— 栅格单元的大小为10NumberofRows:37 —— 边界和栅格单元确定后,自动确定栅格的行数NumberofColumns:32 —— 边界和栅格单元确定后,自动确定栅格列数按“确定”键完成初始化设置。选用菜单3DAnalyst/Create/ModifyTIN/ CreateTIN FromFeatures…,在随后的对话框中,作如下选择:Layers:勾选“现状等高线”和“场地边界”两项,表示由该两个图层共同产生TIN(其中“场地边界”仅起限制TIN边界的作用)。鼠标选择图层“现状等高线”,再对“Settingsforselectedlayer”对话框进行设置:HeightSource:CONTOUR —— 下拉选择,高程值源于现状等高线属性CONTOUR Triangulateas:softline —— 下拉选择,使用适合以等高线为数据源的计算方法TagValuefield:<< span="">None>不选鼠标选择图层“场地边界”,在Settingsforselectedlayer对话框内设置:HeightSource:<< span="">None> —— 下拉选择,不要高程值Triangulateas:softclip —— 下拉选择,产生的TIN模型被裁切在该边界内TagValuefield:<n< span="">one>,不选</n<>OutputTIN:X:\X\X\ —— TIN数据名称及存储路径按OK键,软件根据现状等高线产生三维地面模型,默认的显示方式是按高程分类。双击图层cnt_presen,在调出的图层特征对话框中选择Symbology标签,作如下设置:针对Show:列表框出现的选项(如:Elevation,Edges,Slope等)选择加左下方Remove按钮,将他们删除,再点击Add…,弹出AddRender(显示控制列表)对话框,选择Faceslopewithgraduatedcolorramp,表示用坡度分类来显示三维地表,按Add键,出现图例,调整图例后,按“确认”键,关闭图层属性对话框。读者可以观察到,根据TIN模型而产生的坡度分类图的显示效果(见图14-2)。再次选择菜单3DAnalyst/Create/ModifyTIN/CreateTINFromFeatures…,在随后的对话框中,作如下选择:Layers:勾选“设计等高线”和“场地边界”。表示由该两个图层共同产生。TIN(其中“场地边界”仅起限制TIN的输出边界的作用)鼠标激活图层“设计等高线”,再对“Settingsforselectedlayer”框进行设置:
HeightSource:CONTOUR —— 下拉选择,高程值源于现状等高线属性CONTOUR Triangulateas:softline —— 下拉选择,使用适合以等高线为数据源的计算方法TagValuefield:<< span="">None>不选
鼠标激活图层“场地边界”,在Settingsforselectedlayer对话框内设置:2. 计算工程填挖方
选用菜单3DAnalyst/Surfaceanalysis/Cut/Fill…(计算填挖方),在弹出的Cut/Fill对话框进行如下参数设置:Beforesurface:cnt_presen ——下拉选择,原来的表面Aftersurface:cnt_design ——下拉选择,后来的表面Outputcellsize:10 —— 已在3Danalyst初始化时指定Outputraster:cut_fill —— 键盘输入生成的栅格数据名称,路径按初始设定按OK键后关闭对话框,系统自动产生填挖方计算栅格数据,并用一个名为cut_fill的图层显示出来,该图层的图例中NetGain表示净填方,Unchanged表示不填不挖,NetLoss表示净挖方,NoData表示缺少合适的数据。打开图层属性表“Attributeofcut_fill”,可以查看到栅格要素属性表的内容,其中Volume值大于零的表示填方,小于零的表示挖方,等于零的不挖不填,鼠标右键点击字段Volume,再选菜单Statistics...,获得该栅格体积的统计结果,总计(Sum)为22500.00,填方大于挖方。为了得到更详细的填挖方信息,可以将不规则三角网构成的地面模型转成栅格数据。返回dataframe1,选用菜单Tools/Extensions…/SpatialAnalyst/Close,勾选View/Toolbars/SpatialAnalyst,出现SpatialAnalyst工具条,选择Spatial Analyst /Options…,作初始化设置:SpatialAnalyst/RasterCalculator…,系统出现RasterCalculator对话框,用双击鼠标方法实现如下操作:[grd_design]-[grd_presen]按Evaluate按钮,系统产生填挖方栅格图层Calculation。系统自动将输出的栅格分为9类,其中颜色较深的部分为挖方,颜色较浅的部分为填方,图例的文字说明表示每个单元的纵向填挖量。因栅格单元的取值是浮点的实数,没有要素属性表,需用重新分类方法转化成取值为整数的栅格才能计算填挖方。读者可根据自己喜好对显示进行修改。
3. 填挖方计算小结
一般情况下,不规则三角网(TIN)是从高程点产生的,如果靠传统地图建立TIN,就要利用等高线,这时软件就在等高线上取出典型的、关键的样本点,将这些点连起来形成TIN,这比直接从高程点产生TIN在计算方法上多了一个自动选取样本点的步骤。一般情况下显示TIN时表达高程,但是也可以直接表达坡度,还可以直接进行简单的填挖方计算。如果要进行细致的填挖方计算,就要将TIN转换成栅格再计算。转换、计算过程产生的栅格一般是浮点型,没有属性表,如果需要,可以用SpatialAnalyst再转换。4. 利用二维线状要素生成三维纵剖面
(1) 选用菜单3DAnalyst的3D要素 添加Z信息:
(2) 产生纵剖面
选用菜单Selection/SetSelectableLayers…,在弹出的对话框中去掉“道路”、“地形”图层的可选性,仅保留3d-road为可选择图层,按Close键返回。使用要素选择工具,在视图中选择其中一条东西向的道路,该要素进入选择集,改变显示颜色。在3DAnalyst工具条中的Layer:下拉条中,选择图层名“地形”,在3DAnalyst工具条中选择剖面图按钮(CreateProfileGraph),系统即生成了沿该路径的地形剖面线。(3) 调整剖面图的表达在剖面线显示窗口中鼠标右键点击窗口顶部的标题行,在弹出的右键菜单中选Properties…,出现Graph Properties(图形特征)对话框,点击Advanced Options …,再出现AdvancedOptions对话框:Title标签 (设定图形的标题)
GraphTitle:dataframe2中的道路纵剖面 —— 键盘输入、修改主标题的名称
Bottom:平面距离 —— 键盘输入底部的说明文字,相当于对X轴的说明
Title:高程 —— 键盘输入左侧的说明文字,相当于对Y轴的说明○Horizontal ○·Up ○Down 点选Up,字符向上排列
那今天就到这里结束啦,欢迎留言讨论。文中的图片未经许可不要随便“引用”。
如果可以的话,希望能够转发分享,点个在看并且点个赞,给个赞赏~~也欢迎规范转载~
也希望大家和我多留言互动啊!(据说这样可以增加我的推送在你的订阅号里出现的概率)
如需全文转载文章、投稿或者合作
可添加微信
(回复超慢!!!)
(不要添加我问各种问题,我大概率不会的==)
(入群请一定要备注入群)
(添加后会在晚上非工作时间通过,请稍安勿躁)