您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > GIS开发与应用讲义【打印】
GIS开发与应用——SuperMap二次开发唐山师范学院·资源管理系2013年2月教学目的与要求该课程的教学目的是使学生对GIS技术有一个明确的认识,能够具备GIS技术的基本技能,包括GIS软件开发与应用。该课程将主要讲授SuperMapObjects组件的二次开发应用,通过学习,加深对GIS基本原理的理解和领会,并能够熟练运用软件完成地理空间数据的处理和分析,使学生掌握基本的二次开发方法,能够利用GIS技术解决不同行业的具体应用需求,如地质、国土、水利等。教学重点组件式GIS的特点、不同的GIS平台、SuperMapObjects功能特点、SuperMapObjects基本概念、读取数据源、空间数据的显示开发、地图数据图层管理、查询功能,包括图形查询属性,属性查询图形、空间对象的编辑,包括几何对象的编辑,属性字段的编辑、跟踪图层的应用,包括添加几何对象,移动几何对象等、图层风格设置、地图的保存等教学难点SuperMapObjects功能结构、图形与属性双向查询开发、空间对象的编辑功能开发、地图的保存功能、跟踪层的应用8、《GIS工程师训练营:SuperMapObjects组件式开发》,SuperMap图书编委会,清华大学出版社,2011.4第1章组件式GIS概述本章目标:了解GIS软件技术体系的发展状况,掌握组件式GIS的特点,熟悉目前市场上流行的几种GIS软件平台。GIS开发与应用11.1GIS开发与应用概述1.1.1GIS开发(1)含义用户根据特定需要,在一定的GIS开发平台基础上,经过二次开发而得到的功能扩展。(2)开发策略A“自上而下”法(Top-bottomMethod)B“自下而上”法(Bottom-topMethod)C综合方法(ComprehensiveMethod)D企业系统规划法(BusinessSystemPlanning,BSP)(3)开发步骤前期准备:立项、调研,可行性分析、用户需求分析;系统设计:总体设计、标准集的产生、系统详细设计、数据库设计;施工:软件开发、建库、组装、试运行、调试;运行:系统交付使用和更新(4)开发平台及功能1.1.2GIS应用(1)含义GIS应用是指利用现成的或开发后的地理信息系统,分析、解决实际问题的一种技术手段,并产生一定的社会、经济效益。(2)应用领域A在地方政府部门中的应用(如:国土局土地规划)B在城市交通规划和管理中的应用C在城市基础设施管理中的应用D在社会经济和人文统计及商业中的应用1.2GIS软件技术体系的发展地理信息系统(GeographicInformationSystem,简称GIS)是一门学科,更是一种技术,与IT密切相关。地理信息系统是在计算机软硬件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、存储、管理、运算、分析、显示和描述的技术系统。地理信息系统处理的是多种地理空间实体数据及其关系,包括图形数据、遥感图像数据、属性数据等,用于分析和处理在一定地理区域内分布的各种现象和过程,解决复杂的规划、决策和管理问题。构建一个地理信息系统平台来集中处理数据采集、存储、管理和分析输出等功能非常必要,因此软件是GIS的核心内容之一。为了更好地理解组件式以及组件式GIS的特点,有必要简单回顾一下GIS软件技术体系的发展历史。GIS软件技术体系主要指GIS软件的组织方式,依赖于一定的软件技术基础,决定了GIS软件的应用方式、集成效率等许多方面的特点。从发展历程看,GIS软件技术体系可以划分为六个阶段(图1.1),即:GIS模块、集成式GIS、模块化GIS、核心式GIS、组件式GIS和网络GIS。GIS软件技术的发展经历了从简单到复杂、从单一功能到多功能的逐渐成熟完善的发展过程。传统GIS大多是基于十多年前甚至更早的技术体系设计和开发的,在很大程度上限制了GIS软件的进一步发展和应用。计算机技术和全球信息技术的飞速发展,特别是面GIS开发与应用2向对象(Object-Oriented)、可视化程序设计、组件式软件(ComponentsSoftware)、分布式计算(DistributedComputing)、多媒体(Multimedia)和Internet/Intranet等技术的不断出现和广泛应用,对GIS提出了新的技术要求,GIS软件发展到一个全新的阶段,出现了组件式GIS(ComponentsGIS,简称ComGIS)和网络GIS(简称WebGIS)。组件式GIS不是一种简单的技术在GIS软件开发中的应用,而是一种全新的GIS软件技术体系。不仅仅是GIS,组件式软件技术给整个软件产业带来了一场技术革命。此外,还需了解两种模式平台的结构:C/S与B/S结构。C/S结构:C/S模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。C/S模式具有交互性强、安全性好、专业化程度高、开发手段灵活、运行速度快等特点,但开发成本较高。C/S结构对客户端软硬件要求较高,尤其是软件的不断升级,对硬件要求不断提高,增加了整个系统的成本,客户端越来越臃肿。其次,维护复杂,升级麻烦。如果应用程序要升级,必须为客户机一一升级,每个客户机上的应用程序都需要维护。此外,信息内容和形式单一。因为传统的信息系统一般为事务处理,界面基本遵循数据库的字段解释,开发之初就己确定,而且不能随时截取办公信息和档案等外部信息,获得的只是单纯的文字和数字。C/S模式是早期电子政务开发中主要应用的模式,C/S模式系统几乎可以适应任何的操作平台,开发技术也多种多样,大部分计算机语言都能开发出C/S模式的应用系统。随着工Internet技术的发展及对信息系统的总体成本考虑,C/S模式逐渐暴露出许多缺点。B/S结构:B/S模式的系统以服务器为核心,系统的开发者无需为不同级别的用户设计开发不同的应用程序,只要把所有的功能都实现在Web服务器上,并就不同的功能为不同级别的用户设置相应的权限就可以了。而各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序完成相应的工作。系统升级时只需要升级服务器端程序就可以,不用升级客户端的应用程序。B/S模式具有易于升级,便于维护,客户端使用难度低、可移植性强等特点,同时也受到灵活性差、应用模式简单等问题的制约。传统GIS软件的局限性GIS开发与应用3这里的传统GIS软件主要是指集成式GIS和模块化GIS。随着GIS应用领域的拓展,传统GIS软件的局限性日益突出,主要表现在应用中的开发负担过重、应用系统集成困难、二次开发语言复杂以及普及困难等几个方面。开发负担过重:为了使GIS软件成为一个完整的系统,开发者除了在软件中实现GIS的各种功能与算法外,还不得不做许多与GIS底层技术本身无关的工作,如用户界面(UserInterfaces)设计。另外有些功能,比如统计图表制作、数学统计分析、数据库管理等功能,在其他的专业软件中已经有相当完美的实现。但目前的绝大部分商业GIS软件中还是不得不“自成体系地”提供这些功能,导致了GIS软件与其他软件之间的大量重复劳动,也给使用者增加了学习和掌握GIS软件的负担。集成困难:建设一个GIS应用系统,实际上是对空间数据、GIS软件和各种应用模型进行集成。资源和设施管理的GIS应用更是要求GIS和管理信息系统(ManagementInformationSystems,MIS)乃至办公自动化(OfficeAutomation,OA)之间的有机结合,对GIS系统集成方案提出了很高的要求。随着技术的发展,更出现了与多媒体(Multimedia)、CAD,与网络和无线数据通信以及与Internet和虚拟现实(VirtualReality,VR)等等的结合要求,但是传统GIS软件封闭的、独成体系的结构使得GIS很难与其它系统实现高效的、有机的集成。在系统集成方面,传统GIS将会面临越来越多的困难。开发语言复杂:绝大多数GIS软件都提供了至少一套自成体系的二次开发语言,以便用户设计符合自己需要的GIS应用系统。在众多的GIS开发语言中,有些采用新的语法结构编制了自己的宏语言,这些语言都定义了自己的语法结构,开发者需要花一定的时间和精力去熟悉其语法结构、流程控制以及大量的功能函数,增加了应用系统的开发难度。难以普及:GIS发展至今,已经有不少比较成熟的软件系统,但这些软件大都功能繁多且系统庞大,熟悉和掌握这些软件不是一般的非专业技术人员容易做到的。另外,对大多数用户而言,往往只需要GIS中的一部分功能,仍然不得不为那些并不需要的功能花费额外的资金和精力。这两个方面的问题都给GIS技术的普及和大众化带来困难。传统GIS软件的局限性迫切需要一种新型的GIS软件技术体系,以满足日益增长的GIS应用需求,并跟上软件技术发展的潮流。1.3组件式GIS的特点所谓组件式GIS,是指基于组件对象平台,以一组具有某种标准接口的、允许跨语言应用的组件提供的GIS。这种组件称为GIS组件,GIS组件之间以及GIS组件与其他组件之间可以通过标准的通信接口实现交互,这种交互甚至可以跨计算机实现。组件式GIS为新一代GIS应用提供了全新的开发工具。SuperMapObjects正是这样一个组件式GIS平台软件,同传统的GIS软件相比,该软件具有多方面的特点:1.3.1开发语言传统GIS一般都提供一套独立的二次开发语言。这既是GIS基础软件开发者的负担,同时也是用户学习上的负担;且使用系统所提供的二次开发语言,开发能力受到限制,难以处理复杂问题。组件式GIS不需要专门的GIS二次开发语言,只需实现GIS的基本功能函数,按照ActiveX控件标准开发接口,有利于减轻GIS软件开发者的负担,而且增强了GIS软件的可扩展性。组件式GIS的用户不必掌握专门的GIS开发语言,只需熟悉基于Windows平台的通用集成开发环境,以及组件式GIS各个控件的属性、方法和事件,就可GIS开发与应用4以完成应用系统的开发和集成。组件式GIS控件可以跨语言使用,目前,可供选择的开发环境很多,如VisualC++、VisualBasic、VB.NET、C#、Delphi等。1.3.2可扩展性在组件式软件技术背后,有一个十分庞大的组件资源库,用户可以从不计其数的组件中挑选需要的组件与组件式GIS一起集成应用系统,极大地扩展了GIS的功能。全球范围内有许多软件公司在编写各种各样的控件,这些第三方(ThirdParties)控件差不多可以解决任何通用软件编程中所遇到的问题,从简单的命令按钮到动态的三维统计图,从多媒体播放到超文本显示,几乎无所不有。这些控件中有商业软件,也有价格很低的共享软件甚至免费软件。组件式GIS是组件大家族中的一员,使用组件式GIS集成应用系统,具有无限的扩展性。加上开发平台本身日新月异,发展迅速,如VisualStudio.NET,因此,使用组件式GIS结合这些开发平台,可以更好地进行系统扩展。1.3.3可视化程序设计可以使用ActiveX控件的开发语言几乎都支持可视化程序设计,因此,使用组件式GIS控件集成应用系统,能可视化地设计系统界面,在窗口上布局按钮、列表框、图片框和GIS控件等,可以立即反馈窗口界面的外观,实现所见即所得(Whatyousee,whatyouget--WYSWYG)的界面设计。相反,使用传统GIS软件进行二次开发则需要反复的猜测和实验。1.3.4伸缩性传统GIS结构的封闭性使得软件变得越来越庞大,不同系统之间交互性差,系统的开发难度大。组件式GIS提供空间数据的采集、存储、管理、分析和模拟等功能;至于其他非GIS功能(如关系数据库管理、统计图表制作等)则可以使用专业厂商提供的专门组件;这有利于降低GIS软件开发成本。另一方面,组件式GIS本身又可以划分为多个控件,GIS开发与应用5分别完成不同功能,用户可以根据实际需要选择所需控件,降低了用户的成本。SuperMapObjects提供了从数据输入、数据
本文标题:GIS开发与应用讲义【打印】
链接地址:https://www.777doc.com/doc-6188756 .html