260 likes | 440 Views
在 VirtualGIS 中创建虚拟世界. 主要内容: 1 、创建虚拟世界; 2 、空间视域分析;. 使用的数据: Demmerge.img :数字高程模型( DEM ); XS_turecolor_sub.img Seattle_dem.img Sky.img Bldgs :矢量文件;. [ 以上在 ..examples 目录下 ]. 1 、创建 虚拟世界. 借助虚拟世界编辑器( Virtual World Editor ),可以将多分辨率的多源数据集无缝地集成于同一个“虚拟世界( Virtual World )”。.
E N D
在VirtualGIS中创建虚拟世界 主要内容: 1、创建虚拟世界; 2、空间视域分析;
使用的数据: Demmerge.img:数字高程模型(DEM); XS_turecolor_sub.img Seattle_dem.img Sky.img Bldgs:矢量文件; [以上在..examples目录下]
1、创建虚拟世界 借助虚拟世界编辑器(Virtual World Editor),可以将多分辨率的多源数据集无缝地集成于同一个“虚拟世界( Virtual World )”。 在ERDAS菜单条中,MainVirtualGIS Virtual World Editor…
在弹出的对话框中,设置保存动画文件的路径、文件名后,单击OK按钮;在弹出的对话框中,设置保存动画文件的路径、文件名后,单击OK按钮; 向虚拟世界加载DEM数据:在Virtual World Editor窗口,Edit Add DEM Layer
在弹出的对话框中,选择DEMmerge_sub.img文件,在Raster Options选项卡中,数据类型为DEM,选中向虚拟世界复制数据Copy Source Data To World;
改变虚拟世界信息: 在Virtual World Editor窗口,单击World Info标签,改变DEM信息、地图信息和投影信息。
向虚拟世界加载栅格数据:在Virtual World Editor窗口,Edit Add Raster Overlay Layer 在弹出的对话框中,选择XS_truecolor_sub.img文件,在Raster Options选项卡中,选中向虚拟世界复制数据Copy Source Data To World,其它采用默认值;
向虚拟世界加载矢量数据:在Virtual World Editor窗口,Edit Add Vecter Layer 在弹出的对话框中,选择bldgs文件,在Vecter Options选项卡中,矢量显示类型为Extend Vertically,多边形高度属性为Height,选中Use Symbology复选框;
向虚拟世界加载注记文件:在Virtual World Editor窗口,Edit Add Annotation Layer 在弹出的对话框中,导入以前做过的注记文件,在Annotation Options选项卡中,数据显示类型为Drape Polygons/Polylines,单击OK按钮。
以上文件加载到虚拟世界编辑器Virtual World Editor后,系统随即会自动打开各自选项卡数据表,里面包含文件名、显示状态、所占分区数、详细路径信息等。 单击Sector Contents标签,显示分区信息。
建立虚拟世界的拓扑关系:在Virtual World Editor窗口,Process Build All,系统会对Virtualworld.vwf中所有数据层建立拓扑关系。 至此,一个包含多层数据、具有多分辨率的虚拟世界建立起来了,可对虚拟世界的三维显示等空间操作。
2、虚拟世界的空间操作 虚拟世界的多分辨率显示:在VirtualGIS Viewer窗口,FileOpenVirtual World…,打开刚创建的virtualworld.vwf,在Options选项卡,选中显示栅格数据层、矢量数据层、注记数据层。 调整三维场景特性:在VirtualGIS Viewer窗口,View Scene Properties…,在Background选项卡,选择背景类型为Image,背景图像为Sky.img。
显示分区边框:在VirtualGIS Viewer窗口,View Arrange Layers…,在打开的Arrange Layers for dem.img对话框,选中Show Bounding Boxes复选框,单击Next DEM按钮,直到所有数据层都显示在Feature Layers。
矢量数据查询:在VirtualGIS Viewer窗口,Vector Atrributes…,在打开的AtrributesforVector Layers 窗口,在Record列右击,弹出快捷菜单,单击Criteria…,查询高度大于150的多边形记录。
3、空间视域分析的数据准备 新建一个虚拟世界:在ERDAS菜单条中,MainVirtualGIS Virtual World Editor…,打开Open or Create a Virtual World对话框,单击New,保存文件名为vs_world.vwf。向虚拟世界加载DEM数据Seattle_dem.img,选中Copy Source Data to World复选框。 建立虚拟世界拓扑关系:在Virtual World Editor窗口ProcessBuild All 在二维和三维窗口中显示虚拟世界:在Virtual World Editor窗口,单击Sector Contents标签,选择Seattle_dem.img
生成多层视域数据: 生成第一层视域数据:在ERDAS菜单条中,Main VirtualGIS Create Viewshed Layer…,打开Viewer Selection Instructions指示器,在显示虚拟世界的二维窗口中单击。在弹出的Viewshed窗口,在Functions选项卡,输出类型为Multiple Viewshed(多层视域);在Observer选项卡,X为549901、Y为5273207、ASL为300、AGL为70、Range为200、FOV为360,单击Apply按钮。 在Viewshed窗口,单击Create按钮添加一个新的观测者,在Observer选项卡,X为550027、Y为5272981、ASL为325、AGL为119、Range为225、FOV为360,单击Apply按钮。
Viewshed窗口(Obserers选项卡) 红色圆形线表示观测者的视域范围,视域范围内深蓝色表示位于两个观测者视域范围内的建筑物,而浅蓝色表示只能被一个观测者看到,本底色区域表示观测者看不到的盲区。 两视域在二维窗口中的关系
在VirtualGIS窗口中观测视域:View Link/Unlink Viewers,打开Viewer Selection Instructions指示器,在显示虚拟世界的二维窗口中单击。 将Eye移到第一个视域中心,TARGET移到第二个视域中心,看第一个视域范围的三维视景;将Eye移到第二个视域中心,TARGET移到第一个视域中心,看第二个视域范围的三维视景。 保存Viewshed窗口中的视域分析数据:Save Image,文件名为vs_tour.img。
4、虚拟世界的视域分析 利用虚拟世界编辑器(Virtual World Editor),打开虚拟世界vs_world.vwf。 在Virtual World Editor窗口,加载视域文件vs_tour.img,选中Copy Source Data To World复选框。 建立拓扑关系:在Virtual World Editor窗口,Process Build All Overlays。 在Virtual World Editor窗口,单击Sector Coordinates标签,在表Sector#列选中第4分区(DEM),在工具栏上单击 ,打开VirtualGIS窗口,显示vs_world.vwf视域
调整场景特性:View Scence Properties,在DEM选项卡,选中Always Render DEM复选框;在Background选项卡,设置背景为白色。
数据查询准备:在VirtualGIS窗口,RasterAttributes,打开Raster Attributes Editor对话框,添加两个数据项。 单击Edit Add Class Names,在属性表中增加一个名为Class Names的数据项,输入数据项的值,Row1为Perimeter, Row2为Hidden Region, Row3为Visible by 1, Row4为Visible by 2; 单击Edit Add Area Column,在属性表中增加一个名为Area(面积)的数据项,单位为Hectares; 单击Edit Column Properties,可以对表中字段属性进行调整,单击File Save保存对栅格属性表的编辑。
三维视域的查询:在VirtualGIS窗口选择Selection导航模式,单击UtilityInquire Cursor,移动十字光标,视域信息就显示在查询框中(包括查询点三维坐标、属性值、通视状况、显示颜色等。)
5*、利用OpenGL做三维图形开发 • OpenGL (Open Graphics Language,开放的图形程序接口)。它是一个优秀的三维图形接口,提供了丰富的绘图命令,利用这些命令能够开发出高性能、交互式的三维图形应用程序。OpenGL中有115个核心函数,可以在任何OpenGL平台上使用,大部分人在Visual C++环境下用,也可在Visual BASIC下开发。一般编程可用到的函数库包括四种: • OPENGL实用库:函数以glu开头; • OPENGL辅助库:函数以aux开头; • Windows专用函数库:函数以wgl开头; • Win32API:无专用前缀。 *有兴趣的同学可以尝试去做。
实习报告 按照实习报告的格式要求撰写,对实习内容的主要结果进行截屏,并做简单的描述。