阅读:10298回复:30
[分享]三维分析模块教程,还挺详细,看看啦
<P ><B>一、</B><B> </B><B>目的</B><B><p></p></B></P>
<P >三维分析模块是ArcView一个重要的扩展模块,通过三维模型的建立 ,从透视三维的角度对空间数据进行可视化观察,直观地显示和查询数据,实现对表面模型的分析。通过本次实习,我们应:</P> <P >1、 加深对三维地形、地貌的认识;</P> <P >2、 熟练掌握ARCVIEW中建立三维模型的技术方法。</P> <P >3、 结合实际,增强三维分析帮助解决地学空间分析问题的能力。</P> <P ><B>二、</B><B> </B><B>实验准备</B><B><p></p></B></P> <P>1、 软件准备:Arcview</P> <P >2、 数据准备:文件feapt-clip1.dbf,feapt-clip1.shp,feapt-clip1.shx,文件terlk-clip1.dbf,terlk-clip1.shp,terlk-clip1.shx,文件夹cal2和info。</P> <P ><B>三、</B><B> </B><B>实验内容</B><B><p></p></B></P> <P>1、 三维场景的创建</P> <P >方法一:<p></p></P> <P >(1) 打开ArcView,点击【File】下的【Extensions】 中的“3D Analyst”复选框来添加三维分析模块。</P> <P >(2) 激活位于工程左侧的3D Scenes(三维场景)图标;</P> <P >(3) 单击NEW打开一个新的三维场景;</P> <P >(4) 按下<v:shapetype> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0 "></v:f><v:f eqn="sum @0 1 0 "></v:f><v:f eqn="sum 0 0 @1 "></v:f><v:f eqn="prod @2 1 2 "></v:f><v:f eqn="prod @3 21600 pixelWidth "></v:f><v:f eqn="prod @3 21600 pixelHeight "></v:f><v:f eqn="sum @0 0 1 "></v:f><v:f eqn="prod @6 1 2 "></v:f><v:f eqn="prod @7 21600 pixelWidth "></v:f><v:f eqn="sum @8 21600 0 "></v:f><v:f eqn="prod @7 21600 pixelHeight "></v:f><v:f eqn="sum @10 21600 0 "></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock v:ext="edit" aspectratio="t"></lock></v:shapetype><v:shape><v:imagedata src="8.files/image001.png" title=""></v:imagedata></v:shape>(Add Theme图标按钮),分别添加并激活terlk-clip1、cal2层面;</P> <P >(5) 打开并点击三维场景中的按钮<v:shape> <v:imagedata src="8.files/image005.png" title="fullextents"></v:imagedata></v:shape>,以显示这几个层面(见图1);</P> <P ><v:group><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:path connecttype="rect" gradientshapeok="t"></v:path></v:shapetype><v:shape><v:textbox style="MARGIN-TOP: 4.312pt; LEFT: auto; MARGIN-LEFT: 7.187pt; WIDTH: 228.625pt; TOP: auto; HEIGHT: 16.187pt; mso-next-textbox: #_x0000_s1069"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P align=center>图1. 没有对各层面进行三维属性定义之前的三维显示<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:imagedata src="8.files/image003.jpg" title="1"></v:imagedata></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group></P> <P >(6) 激活cal2层面,再点击【Theme】菜单下的【3D Properties】,设置【3D Properties】(见图2)下的Base heights为Surface选项,Surface的文件名为cal2层面的文件名,设置高程的偏移量(Offset Heights)为0。</P> <P ><v:group><v:shape><v:imagedata src="8.files/image007.jpg" title="2"></v:imagedata></v:shape><v:shape><v:textbox style="MARGIN-TOP: 3.875pt; LEFT: auto; MARGIN-LEFT: 7.187pt; WIDTH: 138.625pt; TOP: auto; HEIGHT: 16.218pt; mso-next-textbox: #_x0000_s1073"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P>图2. 3d Theme Properties对话框<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group></P> <P >(7) 然后激活层面terlk-clip1,点击【Theme】 下的【3D Properties】,因为cal2层面和terlk-clip1层面离的很近,为了显示清楚,可以设置Offset Heights的值为3。</P> <P >(8) 点击【3D Scene】菜单下的【properties】,修改设置三维场景的属性。设置三维场景的垂直放缩因子(Vertical exaggeration factor)为1,背景色(Background color)为白色,太阳方位角( Sun azimuth)为Northeast,太阳高度角( Sun altitude)为Low。图3是这两个层面的三维显示。</P> <P ><v:group><v:shape><v:textbox style="MARGIN-TOP: 4.031pt; LEFT: auto; MARGIN-LEFT: 7.187pt; WIDTH: 165.625pt; TOP: auto; HEIGHT: 16.218pt; mso-next-textbox: #_x0000_s1075"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P align=center>图3. cal2和terlk-clip1的三维显示<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:imagedata src="8.files/image009.jpg" title="3"></v:imagedata></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group></P> <P >方法二:<p></p></P> <P >(1) 打开ArcView中的已有视图,点击【View】下的【3D Scene】;<p></p></P> <P >(2) 在随后出现的对话框中,系统会出现两个选择,询问选择以层面(Themes)方式来添加到三维场景,还是选择以图象(Image)的方式来添加到三维场景。在本例中,选择“层面(Themes)”方式,再点击OK确认。</P> <P >(3) 在创建的三维场景中,激活cal2层面,点击【Theme】 下的【3D Properties】命令,设置【3D Properties】下的Base heights为Surface选项,Surface的文件名为cal2层面的文件名;</P> <P >(4) 同样,激活层面terkl-clip1,点击【Theme】 下的【3D Properties】,设置Offset Heights的值为3。</P> <P >(5) 点击【3D Scene】菜单下的【properties】,修改设置三维场景的属性,包括三维场景的垂直放缩因子、背景色、太阳方位角、太阳高度角。<p></p></P> <P >(6) 如果想要修改三维场景的名称,则可以通过点击【3D Scene】菜单下的【properties】,修改Name项则可。<p></p></P> <P>2、 二维多边形数据的三维显示</P> <P >(1) 打开ArcView,双击位于工程左侧的3D Scenes(三维场景)图标,打开一个新的三维场景;</P> <P >(2) 按下Add Theme图标按钮,添加二维多边形数据bldg层面及其表面数据dtm-mesh层面;<p></p></P> <P >(3) 打开并激活主题,点击【Theme】 下的【3D Properties】命令,编辑多边形主题的3D properties的值:Base Heights的值设为Surface项,Surface的文件名为dtm-mesh层面的文件名,偏移量设为0,延伸值的设定须点击这一项右侧的按钮<v:shape> <v:imagedata src="8.files/image013.png" title=""></v:imagedata></v:shape>,则在随后出现的对话框左侧会出现多边形主题的所有属性字段,双击建筑物高度字段,再点击OK确认,Extrude by的选项设为“Adding to base height”(见图4);<p></p></P> <P ><v:group><v:shape><v:textbox style="MARGIN-TOP: 4.312pt; LEFT: auto; MARGIN-LEFT: 7.781pt; WIDTH: 111.625pt; TOP: auto; HEIGHT: 16.218pt; mso-next-textbox: #_x0000_s1078"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P align=center>图4. 选择Extrude选项<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:imagedata src="8.files/image011.jpg" title="4"></v:imagedata></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group><p></p></P> <P >(4) 点击【3D Scene】 下的【Properties】命令,设置背景色、垂直缩放因子、太阳高度角、太阳方位角的值;</P> <P >(5) 双击多边形主题的图例,打开图例编辑器,将Legend Type设置为Unique Value,将Value Field设置为ID,点击Apply确认,则每个建筑物的颜色都不同。结果见图5。</P> <P><wrapblock><v:group><v:shape><v:textbox style="MARGIN-TOP: 4.312pt; LEFT: auto; MARGIN-LEFT: 7.625pt; WIDTH: 138.625pt; TOP: auto; HEIGHT: 16.187pt; mso-next-textbox: #_x0000_s1040"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P align=center>图5. 多边形数据的三维显示<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:imagedata src="8.files/image015.jpg" title="5"></v:imagedata></v:shape><w:wrap type="topandbottom"></w:wrap></v:group></wrapblock><BR clear=all>3、 三维形状的建立<p></p></P> <P>(1) 用一个点主题的属性字段代表高度创建三维点主题<B><p></p></B></P> <P >1) 激活点主题A.shp;</P> <P >2) 点击【theme】菜单下的【convert to 3D shapefile】;</P> <P >3) 选择Attribute为【Get Z values from】 的选项,按Ok确定;</P> <P >4) 从出现的下拉列表中,选择Elev为三维点主题的高程值;</P> <P >5) 在随后出现的对话框中,输入新的点主题的文件名AA.shp,并按OK确认;</P> <P >6) 在询问是否将新建的SHAPE文件添加为一个主题时,选择yes;</P> <P >新生成的点主题,是一个三维的点集,每个点都有三个值(x, y, z),(x, y)表示点的坐标,z 表示其高程值或某一方面的属性值。(见图6)</P> <P ><v:group><v:shape><v:textbox style="MARGIN-TOP: 4.312pt; LEFT: auto; MARGIN-LEFT: 7.187pt; WIDTH: 120.625pt; TOP: auto; HEIGHT: 16.187pt; mso-next-textbox: #_x0000_s1081"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P align=center>图6. 三维点层面的显示<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:imagedata src="8.files/image017.jpg" title="6"></v:imagedata></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group></P> <P>(2) 根据表面模型的值来创建三维线主题</P> <P >1) 激活线主题road.shp;</P> <P >2) 点击theme菜单下的【convert to 3D shapefile】;</P> <P >3) 选择Surface为【Get Z values from】 的选项,按Ok确定;</P> <P >4) 从出现的对话框中,选择表面模型的文件名;</P> <P >5) 在随后出现的对话框中,输入新的线主题的文件名road3d.shp,并按OK确认;</P> <P >6) 在询问是否将新建的SHAPE文件添加为一个主题时,选择yes。</P> <P >得到的这个三维线主题,因为和表面是同一高程,所以在三维场景显示时,可以把表面主题关闭,或者在设置线主题的三维属性时,给Offset heights选项输入一个小值,将线层面的高程相对于表面提高几个单位。(见图7)</P> <P ><v:group><v:shape><v:textbox style="MARGIN-TOP: 4.312pt; LEFT: auto; MARGIN-LEFT: 7.187pt; WIDTH: 120.625pt; TOP: auto; HEIGHT: 16.187pt; mso-next-textbox: #_x0000_s1084"> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TR> <TD> <DIV> <P align=center>图7. 三维线层面的显示<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:imagedata src="8.files/image019.jpg" title="7"></v:imagedata></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group></P> <P ><B>四、</B><B> </B><B>实习报告要求</B><B><p></p></B></P> <P >将所做工作以幻灯片形式做以汇报,内容包括原理、过程、结果。</P> |
|
|
1楼#
发布于:2004-08-07 09:54
慢慢研究。不明白再来请教
|
|
|
2楼#
发布于:2004-08-08 10:14
谢谢,我刚学arcgis ,我下了个arcgis8.3,它能进行3维分析吗?我想把一个等高线地形图变成3维的,请问改怎么办?
|
|
3楼#
发布于:2004-08-11 12:48
<P>好</P>
|
|
4楼#
发布于:2004-08-12 16:23
<P>I can't find the maps ,Where are they.</P>
|
|
5楼#
发布于:2004-08-13 15:59
bucuo
|
|
6楼#
发布于:2004-08-17 12:48
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
7楼#
发布于:2004-08-24 23:41
<P>谢谢了哦!!</P><P> 我要好好的研究一下</P><img src="images/post/smile/dvbbs/em01.gif" />
|
|
8楼#
发布于:2004-08-26 11:31
<P>如果可以将数据传上来就好了。</P>
|
|
|
9楼#
发布于:2004-09-03 13:56
<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
上一页
下一页