论文部分内容阅读
从目前情况来看,地理信息系统(GIS)还大多是二维的,但是随着人们越来越高的需求,三维GIS也是越来越多的被关注,并且日趋完善。用来表达地图内容的基本工具是地图符号,它不仅表示事物的空间位置、数量、性质和形状,而且还表示各事物相互之间的关系及区域总体特征。地图符号在二维GIS中被人们广泛的应用,并且得到了大家的认可和接受。所以现在的研究方向是如何将二维矢量地图符号在三维GIS中显不。体模型、面模型和混合模型是三维GIS中数据模型的三大类。体模型数据结构还分为结构实体几何模型、三维栅格结构、八叉树结构。面模型数据结构包含TIN、Grid、参数函数法和边界表示法。混合模型数据结构包含Octree-TEN混合构模、TIN-CSG混合构模和TIN-Octree混合构模。在三维数据模型构建完成后,就需要考虑如何使三维数据可视化,它所需的常用工具包括Java 3D、DirectX、OpenGL和VRML。目前在GIS中绘制地图符号的常用方法有组合绘制、纯函数绘制、折线绘制和循环绘制。本文选择Java 3D和Java作为开发工具,用解析数字高程模型(DEM)文件实现三维数据的点阵,然后构建Grid数据结构,再通过Java 3D技术来构建三维地形,完成三维场景可视化。绘制点符号是先使用定位技术来确定三维地形中地图符号的坐标,然后用纯函数绘制法来显示点状矢量的地图符号。绘制线符号是先采用折线法,根据三维地形的起伏,把原来的线段生成折线段,然后再绘制线状矢量地图符号。绘制面符号是通过三维地形和多边形求交,确定三维地形上相交的范围,再搜索出在该范围上的点,然后构建新的三角面片,从而在三维场景中显示。通过编写程序和解析DEM数据来构建三维地形,进而实现三维地形的可视化。于三维地形之中来实现点状、线状以及面状矢量地图符号的显示,在交互过程中实现地图符号的缩放功能。