资源描述
基于哈夫曼编码的通信系统的设计与实现(完整资料)
(可以直接使用,可编辑 优秀版资料,欢迎下载)
河北工业大学
《数据结构》课程实验
实验报告
题目:基于哈夫曼编码的通信系统的设计与实现
专业:计算机科学与技术
班级:计1301班
姓名:张路浩刘禄源刘磊波李浩川邹博睿王超
完成日期:2015-1-13
一、试验内容
1)初始化处理:建立通信系统
(1)建立有100句中文的信息集合,每个句子称为一条信息.
(2)输入编码参数:
① 从终端输入编码字符集大小n,字符编码长度m(设n为4,m为8);
② 从终端输入编码字符(设为A,B,C,D);
(3)生成每条信息的字符编码,构造字符编码集合;
(4)计算每个字符在字符编码集合中出现的概率;
(5)根据字符概率构造哈夫曼树,求出每个字符的二进制编码。
2)发送端信息编码
(1)用户从信息集合中选择一条信息,找到该信息对应的字符编码;
(2)根据该信息的字符编码,哈夫曼树求出的每个字符的二进制编码,构造出该信息的二进制编码,记录该二进制编码.(由于是软件模拟,没有发送设备,发送端的编码工作完成)。
3)接受端信息译码
(1)根据得到的信息的二进制编码,利用哈夫曼树求出的每个字符的二进制编码,还原出信息的字符编码;
(2)根据信息的字符编码,找到对应的信息。
5、实现提示
(1)本试验涉及到通讯学科的编码理论和信息学科的数据压缩技术。
(2)根据参数生成的通信系统的所有信息的有效存储问题。
(3)信息字符编码可参考随机数的方式生成,且要求保持唯一性
二、试验目的
(1)掌握二叉树的存储结构及其相关操作.
(2)掌握构造哈夫曼树的基本思想,及其编码/译码过程。
三、流程图
开始
定义汉字信息
string message[10]
通过随机数函数对汉字信息用字符集进行编码psw[i]
设置随机数种子
srand(time(NULL));
定义字符集大小n
输入字符集内容
HT.HFMTree[i].word
输入n
统计汉字信息字符编码中各字符出现的频度HT.HFMTree[k].weight
用字符集对信息进行字符编码void CreatCode(HCodeType& HT,int n)
输入编码长度p
i<2n-1
Y
指针初始化
HT.HFMTree[i].parent = -1;
HT.HFMTree[i].rchild = -1; HT.HFMTree[i].lchild = -1;
逐个非叶结点构造
根据各字符构的频度构造哈夫曼树
CreatHFMTree(HT,n)
N
将各信息的字符编码进行哈弗曼树编码
寻找具有最小、次小值的根建树
哈夫曼编码
CreatHFMCode(HT,HFMCode,n);
链接父节点和兄弟结点,i++
父指针为空
Y
输出文字信息和对应的哈夫曼编码
Y
原来的最小变为次小,记下新的最小值
比原来最小的还要小
记下新的次小值
比原来的次小还小
N
结束
四、源程序代码
#include<iostream〉
#include<cstdlib>
#include<ctime>
#include〈string>
using namespace std;
constint n=4;//叶子节点个数
constint MAXVALUE = 9999;
intm,p; //编码参数
string l;
int size;
//构造哈夫曼树结点
typedefstruct{
int weight;//权值
int parent;//父节点
intlchild;//左子树
intrchild;//右子树
char word;//编码字符
}HNodeType;
//构造哈夫曼编码数组
typedefstruct{
HNodeTypeHFMTree[2*n-1];//结点数
int bit[n];
int start;
}HCodeType;
HCodeType HT;
HCodeTypeHFMCode[n];
string message[10]={
ﻩ{"人之初”},{"性本善"},{”性相近"},
ﻩ{"习相远”},{"苟不教”},{"性乃迁"},{"教之道"},{"贵以专"},
{"昔孟母"},{"择邻处"}};
string psw[10];//存储编码
//对信息进行编码
void CreatCode(HCodeType& HT,int n)
{
inti,j,k;
char ch;//存储编码的字符集
ﻩ//权重初始化
for(i=0;i<2*n-1;i++){
HT.HFMTree[i]。weight=0;
ﻩ}
cout〈<"请输入编码字符集的大小:m = ";
cin>〉m;
cout<<"请输入编码长度大小:p = ”;
cin〉〉p;
cout〈〈”请输入编码字符:"<〈endl;
for(i = 0;i〈m;i++){
cin>〉HT.HFMTree[i]。word;
}
//对汉字信息进行编码
srand(time(NULL));
cout<<"**************************************************************"<<endl;
cout〈〈”生成的编码为:"〈<endl;
for(i = 0;i〈10;i++){
for(j = 0;j<p;j++){
ch = HT。HFMTree[rand()%m].word;
psw[i] +=ch;
for(k = 0;k〈m;k++){
if(ch == HT.HFMTree[k].word)
HT.HFMTree[k].weight++;
ﻩ}
ﻩ}
if(i>0&&psw[i] == psw[i—1]){
i--;
}
else
cout<〈message[i]〈〈”: "〈<psw[i]〈<endl;
}
cout<〈"各字符出现的频度为:”<<endl;
for(i = 0;i〈m;i++){
cout〈<HT。HFMTree[i].word<<”出现的频度为:"〈〈HT.HFMTree[i].weight〈<endl;
ﻩ}
}
//创建哈弗曼树
voidCreatHFMTree(HCodeType& HT,int n)
{
inti,j;
int m1,x1,m2,x2;
for(i = 0;i〈2*n—1;i++){
HT。HFMTree[i].parent = -1;
HT。HFMTree[i].rchild = -1;
HT.HFMTree[i]。lchild = —1;
ﻩ}
for(i = 0;i<n-1;i++)
ﻩ{
x1 = x2 =MAXVALUE;
m1 = m2 =0;
for(j = 0;j<n+i;j++){
if(HT.HFMTree[j].parent==—1&&HT。HFMTree[j].weight〈x1){
x2 = x1;
ﻩm2 = m1;
x1 = HT。HFMTree[j].weight;
ﻩm1 = j;
ﻩ}
else if(HT.HFMTree[j].parent==—1&&HT.HFMTree[j].weight〈x2){
x2 = HT.HFMTree[j]。weight;
ﻩm2 = j;
ﻩ}
}
HT.HFMTree[m1]。parent=n+i;
HT。HFMTree[m2].parent=n+i;
HT。HFMTree[n+i]。weight=HT.HFMTree[m1]。weight+HT.HFMTree[m2].weight;
HT。HFMTree[n+i]。lchild=m1;
HT。HFMTree[n+i]。rchild=m2;
ﻩ}
cout〈<"**************************************************************"〈〈endl;
cout〈<"构造的哈弗曼树为:\n";
for(i = 0;i<(2*n-1);i++){
cout〈<i<〈" 字符"<<HT.HFMTree[i]。word〈<"的权重:”<〈HT。HFMTree[i]。weight〈<" 父结点的位置为:"<〈HT.HFMTree[i].parent
〈〈” 左孩子的位置为:"〈〈HT。HFMTree[i].lchild<<" 右孩子的位置为:"〈〈HT.HFMTree[i].rchild<<endl;
}
}
//对字符集编码
voidCreatHFMCode(HCodeType& HT,HCodeTypeHFMCode[],int n){
HCodeType cd;
inti,j,c,p;
for(i = 0;i〈n;i++){
cd.start = n—1;
c = i;
p = HT.HFMTree[i]。parent;
while(p != -1){
if(HT.HFMTree[p].lchild == c)
cd.bit[cd.start] = 0;
else if(HT。HFMTree[p].rchild == c)
cd.bit[cd.start] = 1;
cd.start-—;
ﻩc = p;
p = HT。HFMTree[c].parent;
}
for(j = cd.start+1;j<n;j++)
HFMCode[i]。bit[j] = cd.bit[j];
HFMCode[i].start = cd.start+1;
}
cout<〈"**************************************************************"〈<endl;
cout<〈"各字符的编码为:"<<endl;
for(i = 0;i<n;i++){
cout<<"字符”<〈HT。HFMTree[i].word<<"的编码为”;
for(j = 2;j〈n;j++){
cout<〈HFMCode[i]。bit[j];
}
cout<〈endl;
}
}
int main()
{
cout<〈"**************************************************************"<〈endl;
cout〈<"***************欢迎使用基于哈夫曼编码的通信系统***************"〈〈endl;
cout〈<"**************************************************************”<<endl;
string t[10];
CreatCode(HT,n);//对信息进行编码
CreatHFMTree(HT,n);
CreatHFMCode(HT,HFMCode,n);
//将信息进行转码
cout<<”**************************************************************”<<endl;
cout<<”编码结果为:"<<endl;
for(inti = 0;i〈10;i++){
cout<<message[i]〈〈”<-—-—-----——->";
for(int j = 0;j<p;j++){
for(int k = 0;k<m;k++){
if(psw[i][j] == HT。HFMTree[k].word){
for(int l = 2;l<n;l++){
cout<<HFMCode[k].bit[l];
ﻩ}
}
ﻩ}
}
cout<〈endl;
}
return 0;
}
五、调试过程
六、结果分析
摘要
地理信息系统 (Geographic Information System) 是一种基于计算机的工具,它可以对在地球上存在的东西和发生的事件进行成图和分析. GIS 技术把地图这种独特的视觉化效果和地理分析功能与一般的数据库操作(例如查询和统计分析等)集成在一起。这种能力使 GIS与其他信息系统相区别,从而使其在广泛的公众和个人企事业单位中解释事件、预测结果、规划战略等中具有实用价值.
本设计主要利用Mapinfo制图软件以在网上下载到的成都市地图为依据绘制了成都市电子地图。最后以Visual C++作为开发工具,采用MapX控件技术,实现了一个成都市的电子地图信息查询系统。主要功能包括放大工具、缩小缩小、箭头工具、箭头选取工具、手型工具、信息查询、面积查询、距离查询、鹰眼功能、公交查询、美食天地等等.
本文第一章对GIS的概念,历史和发展现状进行了分析,同时介绍了国内外GIS的软件。第二章介绍了数字城市的基本信息,概括了城市GIS系统的需求分析以及一些相关技术。第三章介绍了数字城市的基本信息和基于Mapinfo成都市地图的实现.最后一章介绍了以Visual C++作为开发工具,采用MapX控件技术实现GIS信息查询系统。
关键词:地理信息系统;Mapinfo;MapX。
Abstract
GIS( Geographic Information System) is a computer—based tool。 It can map and analyze the existing things and the occurred incidents in the world。 GIS technology integrates the unique visual effect and geographic analysis functions of maps with the general operation of the database (for example, inquiry and statistical analysis, etc) This ability of GIS make it differentiate from other information systems, thus in a wide range of public and private enterprises and institutions the ability makes GIS have practical value in explaining incidents, forecasting results and making strategies。
We drew the map information system of Chengdu making use of Mapinfo and according as the map of Chengdufrom internet。 Finally, Choosing VC as the developing tools and adopting MapX as the representation for GIS to do the second development, we have implemented the map information system of Chengdu which includes zoom in query, zoom out query,distance query, area query, bus query, dinning room query and so on。
The main emphasis of the first chapter of our article is the conception, history and development of GIS and introducing the soft of GIS. In the second chapter, we explain basic information of DigitalCity and recapitulate requirement of GIS。 and in the third chapter, we explain how make the map of Chengdu. in the final chapter, we choose VC as the developing tools and adopt MapX as the representation for GIS to do the second development, we have implemented the map information system of Chengdu.
key words:Geographic Information System;Mapinfo;MapX;
目录
摘要I
AbstractII
第一章 绪论3
1.1引言3
1。2GIS发展现状和应用领域3
1.2。1发展现状3
1。2。2应用现状3
1.3GIS系统的发展趋势3
1。3。1组建式GIS(ComGIS)系统3
1。3.2WebGIS系统3
1。3。3OpenGIS系统3
和4D GIS系统3
数据库管理3
1。3。6虚拟实现3
1.4GIS发展历史3
1.5二维GIS与三维GIS3
二维GIS的应用3
1。5。2三维GIS的应用3
二维与三维GIS的比较3
1.6GIS软件介绍3
国内3
国外3
第二章 城市GIS系统需求分析3
2。1可行性分析3
技术可行性分析3
操作可行性分析3
2。1。3经济可行性分析3
2。2系统功能需求分析3
第三章 基于Mapinfo的地图绘制3
3。1数字城市的概念及应用3
3.2数字城市的相关技术3
3.2。1数据的收集处理技术3
3。2.23S集体集成技术3
3.2。3空间数据库技术3
开放式地理信息系统(OpenGIS)技术3
3。3Mapinfo介绍3
3.4地图的获得3
3.5图层中填加数据信息3
第四章GIS查询系统的设计与实现3
4.1MapX介绍3
4。2地图导入3
4.2。1在C++中导入MapX控件3
4.2。2初始化MapX控件3
4。3基本功能3
4.4距离,面积查询功能的实现3
4。4.1MapX中的自定义工具3
4.4。2距离面积查询功能实现过程3
4.5图层内部查询功能3
4.6鹰眼功能3
鹰眼介绍3
实现步骤3
4.7美食天地的简单实现3
4.8公交查询功能的简单实现3
4.8。1迪杰斯特拉算法3
4。8。2实现的主要过程3
结论3
致谢3
参考文献3
第一章 绪论
1.1 引言
地理信息系统的定义
地理信息系统( GIS) 是采集、存储、管理、检索、分析和描述整个或部分地球表面与空间地理分布数据的空间信息系统。它是一种能把图形管理系统和数据管理系统有机地结合起来的信息技术,既管理对象的位置又管理对象的其它属性,而且位置和其它属性是自动关联的。它最基本的功能是将分散收集到的各种空间、非空间信息输入到计算机中,建立起有相互联系的数据库.当外界情况发生变化时,只要更改局部的数据,就可维持数据库的有效性和现实性。GIS 是一种空间数据库管理系统,是一个动态系统,所以不能简单地把它同地图数据库混为一谈。目前, GIS 带动的产业急剧膨胀,已经深入到市政工程、企业决策、资源管理、交通运输、医疗保健、邮电通信、公安急救、市场销售、金融保险、石油化工、水利电力、环境保护、旅游、科研、教育等各个方面。
1.2 GIS发展现状和应用领域
1.2.1 发展现状
GIS 技术的创立和发展,与地理空间信息的表示、处理、分析和应用手段的不断发展紧密相连.地理信息系统起源于地图,它们都是地理信息的载体,具有获取、存储、编辑、处理、分析与显示地理数据的功能.地图是地理学的第二代语言,而GIS 将成为地理学的第三代语言。GIS 是在地图学的基础上发展起来的,可分为以下几个阶段: ①开拓发展阶段.20 世纪60 年代,由于计算机硬件系统功能较弱,限制了软件技术的发展.这一时期的软件主要是针对当时的主机和外设开发的,算法粗糙,图形功能有限。②巩固阶段。20 世纪70 年代,计算机硬件和软件技术飞速发展,为空间数据的录入、存储、检索和输出提供了强有力的手段。用户屏幕和图形、图像卡的发展增强了人机对话和高质量的图形显示功能,促使GIS 朝着使用方向迅速发展.由于这一时期GIS 的需求增加,地图数字化输入技术有了一定的进展,采用人机交互方式,易于编辑修改,提高了工作效率,并出现了扫描输入技术系统,图形功能扩展不大,数据管理能力较小.这一时期软件最重要的进展是人机图形交互技术的发展.③突破阶段。随着计算机软件、硬件技术的发展和普及,GIS 也逐渐走向成熟,这一时期是GIS 发展的重要时期。GIS 软件技术在栅格扫描输入的数据处理、数据存储和运算方面有了很大的突破。随着硬件技术的发展,GIS 软件处理的数据量和复杂程度大大提高,许多软件技术固化到专用的处理器中,而且遥感影像的自动校正、实体识别、影像增强和专家系统分析软件也明显增加。在数据输出方面,与硬件技术相配合, G1S软件可支持多种形式的地图输出。在地理信息管理方面,除了DBMS 技术已经发展到支持大型地图数据库的水平外,专门研制的适合GIS 空间关系表达和分析的空间数据库管理系统也有了很大发展。④社会化阶段。进入20 世纪90 年代,随着地理信息产业的建立和数字化信息产品在全世界的普及, GIS 已经成为许多机构必备的工作系统,尤其是政府决策部门在一定程度上受GIS 影响改变了现有机构的运行方式、设置与工作计划等。而且,社会对GIS 的认识普遍提高,需求大幅度增加,从而导致GIS 应用的扩大与深化。自20 世纪90 年代以来,我国GIS 步入快速发展阶段。它为国民经济重大问题提供了分析和决策依据,同时GIS 的研究和应用正逐步形成行业,具备了走向产业化的条件。
1.2.2 应用现状
由于GIS 是用来管理、分析空间数据的信息系统,所以几乎所有使用空间数据和空间信息的部门都可以应用GIS。目前, GIS 系统已经被应用到环境模型建立、城市规划与管理、社会经济统计与分析、土地管理、地理测绘与管理、交通与管道管理等与空间信息密切相关的各个方面.GIS 的主要应用领域有: ①城市基础设施管理。城市基础设施主要是指城市地下管道(包括自来水管道、污水排放管道、煤气管道等) 、城市供电网、通信网络、邮政网点、道路与交通设施等。由于这些设施同时具有与几何和空间位置相关的特性,建立基于GIS 系统的信息系统能够提高对这些设施的管理水平,同时还能极大地提高设计与施工、设备维护与故障排除、线路改造等方面的效率,从而产生巨大的经济效益和社会效益.②环境保护与管理.主要用GIS 系统建立环境模型和环境信息系统,对环境的变化及发展趋势进行预报分析,同时通过统计分析及模拟研究为环境保护提供决策依据。此外, GIS 系统技术也被用来建立植物种类与栖息地及环境因素有关的信息系统。③社会调查与统计分析.GIS 系统在国外已被广泛应用于人口学、选举、人文地理等方面,我国也开始开展这方面的研究和应用工作。④土地信息系统的建立。GIS 系统最早是从土地信息系统L IS 建立过程中发展起来的,而大量高质量GIS 系统软件平台的出现又促进了土地信息系统的建立。目前基于GIS 系统软件平台的土地信息系统,无论是图形处理、空间分析与统计、属性信息存储与查询、统计报表生成、决策支持等方面都比早期的土地信息系统有较大的改进。⑤在军事领域中的应用。GIS 系统已被广泛地应用到军事领域,包括数字化军事地图和定位系统、集团军可视化指挥、模拟训练等。最典型的范例是美国工程兵地形研究室开发的三维地形模拟GIS 系统,已被成功地运用于美军在世界范围的导弹制导体系中。
1.3 GIS系统的发展趋势
GIS 系统是一门综合性的技术,也是一种对空间数据进行采集、存储、更新、分析、输出等处理的工具,而软件是GIS 系统的核心。GIS 软件体系主要指GIS软件的组织方式,它依赖于一定的软件技术基础,并决定了GIS 系统软件的应用方式、集成效率等许多方面的特点。从发展历程看, GIS 系统应用软件技术体系可以划分为GIS 模块、集成式GIS、模块化GIS、核心式GIS、组件式GIS 和万维网GIS 系统6 个阶段 .随着计算机和互联网技术的发展以及应用领域的扩展,GIS 的应用软件系统发展很快,从而构建了各种不同用途和功能的GIS 系统.目前以GIS 软件发展为特征的系统主要呈现以下几种趋势。
1.3.1 组建式GIS(ComGIS)系统
这种新的GIS 系统开发思路是将GIS 系统功能分散制作成ActiveX Control 和Automation ,这些标准的ActiveX Control 和Automtion 可以被任何支持它们的开发环境所调用,以便在原有的或新开发的信息系统中加入GIS 系统功能。组件软件的可编程和可重用特点为系统开发商提供了方便的二次开发手段,将在很大程度上推动GIS 软件的系统集成化和应用大众化.同时Com GIS 也很好地适应了网络技术的发展,是一种WebGIS 的解决方案。它所涉及的关键技术包括各种组件技术的集成、通用性和可移植性的研究,因此利用Chaponents 技术更容易建立Internet GIS或Intranet GIS 信息系统。
1.3.2 WebGIS系统
众所周知,信息高速公路的建立极大地方便了世界各地用户之间的信息交换与信息查询。由于GIS系统具有丰富的空间查询、空间分析及属性管理功能,因此GIS 系统正在成为Internet 或Intranet 的一个主要内容。随着Internet 技术的不断发展和人们对GIS系统的需求,把GIS 系统与网络技术相融合,利用In2ternt 在Web 上发布空间数据,为用户提供空间数据浏览、查询和分析的功能,形成一个网络化的地理空间集成平台,已经成为GIS 系统发展的必然趋势.WebGIS系统的概念是Internt 技术应用于GIS 领域的产物。
GIS 系统通过WWW功能得以扩展,真正成为一种大众使用的工具。通过WWW的任意一个节点, Internet用户就可以测览WebGIS 系统站点的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使GIS 系统进入千家万户。
1.3.3 OpenGIS系统
目前,一种多用户、跨平台的OpenGIS 技术正在被国外的许多研究机构、政府部门和高等院校研究和开发利用。开放型GIS 系统的研究和应用使各政府部门及企业之间不同格式的数据能够方便地互访,有利于建立网络GIS 系统及分布式GIS 系统空间数据库,大大拓宽GIS 系统的应用领域及其功能。
1.3.4 3D和4D GIS系统
由于地球以及各种物体都是以三维空间的形式存在的,因此目前二维GIS 系统技术或H 维半(平面x ,y坐标加高程) GIS 系统对于完整描述地球上的对象就有一定限制。需要用三维空间来描述的应用领域有如下几方面:气象学、地质学、采矿学、石油勘探与开发、CAD/ CAM、医学影像和机器人学等。一个三维GIS系统空间信息系统应该能够模拟、表示、管理、分析与三维实体相关的信息,并提供决策支持.因此,如何设计并运用4DGIS 来描述、处理地理对象的时态特征也是一个重要研究领域.它所涉及的关键技术是: 3Dand 4D 的建模技术,数据模型的研究,海量数据的存贮、管理、访问,显示空间索引技术,三维显示技术与科学计算可视化技术的集成,面向对象的空间数据库的研究,面向对象的空间数据库与三维实时显示技术的集成。
1.3.5 GIS数据库管理
新型的GIS 系统空间数据库管理系统这是建立大型GIS 系统空间数据库的新方法。GIS 系统一般由两个部分组成:一是应用程序,它包括专门的GIS 系统应用软件以及用标准或非标准程序语言开发的用户界面及系统工具;一是数据。在GIS系统中,空间数据库的建立是一项非常复杂的工作,目前大多数GIS 系统在处理空间数据和属性数据时都是将两者分开存放和管理,比如在Mapinfo 系统中用. Map文件来存放几何和空间数据,而用. Dat文件来存放空间实体的属性数据; 又如在ArcView 系统中用。 Shp文件来存放几何和空间数据,而用DBF 数据库文件来存放属性数据。上述数据管理和存放方式对于小型的GIS 系统有一定的优越性,但对建立以面向对象为基础的大型GIS 系统来说存在很多缺陷。因此,现在已出现一些新型的GIS 空间数据库管理系统,这些新的系统将空间数据与属性数据存放在同一个数据库管理系统中。如Oracle 开发的SDO 和ESRI 开发SDE(Spatial Data Engine) 都属于这种类型的空间数据库系统。
空间数据仓库(Spatial Data Warehouse)空间数据量非常大,而且数据大都分散在政府、私人机构、公司的各个部门,数据的管理与使用就变得非常复杂,但这些空间数据又具有极大的科学价值和经济价值,因此大多数发达国家都比较重视空间数据仓库的建立工作,许多研究机构和政府部门参与到空间数据仓库建立的研究工作中.目前,在北美、欧洲、澳大利亚等国提出了(国家) 空间数据基础设施(SDI) 或NSDI 的概念。国际上对地理空间数据基础设施建设十分重视,我国国家测绘局也积极地推进SDI 的建设工作,并提出了规划模式,部分内容已经在实施当中。
1.3.6 虚拟实现
虚拟现实(VR) 是目前GIS 系统研究领域的另一重要方向。虚拟现实是对人类真实世界某一部分或某一过程的逼真模拟,给人提供视觉、听觉、触觉、力觉、嗅觉等信息,令人完全置身于虚拟世界中,感受与现实系统一致或接近,从而让人产生一种虽幻犹真的沉浸感.美国MultiGen 公司生产的MultiGen 软件已可以利用地理信息中心的数字地形海拔数据(DTED) 、数字文化特征数据(DFAD) 和与之配套的航空或卫星照片,快速、高效地构造任何地区的地形地貌和文化特征。
1.4 GIS发展历史
我国GIS的发展虽然较晚,经历了4个阶段,即起步(1970—1980),准备(1980-1985),发展(1985—1995),产业化(1996以后)阶段,GIS已经在许多部门和领域得到应用,并引起了政府部门的高度重视。从应用方面看,地理信息系统已在资源开发、环境保护、城市规化建设、土地管理、农作物调查和结产、交通、能源、通讯,地图测绘、林业、房地产开发、自然灾害的检测和评估、金融、保险、石头与天然气、军事、犯罪分析、运输与导航、110报警系统公共汽车调度等方面得到了具体应用.国内外已有城市测绘地理信息系统或测绘数据库正在进行或建设中。一批信息软件已研制开发成功(如GeoStar,CityStar,MapGIS等),一批高等院校已设立了一些与GIS有关的专业或学科,一批关门从事GIS产业活动的高新技术产业相继成立。此外,还成立了”中国GIS协会”和”中国GPS技术应用协会"等。我国地理信息系统方面的工作自80年代初开始。以1980年中国科学院遥感应用研究所成立全国第一个地理信息系统研究室为编制,在几年的起步发展阶段中,我国地理信息系统在理论探索、硬件配置、软件研制、规范制定、区域试验研究、局部系统建立、初步应用试验和技术队伍培养等方面都取得了进步,积累了经验,为在全国范围内展开地理信息系统的研究和应用奠定了基础。
在国外,GIS是六十年代中期开始发展起来的新技术。它最初为解决地理问题而起,至今已成为一门设计测绘科学、环境科学、计算机技术等多学科的交叉学科。1963年加拿大测量学家R.F Tomlinson首先提出了地理信息系统这一术语。并建成世界上第一个GID(加拿大地理信息系统CGIS)。并用于自然资源的管理和规划。不久,美国哈佛大学提出了较完整的系统软件SYMAO.这可算是GIS的起步。进入70年代以后,由于计算机软硬件水平的提高,促使GIS朝着实用方向迅速发展,一些经济发达国家先后建立了许多专业性的GIS,在自然资源管理和规划方面发挥了重大的作用。如,从1970年到1976年,美国国家地质调查局就建成50多个信息系统。其他国家如加拿大、德国、瑞典和日本等国相继发展了自己的GIS.80年代后兴起的计算机网络技术使地理信息的传输实效得到了极大的提高,他的应用从基础信息管理与规划转向更复杂的实际应用,成为辅助决策的工具,并促使了地理信息产业的形成.到1995年,市场上有报价的软件以达上千种,并且涌现出了一些有代表性的GIS软件.
1.5 二维GIS与三维GIS
1.5.1 二维GIS的应用
目前,二维GIS主要在以下几个方面有着较深入的应用:
1.专题地图制图.如地形测量、人口、社会经济指标统计图等;
2.矿产资源评价.应用于地质制图、工程地质、地质灾害、品位估算与预测等;
3.环境评价与监测.环境影响指数评价、灌溉适宜性指数评价、污染指数评价等;
4.土地、水资源调查与管理。土地管理、道路设计、文物保护、水质评价等;
5.资源开采。主要完成生产图形的绘制与修改,开采技术参数的评价与预测,基础数据的管理等;
6.管网,交通模拟模型。煤气管道、污水管道、输电线路、铁路、公路的网络模拟研究;
7.导航系统.空中管制、海图制作等;
8.城市规划.居民点、商业网点、道路的设计、各种管网工程的管理与设计等。
1.5.2 三维GIS的应用
目前,三维GIS主要在以下几个方面有着较为深入的应用:
1.城市规划与管理
空间规划是GIS的一个重要领域,城市规划与管理是其中的主要内容。例如,在大规模城市基础设施建设中如何保证绿地的比例和合理分布,如何保证学校、公共设施、运动场所、服务设施占地面积的合理分配问题.
2.生态、环境管理与模拟
区域生态规划、环境现状评价、环境影响评价、环境危害后果的三维模拟、环保设施的管理、环境规划等。
3.基础设施管理
城市的地下基础设施(电信、自来水、道路交通、天然气管线、排污设施、电力设施等)广泛分布于城市的各个角落,而且这些设施明显具有地理参照特征。通过对这些基础设施进行三维建模,可以更加直观的对这些基础设施进行分析和管理。
4.网络分析
建立交通网络,地下管线网络等的计算机模型.研究交通流量,制定交通规则都可以很好的应用三维GIS。三维GIS还可以应用于警务和医疗救护的路径优选,车辆导航等。
5.可视化的应用
以数字地面模型为基础,可以建立城市、区域、大型建筑工程、著名风景名胜区的三维可视化模型,实现多角度浏览。这种三维可视化模型可广泛应用于城市宣传、区域规划、大型工程管理和仿真、旅游等领域
展开阅读全文