资源描述
二次开发复习地理信息系统以数字世界表示自然世界,具有完备的空间特征,可以存贮和处理不同发展时期的大量地理数据,并具有极强的空间系统综合分析能力,是服务于地理科学研究和应用的新技术,是地理学现代化的重要手段。地理信息系统的功能:数据的采集与编辑、数据处理、数据的存储与组织、空间查询与分析地理信息系统设计要满足的三个基本要求:加强系统的实用性、降低系统开发和应用的成本、提高系统的生命周期GIS开发研究的四个阶段:系统分析、系统设计(总体设计,详细设计),系统实施,系统维护和评价结构化的基本思想:1.系统的观点(结构化的思想核心)2.调研的观点(地理信息系统设计的基本原则)3结构化的观点4面向用户的观点地理信息系统设计的步骤:地理信息系统的设计:首先需要进行大量仔细的调查工作和准备工作,其中包括了解和掌握有关部门已做了些什么,有什么文献可供参考等。在获取大量可供使用的资料并明确系统目标的基础上,从系统观点出发,对地理事物进行分析和综合,然后才是系统的设计,具体步骤如下:系统分析(需求分析、可行性分析、业务调查、逻辑设计)系统设计(系统总体设计、模块设计、系统设计)系统实施(硬件配置、软件编制、数据准备、人员培训、系统组装、试运行和测试)系统维护(纠错完善和适应性维护硬件设备的维护数据更新)系统评价:就是指从技术和经济两个大的方面,对所设计的地理信息系统进行评定。考察的主要内容有:一、系统效率二、系统可靠性三、可扩展性四、可移植性五、系统效益GIS开发模式:独立开发模式宿主型开发模式GIS组件开发模式独立开发模式:不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如VisualC+、Delphi、等,在一定的操作系统平台上编程实现。开发周期长,软件功能相对简单,对开发者要求高,用于购买软件的费用相对节省宿主型开发模式:基于GIS平台软件,进行应用系统开发多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,用户以原GIS软件为开发平台,利用这些脚本语言,开发出自己的针对不同应用领域的应用程序。如ArcView中的Avenue语言,MapInfoProfessional的MapBasic语言开发较为容易;二次开发的脚本语言,功能较弱;所开发的系统不能脱离GIS平台;是解释执行的,运行效率低;用户界面受平台软件的限制GIS组件开发模式:建立在组件技术基础上的GIS功能组件,实现了地理信息系统的各种功能,这些组件都具备GIS的基本功能。开发人员可以基于通用软件开发工具,尤其是可视化开发工具,如:Delphi、VisualC+、VisualBasic、PowerBuilder等RAD工具为开发平台,进行二次开发,实现GIS功能。大多数GIS软件产商都提供商业化的GIS组件。如ESRI公司的MapObjects、MapInfo公司的MapX等面向对象程序设计(OOP)面向对象程序设计(OOP)技术汲取了结构化程序设计中好的思想,并将这些思想与一些新的、强大的理念相结合,从而给你的程序设计工作提供了一种全新的方法对象是运行期的基本实体,对象都包含数据以及操作这些数据的代码一函数或方法。类是具有相同类型的对象的抽象。封装是把数据和函数包装在一个单独的单元(称为类)的行为。继承是可以让某个类型的对象获得另一个类型的对象的属性的方法。多态的意思是事物具有不同形式的能力。一、组件技术:COM是组件式对象模型(ComponentObjectModel)的英文缩写,是组件之间相互接口的规范,是OLE(ObjectLinking&Embedding)和ActiveX共同的基础,其作用是使各种软件构件和应用软件能够用一种统一的标准方式进行交互。DCOM基于分布式环境下的COM被称作DCOM(DistributeCOM,分布式组件对象模型)。DCOM是ActiveX的基础,它实现了COM对象与远程计算机上的另一个对象之间直接进行交互。ActiveX是Microsoft提出的一组基于COM(ComponentObjectModel,组件对象模型)规范使得软件组件在网络环境中进行交互的技术集。它与具体的编程语言无关。一个ActiveX控件由它的一些成员组成:属性,方法以及事件PME模型:Property属性Method方法Event事件P:属性是用来描述和反映对象特征的参数,用来保存对象的数据M:方法是控件内部可调用的用以完成特定操作的过程或函数E:事件是VB预先定义的,对象能识别的动作。二、组件式GIS:基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。组件式GIS系统的特点:小巧灵活、价格便宜开发简捷大众化AO、AE、MO比较:AO-ArcObjects,有上千个对象和接口,可以在其基础上开发出业界最强大的GIS应用程序。完全支持空间数据引擎。但由于运行时需要安装ArcGIS核心产品和开发时用到的扩展模块产品,软件发布成本不菲,其下一代产品ArcGISEngine则有望解决这个问题。AE-ArcGisEngine是一个创建定制的GIS桌面应用程序的开发产品。ArcGISEngine包括构建ArcGIS产品ArcView,ArcEditor,ArcInfo,和ArcGISServer.的所有核心组件。使用ArcGISEngine可以创建独立界面版本(stand-alone)的应用程序,或者对现有的应用程序进行扩展。MO-MapObjects,只有十多个对象,用于简单的GIS应用程序开发,对空间数据引擎的支持度较低,但软件发布成本很低。AO是主流,AO的分析功能比MO强,AO支持的格式更多,开发时的模式和可扩展性等等强些,也复杂多了。MO使用简单,也很不错。其实,如果非特别专业的要求,MO没问题的。MO也可以连接geodatabase的,建议你采用AO,因为MO现在基本上已经没有新版本了。AO其实是一组COM接口,适用于任何语言,如VC+,VB,DELPHI等开发语言,而MO是一个产品。AO不能独立存在,只要安装成功ARCGIS就可以使用AO开发,听说今后arcgis的版本中AO可以单独发行了。AO是AE、ArcGISDesktop、ArcGISServer三者的集合,按功能AO大于AE大于MO,AO面向桌面扩展开发,需要有desktop支持,不能开发出独立发布的程序AE不需要desktop支撑,包括了AO中的大部分库,可以开发出独立发布的应用程序,MO功能简单,主要面向小型的系统开发如地图浏览,查询系统等等,或结合MIS系统运行。AE编写的代码可以在同版本的AO环境下运行,AO环境下编写的一部分对象在AE下可能无法使用。Mapx:MapX是MapInfo公司的地图化的ActiveX,在使用面向对象语言(如:VB,VC+,Delphi,PB)开发的应用中嵌入MapX可以使您的应用具有强大的地图功能.主要对象的说明Geoset是地图图层及图层属性值的集合。GeoSet决定地图对象中放入的表的库名以及他们的设置值。Layers,Layer用户的数据反映在地图上通常根据点、线、面的层次结构进行归类。每一个独立的图层都可以作为一个独立的地图。MapX中调用的是一个由多个独立地图图层组成的地图集合。Feature,Features,Selection图层对象是由图形对象(Feature)集合、属性以及样式组成的。图形对象集合(FeaturesObject)是由多个图形对象(FeatureObject)组成的Annotations利用注释在地图上显示相应的文本或者符号。类似与Professional中的装饰层Datasets可以将外部数据与你的地图进行绑定。Themes专题化地图是根据特定专题普染地图的过程。
展开阅读全文