GIS复习.docx
《GIS复习.docx》由会员分享,可在线阅读,更多相关《GIS复习.docx(23页珍藏版)》请在冰豆网上搜索。
GIS复习
1.ActiveX部件是可以重复使用的编程代码和数据是由用ActiveX技术创建的一个或多个对象所组成。
ActiveX控件与ActiveXDLL/EXE的区别:
ActiveX控件:
有界面;用“工程/部件”命令加载;工具箱上有图标;ActiveXDLL/EXE:
没有界面;用“工程/引用”设置引用;工具箱上没有图标。
ActiveX控制基础:
实地激活是指OLE对象的一种界面特性,具有实地激活特性的对象可以直接在包容器窗口内部进行编辑也被称作实地编辑或可视编辑;ActiveX控制功能特性键盘功能、快捷键的处理、焦点控制ActiveXControl和ActiveDocument区别:
程序类型不同;界面方式不同;HTML文件中的使用方式不同;数据保存方式不同;服务程序转载方式不同;当代地理信息技术84页;GIS控件的工作方式,优缺点:
当代116页;
2.ArcGISServer是功能强大的基于服务器的GIS产品,用于构建集中管理的、支持多用户的、具备高级GIS功能的企业级GIS应用与服务,如:
空间数据管理、二维、三维地图可视化、数据编辑、空间分析等即拿即用的应用和类型丰富的服务。
ArcGISServer是用户创建工作组、部门和企业级GIS应用的平台,通过ArcGISServer创建集中管理的、支持多用户的、提供丰富的GIS功能、并且满足工业标准的GIS应用。
ArcGISServer提供广泛的基于Web的GIS服务,以支持在分布式环境下实现地理数据管理、制图、地理处理、空间分析、编辑和其它的GIS功能。
ArcGISServer主要功能:
提供通用的框架在企业内部建立和分发GIS应用;提供操作简单、易于配置的Web应用;提供广泛的基于Web的空间数据获取功能;提供通用的GIS数据管理框架;支持在线的空间数据编辑和专业分析;支持二维三维地图可视化; 除标准浏览器外,还支持ArcGISDesktop和ArcGISExplorer等桌面客户端;可以集成多种GIS服务;支持标准的WMS、WFS;提供配置、发布和优化GIS服务器的管理工具;提供.NET和Java软件开发工具包;为移动客户提供应用开发框架;ArcGISServer的用户包括:
专业用户—专业用户可以使用ArcGISServer作为工作平台,以共享的地图数据、业务流程和应用功能的形式来发布他们的成果,同样他们也可以享用其他专业用户发布的服务。
应用开发人员—专门从事应用开发的人员可以应用专业用户发布的服务来创建或者定制应用而不必深刻理解GIS知识。
ArcGISServer提供了一个丰富的应用开发环境,包括J2EE和.NET2.0两种模式。
领导和非专业用户—领导和非专业用户可以借助WebServices技术将ArcGISServer提供的GIS应用结合到他们的日常工作流程中。
如果与其它企业级系统整合度很强,用户或许都不会意识到他们正在应用GIS技术。
IT管理员—IT管理员可以应用GIS服务并将其集成到更广的IT领域以支持多种多用的业务流程。
例如,GIS可以和派单管理系统,财务系统,供应链管理系统,商业智能系统等完美结合。
3.Flex是一个基于组件的开发框架,可以生成一个由FlashPlayer运行的富互联网应用程序。
Flex将基于标准的语言和各种可扩展用户界面及数据访问组件结合起来,使得开发人员能够构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序。
Flex是一种创建RIA(RichInternetApplications)快速有效的方法之一。
RIA是一种可能代替传统HTML应用系统的解决方案。
RIA技术既可以像Web一样很简单的部署用户客户端程序,同时交互性和表现力等方面也大大超过了传统Web应用系统。
如今,很多开发者或者公司已经开始研究并构建了成熟的RIA系统。
Flex运行机制:
Flex只是一种客户端技术,同时也属于Flash平台。
Flex代码最终被编译成SWF文件运行在Flash播放器(FlashPlayer)中。
SWF文件可以单独在用户终端运行,但是必须要安装FlashPlayer。
也可以在各种流行的浏览器中运行,浏览器必须安装FlashPlayer插件。
SWF文件是一个压缩文件,可以通过FlashPlayer呈现出来。
由于SWF文件很小,所以有很快的网络下载速度。
用户要想运行一个Flex应用程序,只需要通过网络或者其他途径获取SWF文件,就可以运行在装有FlashPlayer插件的浏览器中。
Flex产品组成:
Flex是一个比较完整的开发框架,主要有三个部分组成。
1.AdobeFlex3SDK2.AdobeFlexBuilder33.AdobeLiveCycleEnterpriseSuite;Flex与其他技术比较:
Flex是一种混合的技术,这种语言技术的设计借鉴了其他优秀的现代标准语言,如XML、JAVA等。
其中,MXML就是基于XML构建的描述界面的语言,同时借鉴了HTML等Web技术。
而ActionScript也是大量的借鉴了JavaScript脚本和Java语言的语法组成。
HTML/JavaScript/Ajax:
Flex技术是在Web技术发明之后开发出来的。
Flex技术中的MXML语言就是基于XML,并且借鉴了HTML描述语言。
所以,MXML和HTML的作用实质上是一样的,都是为了更好的描述界面布局和组件样式。
不同的是,MXML采用了更加先进的设计模式,使得MXML代码更容易阅读和编写。
Flex中的ActionScript是一种脚本语言,用来处理客户端的逻辑运算。
ActionScript的设计同样也参照了JavaScript,与JavaScript作用一样。
并且,ActionScript和JavaScript两者的语法也极其相似,这使得开发者学习新的ActionScript语言的门槛降低。
3.NASAWorldWind俗称地球放大镜是NASA(美国)国家航空和宇宙航行局联合出品,类似GoogleEarth和Earthview3D的鸟瞰工具,更加权威而且目前完全免费。
通过这套程序的3D引擎,可以让你从外太空看见地球上的任何一个角落。
结合在线的数据库,WorldWind最高的解析度可以达到每象素15公尺,也就是说一些比较大的街道.可以看得一清二楚,而且包括了可见光以外的影像。
此外,通过其中的功能,你可以进行一趟地球的3D飞行之旅,体验飞过圣母峰的感觉。
另外通过及时动画形成的模组你可以即时体验飓风席卷佛罗里达州或者是气候变化情况。
4.WebGIS特点:
1)更广泛的访问范围:
客户可以同时访问多个位于不同地方的服务器上的最新数据,而Web所特有的优势大大方便了GIS的数据管理,使分布式的多数据源的数据管理和合成更易于实现。
2)应用面广:
由于网络功能将会使WebGIS更容易被社会接受,从而将WebGIS应用扩展到整个社会,真正实现GIS的无所不能,无处不在。
3)现实性:
WebGIS在网上进行信息发布,对地理信息进行实时更新,因而人们能得到最新信息、最新动态。
4)平台独立性:
无论服务器/客户机是何种机器,无论WebGIS服务器端使用何种GIS软件,由于使用了通用的Web浏览器,用户就可以透明地访问WebGIS数据,在本机或某个服务器上进行分布式部件的动态组合和空间数据的协同处理与分析,实现远程异构数据的共享。
5)应用简单:
WebGIS用户可以直接从网上获取所需要的各种地理信息。
用户可以直接进行各种地理信息的分析,而不用关心空间数据库的维护和管理。
WebGIS定义,当代88页;WebGIS的应用可以分为以下几个层面:
1)空间数据发布:
能够以图形方式显示空间数据,较之与单纯的FTP方式,WebGIS使用户更容易找到需要的数据;2)空间查询检索:
利用浏览器提供的交互能力,进行图形及属性数据库的查询检索;3)空间模型服务:
在服务器端提供各种空间模型的实现方法,接受用户通过浏览器输入的模型参数后,将计算结果返回。
4)Web资源的组织:
在Web上存在着大量的信息,这些信息多数具有空间分布特征,如分销商数据往往有其所在位置属性,利用地图对这些信息进行组织和管理,并为用户提供基于空间的检索服务,无疑也可以通过WebGIS实现。
5.传统GIS的不足(当代地理信息技术第81页);GIS网络化趋势(当代地理信息技术第82页);WebGIS的实现方式与功能分配(当代地理信息技术第83页);WebGIS的概念(当代地理信息技术第四章)
6.WebGIS与GIS的不同之处:
它必须是基于网络的客户机/服务器系统,而传统GIS大多数为独立的单机系统;它利用因特网来进行客户端和服务器之间的信息交互,这就意味着信息的传递是全球性的;它是一个分布式系统,用户和服务器可以分布在不同地点和不同的计算机平台上。
7.现有的InternetGIS应用系统主要分为两类:
基于服务器的应用系统(Server-side);基于客户机的应用系统(Client-side)服务器端的互联网地理信息系统的构造模式是由CGI模式,ServerAPI构造的而基于客户机端的互联网地理信息系统的构造模式有Plug-in模式GISJavaAppletGISActiveX控件等
8.基于服务器的应用系统:
基于服务器的InternetGIS依赖服务器上的GIS系统完成GIS分析和产生输出工作。
Web浏览器充当前端的对用户友好的接口。
用户在客户机端Web浏览器上初始化URL请求(一个GIS操作)此请求通过互联网送给服务器。
服务器接受此请求,处理请求,并将处理结果返回客户端。
9.基于CGI的InternetGIS:
基于CGI(CommonGateIntergace)的InternetGIS是基于HTML的扩展,需要在后台运行GIS服务器。
GIS服务器和Web服务器通过CGI连接。
其优点是所有的操作、分析由服务器完成,因而客户端很小;同时,有利于充分利用服务器的资源,发挥服务器的最大潜力。
但是客户端的功能受到互联网浏览器和HTML的限制,JPEG和GIF是客户端操作的唯一形式。
而且,它增加了互联网和服务器的负担,工作效率受到影响CGI概念大多数Web站点都采用CGI技术来生成和传递动态内容。
CGI是在Web服务器端的一个通用接口,用来调用外部程序进行计数、查询数据库、生成定制的图像,或完成其他任务。
CGI程序可以用任何编程语言编写,但是到目前为止,Perl是最流行的CGI编程语言。
在最初的十年间,Perl主要是面向文本处理,现在它已经成为一种强大的面向对象语言,为Web开发者所青睐。
CGI程序员们喜爱Perl的文本处理能力和CGI.pm模块,它们为几乎所有CGI相关的任务提供了良好集成的、面向对象的接口。
很多人认为CGI和Perl是推动Web发展的工具。
CGI模式:
CGI是连接应用软件和Web服务器的标准技术,是网络服务器上的可执行程序HTML产生的东西基本上都是静态的而不是动态的,比如一个作为图像嵌入HTML文本中的地图就可以在用户端的浏览器中显示出来。
这种图像是一种静态图像,用户并不能放大、缩小或查询这种影像地图。
CGI提供了一个在浏览器和服务器之间,以及服务器和服务器上其他软件之间的一个接口。
它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且接受到这个程序的输出结果。
客户端浏览器使用HTML将客户的请求传给Web服务器,Web服务器通过专用的CGI访问GIS服务器(后端的GIS软件),GIS服务器承担所有的查询、计算工作,并将结果(数字图像)构建成一个HTML文档反馈给Web服务器,然后再传递给客户端浏览器。
CGI体系结构与工作原理:
服务器端有两个服务进程WebServer和GISServer,这两者是通过TCP/IP协议进行通讯的,所以既可以运行在一台主机上也可以分别运行在两台计算机上。
CGI模式工作原理:
当代地理信息技术第83页;基于客户端的互联网地理信息系统工作方式有GISPlug-in,GISActiveX和GISJavaApplet等。
10.GISPlug-in当代115页;
12.GISActiveX:
ActiveX是Microsoft为适应互联网而发展的标准。
ActiveX是建立在OLE(ObjectLinkingandEmbedding)标准之上,为扩展MicrosoftWeb浏览器InternetExplorer功能而提供的公共框架。
ActiveX控件是用于完成具体任务和信息通讯的软件模块。
GISActiveX控件用于处理GIS数据和完成GIS分析。
ActiveX控件和Plug-in非常相似,是为了扩展Web浏览器的动态模块。
所不同的是,ActiveX能被支持OLE标准的任何程序语言或应用系统所使用。
相反,Plug-in只能在某一具体的浏览器中使用。
基于GISActiveX控件的互联网地理信息系统是依赖GISActiveX来完成GIS数据的处理和显示。
GISActiveX控件与Web浏览器灵活无缝结合在一起。
在通常情况下,GISActiveX控件包容在HTML代码中,并通过
GISActiveX的工作原理:
当代116页;优势劣势:
当代117页;
13.GISJavaApplet是在程序运行时,从服务器下载到客户机端运行的可执行代码。
GISJavaApplet是由面向对象语言Java开发的小应用程序,与Web浏览器紧密结合,以扩展Web浏览器的功能,完成GIS数据操作和GIS处理。
GISJavaApplet最初为驻留在Web服务器端的可执行代码。
在通常情况下,GISJavaApplet包容在HTML代码中,并通过
它能完成GIS数据解释和GIS分析功能。
但是,对于处理大型的GIS分析任务(如叠置、资源分配等)的能力,无法与CGI模式相比;GIS数据的保存、分析结果的存储和网络资源的使用能力受到限制。
优劣势:
当代116页;
14.ArcGISServer:
是一个基于Web的企业级GIS解决方案,它从ArcGIS9.0版本开始加入ESRI产品家族。
ArcGISServer为创建和管理基于服务器的GIS应用提供了一个搞笑的框架平台。
它充分利用了ArcGIS的核心组件库ArcObjects,并且基于工业标准提供WebGIS服务。
ArcGISServer将亮相功能强大的技术——GIS和网络技术(Web)结合在一起,GIS擅长与空间相关的分析和处理,网络技术则提供全球互联,促进信息共享。
这亮相就似乎协同工作,相得益彰。
ArcGISServer不仅具备腹部地图服务端额功能,而且还能提供灵活的编辑和强大的分析能力,这对于WebGIS发展可以说是具有里程碑意义的。
集中式管理带来成本的降低。
无论是从数据的维护和管理上还是从刺痛升级上老说,都只需要在服务器端进行集中的处理,而无需再每一个终端用花上做大量的维护工作,这不但极大的节约投入的时间成本和人力资源,而且有利于提高数据的一致性。
瘦客户端也可以享受到高级的GIS服务。
过去只能在庞大的桌面软件上才能实现的高级GIS功能的时代终止于ArcGISServer。
通过ArcGISServer搭建的企业GIS服务使得客户端通过网络浏览器即可实现高级的GIS功能;使WebGIS具备了灵活的数据编辑和高级的GIS分析能力。
用户在户外作业时可以通过移动设备直接对服务器端的数据库进行维护和更新,大大减少了回到室内后的重复工作量,为野外调绘和勘察提供了极大的便利。
另外,ArcGISServer可以实现网络分析和3D分析等高级的空间分析功能。
支持大量的并发访问,具有负载均衡能力。
ArcGISServer采用分布式组件技术,可以将大量的并发访问均衡地分配到多个服务器上,可以大幅度的降低响应时间,提高并发访问量。
可以很据工业标准很好的与其他的企业系统整合,进行协同工作,为企业经营管理提供支持。
ArcGISServer的出现使得我们可以利用主流的网络技术来定制适合自身需要的网络GIS解决方案,具有更大的可伸缩性来满足多样化的企业需求;ArcGISServer架构:
ArcGISServer是一个分布式系统,由分布在多台机器上的各个角色协同工作。
ArcGISServer搭建的WebGIS解决方法支持多种类型的客户端,如ArcGISDesktopArcGISEnginApplication WebBrowser。
利用ArcGISServer搭建的WebGIS的各个组成部分;GISServer:
运行SOC和SOM的机器。
SOM即ServerObjectManager:
ServerObject管理器,负责管理调度ServerObject,而具体ServerObject的运行是在ArcSOC.EXE进程中。
SOC即ServerObjectContainer(容器)。
SOM和SOC可以运行在同一台机器上,也可以是SOM独占一台机器,管理一个或多个运行SOC的机器。
采用分布式部署,可以大幅提高GISServer的整体性能,扩展能力更强。
WebServer:
运行Web应用程序或WebServer机器。
这里的Web应用程序或WebServer通过访问GISServer并调用GISServer的对象来实现GIS功能,然后把结果返回给客户端。
WebBrowser:
诸如IE,Firefox等Web浏览器软件。
桌面应用程序:
可以是ArcGISDesktop和ArcGISEngine应用。
通过Http协议访问在WebServer上发布的ArcGIS网络服务,或者通过Lan/Wan直接连接到GISServers。
一般通过ArcCatalog应用程序来管理ArcGISServer。
ArcGISServer的功能:
在浏览器中分图层显示多个图层;在浏览器中缩放、漫游地图;在地图上行点击要素查询信息;在地图上查找要素;显示文本标注;绘制行片和卫片影像;使用缓冲区选择要素;地图服务发布:
ArcGISServer可以支持多种服务类型用花通过ArcGISServer发布的这些服务可以享用GIS功能。
ArcGISServer支持度额5种服务类型:
MapGeocodeGeoprocessingGeodataGlobe
MapService是使用最多的一种ArcGISServer服务。
该服务可以支持发布二维地图,支持建模,支持OGCWMS和KML,支持在线编辑空间数据等。
GeocodeService指的是地址编码服务,该服务可以把一个文本描述的地址转化为一个地理坐标;GeoprocessingService是一个基于Web的地理处理工具,客户端提交处理请求,服务器执行空间分析和建模,然后把执行结果展现在爱客户端。
GeodataService提供了访问Geodatabase数据库内容的功能,支持在线的数据查询,数据提取,数据更新等。
该服务在管理分布式的Geodatabase时非常方便。
GlobeService是ArcGISServer提供的3D服务。
首先在ArcGlobe中创建3dd文档,然后通过ArcGISServer发布即可。
用户可以使用免费的ArcGISExplore来访问ArcGISServer发布的3D服务。
15.OpenGIS共享技术:
OpenGIS基本概念:
OpenGIS的特点:
空间信息系统原理360页;开放式地理数据互操作规范及其框架:
空间信息系统原理360页;OpenGIS的实现技术:
空间信息系统原理362页;
16.COM组件的特性:
1组件必须有明确的接口定义2组件必须包含一个具体实现接口的部分3组件是可装配的4组件可被分发安装5组件必须遵循一定的规范COM组件模型:
COM(ComponentObjectModel)是一种基于组件(Component)的软件模型,它是新的代码重用技术COM技术范畴包括规范与实现两部分:
规范部分定义了组件之间的通信机制,这些规范不依赖于任何特定的语言和操作系统;实现部分即COM库,为COM规范的具体实现提供一些核心服务,由windows操作系统提供COM接口:
接口是对COM组件功能的逻辑分组,外界通过获取特定的接口指针使用组件所提供的功能。
16.ASP的局限性:
1)程序代码与HTML文档混在一起,从而使对代码和网页的管理难以分开2)ASP不容易实现程序的模块化,许多完成同样功能的代码会重复出现在不同的网页中,修改起来非常困难;3)ASP本身的脚本语言功能有限,速度慢4)ASP网站不易于扩充,多为两层结构5)纯ASP开发的网站可重用性差。
17.采用COM组件技术突破ASP的缺陷1)COM组件实现了软件的可重用性2创建可伸缩(scalable)的分布式系统3COM组件可以访问和使用计算机上的所有资源4通过封装一些通用的功能,可以保证整个网站以一致的风格呈现5)将业务程序封装为可重复使用的COM组件,可同时支持C/S和B/S的Web应用程序6可以用任何支持组件对象模型(COM)的编程语言
18.组件技术是近年发展起来的一种优秀的软件重用技术。
采用组件开发软件就像搭积木一样容易,组件是具有某种特定功能的软件模型,它几乎可以完成任何任务。
COM不是一种语言,而是一种标准、规范,包括一套标准API、一个标准的接口集以及COM用于支持分布式计算的网络协议。
COM组件是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进制代码,能够满足对组件架构的所有需求。
遵循COM的规范标准,组件与应用、组件与组件之间可以互操作,极其方便地建立可伸缩的应用系统。
COM是一种技术标准,其商业品牌则称为ActiveX。
ActiveX是Microsoft遵循COM/DCOM规范而开发的用于Internet的一种对象连接与嵌入技术(OLE)。
ActiveX是从复合文档技术OLE成长以来的。
OLE最初发布的版本只是瞄准符合文档,但在OLE2中引入了COM。
一般常用的COM组件有两类:
ActiveXDLL和ActiveX控件。
COM组件的特点:
1组件与开发工具语言无关2通过接口有效保证了组件的重用性。
3)其重用性主要表现在以下的使用场合:
3组件运行效率高、便于使用和管理。
COM的优点:
在构建组件软件方面,COM优于简单的DLL模型;许多公司都使用COM构建了他们自己的核心系统。
如:
N的后端使用COM;COM成功的关键之一:
强调接口COM的缺点:
COMDLLs的名字和配置信息都进入注册表,将导致注册表过重的负担;因为COM使用注册表(每个使用者都可以看到),所以不可能隔离私有的组件;注册表为应用程序的安装和卸载过程增加了复杂性;接口一旦发布决不能变化,发布后变化接口将破坏可靠性和可预测性。
客户使用接口必须遵循严格的规则;COM组件的数据类型一致性问题:
使用各自的类型系统,比如VB组件使用VARIANT类型;
19.MapObjects介绍:
利用GIS支撑软件进行二次开发可以充分利用支撑软件所具有的强大功能,开发比较容易,但开发的系统要在支撑软件的环境中运行,系统往往比较庞大,相应成本也高,对某些地图和空间分析只是部分功能的系统来说,二次开发就不太适合。
此外二次开发受到原有软件的限制,灵活性没有底层开发大。
基于上述原因,用户希望GIS支撑软件能组件化,在开发系统时,根据需要利用功能组件。
为此,一些GIS公司相继开发了供应用开发人员使用的制图与GIS功能组件,如ESRI公司的MapObjects、MapInfo公司的MapX、中科院地理信息中心的SuperMap等。
MapObjects产品:
MapObjects简称MO,是ESRI公司开发的一组供开发人员使用的制图与GIS功