在 VirtualGIS 中创建虚拟世界
description
Transcript of 在 VirtualGIS 中创建虚拟世界
在 VirtualGIS中创建虚拟世界
主要内容:1 、创建虚拟世界;
2 、空间视域分析;
使用的数据:
Demmerge.img:数字高程模型( DEM);XS_turecolor_sub.img
Seattle_dem.img
Sky.img
Bldgs:矢量文件;
[以上在 ..examples目录下 ]
11 、创建、创建虚拟世界虚拟世界借助虚拟世界编辑器( Virtual World Editor ),可以将多分辨率的多源数据集无缝地集成于同一个“虚拟世界( Virtual World )”。
在 ERDAS 菜单条中, MainVirtualGIS Virtual World Editor…
在弹出的对话框中,设置保存动画文件的路径、文件名后,单击 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中所有数据层建立拓扑关系。
至此,一个包含多层数据、具有多分辨率的虚拟世界建立起来了,可对虚拟世界的三维显示等空间操作。
22 、、虚拟世界虚拟世界的空间操作的空间操作虚拟世界的多分辨率显示:在 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… ,在打开的 Atrributes for Vector Layers 窗口,在 Record 列右击,弹出快捷菜单,单击 Criteria… ,查询高度大于 150 的多边形记录。
33 、空间视域分析的数据准备、空间视域分析的数据准备新建一个虚拟世界:在 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 菜单条中, MainVirtualGIS 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 。
44 、虚拟世界的视域分析、虚拟世界的视域分析
利用虚拟世界编辑器 (Virtual World Editor) ,打开虚拟世界 vs_world.vwf 。
在 Virtual World Editor 窗口,加载视域文件vs_tour.img ,选中 Copy Source Data To World 复选框。
建立拓扑关系:在 Virtual World Editor 窗口, ProcessBuild 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 ,移动十字光标,视域信息就显示在查询框中(包括查询点三维坐标、属性值、通视状况、显示颜色等。)
55**、利用、利用 OpenGLOpenGL 做三维图形开发做三维图形开发
*有兴趣的同学可以尝试去做。
OpenGL (Open Graphics Language ,开放的图形程序接口 ) 。它是一个优秀的三维图形接口,提供了丰富的绘图命令,利用这些命令能够开发出高性能、交互式的三维图形应用程序。 OpenGL 中有 115 个核心函数,可以在任何 OpenGL平台上使用,大部分人在Visual C++ 环境下用,也可在 Visual BASIC下开发。一般编程可用到的函数库包括四种: OPENGL实用库:函数以 glu 开头; OPENGL辅助库:函数以 aux 开头; Windows专用函数库:函数以 wgl 开头; Win32API :无专用前缀。
实习报告实习报告
按照实习报告的格式要求撰写,对实习内容的主要结果进行截屏,并做简单的描述。