组件GIS重点

组件GIS重点
组件GIS重点

1、组件的概念:简而言之,组件就是对象,组件是对数据和方法的简单封装。组件可以有自己的属性和方法,属性是组件数据的简单访问者,方法则是组件的一些简单而可见的功能。

2、组件式GIS:组件式GIS的基本思想就是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。

3、组件式GIS的特点:组件式GIS系统把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。其特点:(1)小巧玲珑、价格便宜。由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。组件式GIS提供实现空间数据的采集、存储、管理、分析和模拟等功能,至于其他非GIS功能(如关系数据库管理、统计图表制作等)则可以使用专业厂商提供的专门组件,有利于降低GIS软件开发成本。另一方面,组件式GIS本身又可以划分为多个控件,分别完成不同功能。用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。

(2)直接嵌入MIS开发工具,组件的生茶建立在严格的标准纸上,因此,凡符合标准的组件都可以在目前流行的各种开发工具上使用。VB、VC、Delphi、PowerBuilder、Notes、Foxpro、Access等都可以直接成为GIS或GMIS的优秀开发工具,他们各自的优点都能够得到充分发挥,这与传统GIS专门性开发环境相比是一种质的飞跃。

(3)强大的GIS功能。新的GIS组件都是基于32为系统平台的,采用InProc 直接调用形式,所以无论是管理大数据的功能还是处理速度方面均不比传统GIS 软件逊色。GIS组件完全能提供拼接、裁剪、组合、缓冲区等空间处理能力和丰富的空间查询与分析能力。

(4)开发简捷。由于GIS组件可以直接嵌入到MIS开发工具中,对广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且GIS组件提供的API 形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无需对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快的过渡到GIS或MGIS的开发工作中,从而大大加速GIS的发展。

4、组件式GIS 的功能:

(1)可以实现地理信息系统的各种功能、又可以利用其他可视化开发平台提供的丰富的、功能强大的编程组件和环境,这样提高了应用系统的开发效率,而且经可视化开发软件开发出的应用程序具有更好的用户界面,更强大的数据库功能。

(2)基于组件对象模型,具有标准接口,可跨语言应用。解决了传统GIS在软件开发、应用集成和用户学习等方面面临的困难,有力的降低开发成本,具有无限扩展性、可靠性好、易于移植、便于维护、学习周期较短、容易开发。

Gis开发重点

Gis开发 ArcGIS的体系结构: ArcEngine功能层次由以下5部分组成: 基本服务:由GIS核心ArcObjects构成。几乎所有的GIS应用程序都需要,如几何体和显示。 数据存取:对许多栅格和矢量格式的数据进行存取,包括GeoDatabase。 地图表达:创建和显示带有符号、标注的地图以及专题地图的ArcObjects对象。 开发组件:快速应用开发的高级用户接口控件和综合帮助系统。 运行时选项:与标准功能或其他高级功能一起部署的部件。 标准Engine功能: 地图浏览、地图制作、数据查询、数据分析 所有的开发控件 —MapControl, PageLayout, Toolbar, TOC, ArcReader 对所有矢量和栅格数据源的读权限、对Shapefile和pGDB的写权限 读/写MXD文件 ArcGIS Engine类库 System类库是ArcGIS系统结构中最底层的类库。 System类库包含了构成为ArcGIS的其他类库提供服务的组件。 System类库中定义了大量开发者可以实现的接口,如AoInitializer对象就是在System类库中定义的,所有开发者必须使用这个对象来初始化ArcGIS Engine。 SystemUI 包含用户界面组件接口定义。如:Icommand、Itool和IToolControl接口。 开发者使用这些接口来扩展UI组件。

包含的一些使用工具对象,通过使用这些对象来简化用户界面的开发,如Icommand和Itool 这样的接口就在这里定义。 Geometry 处理存储在要素类中的要素形状。如:Point、MultiPoint、Polyline、Polygon等。 存储构成几何要素的子要素。如:Segement、Path、Ring等。 存储几何要素的空间参考对象。包括:投影坐标和地理坐标系统等。 Display 用于控制地图显示。 包含用于显示GIS数据的对象。 包含符号、颜色等用来控制显示的对象。 包含交互操作时提供给用户显示回馈的对象,如MoveEnvelopeFeedback。 Carto 包含操作2D地图的对象。 支持2D地图的创建和显示。 提供Map和PageLayout等基础对象。 提供MapDocument对象来操作地图文档。 使用ArcGIS Engine可以开发多种应用程序。 独立的非可视化应用程序。如控制台和实用工具应用程序。 独立的可视化应用程序。如Wiondows和基于控件的应用程序。 嵌入式应用程序。如嵌入到现有的应用程序中的组件。 跨平台的上述应用程序。用Java或C++编写。 ArcGIS Engine控件概念 嵌入式组件 一每个ArcGIS控件都是嵌入式组件,可以拖放到可视化设计环境提供的容器窗体或对话框中。一旦放在了容器内,就可以改变ArcGIS控件的大小和位置,以便与其他嵌入式组件一起为应用程序提供用户界面。 属性页 一旦控件被放入了容器中,就可以使用右键点击该控件来弹出属性页面,可以方便的访问控件的属性和方法,减少代码的编写工作量 伙伴控件 一这种类型的ArcGIS控件不能单独使用,需要和另外一个控件一起协同工作。 一ToolbarControl和TOCControl是伙伴控件 一对应的伙伴控件一般为:MapControl、PageLayoutControl、ReaderControl、SceneControl 或GlobeControl控件。 一可以通过属性页面来设置伙伴控件的关联属性。

组件式GIS的特点

一组件概念:简而言之,组件就是对象。组件是对数据和方法的简单封装。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。 组件式GIS:组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统 组件式GIS的特点:组件式GIS系统把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。其特点是:(1) 小巧灵活、价格便宜。在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统GIS开发工具的十分之一甚至更少。这样,用户便能以较好的性能价格比获得或开发GIS应用系统。 (2) 直接嵌入MIS开发工具。组件的生产建立在严格的标准之上,因此,凡符合标准的组件都可在目前流行的各种开发工具上使用。VB、VC、Delphi、PowerBuilder、Notes、Foxpro、Access等都可直接成为GIS或GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统GIS 专门性开发环境相比是一种质的飞跃。 (3) 强大的GIS功能。新的GIS组件都是基于32位系统平台的,采用InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。 (4) 开发简捷。由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS 开发人员能够较快地过渡到GIS或GMIS的开发工作中,从而大大加速GIS的发展。 二Icommand使用:command控件被包含在ESRI.ArcGIS.Controls.dll类库中,位于ESRI.ArcGIS.Controls命名空间下。可以单独实例化来使用,也可以被安置在一个AxToolbarControl工具栏控件中下面对这两种方式分别加以说明: 1实例化一个Command对象并显式地运行它: ICommand command = new ControlsOpenDocCommandClass(); command.OnCreate(m_mapControl.Object); command.OnClick(); ControlsOpenDocCommandClass是一个Command控件. 2工具栏使用:绝大部分Command对象都可以被寄放到这个工具栏之中。方法非常简单:axToolbarControl1.AddItem("esriControls.ControlsMapZoomInTool"); 通过AddItem添加到工具栏中的Command控件使用非常方便。其他的添加控件与以上的类似。

组件GIS重点

1、组件的概念:简而言之,组件就是对象,组件是对数据和方法的简单封装。组件可以有自己的属性和方法,属性是组件数据的简单访问者,方法则是组件的一些简单而可见的功能。 2、组件式GIS:组件式GIS的基本思想就是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。 3、组件式GIS的特点:组件式GIS系统把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。其特点:(1)小巧玲珑、价格便宜。由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。组件式GIS提供实现空间数据的采集、存储、管理、分析和模拟等功能,至于其他非GIS功能(如关系数据库管理、统计图表制作等)则可以使用专业厂商提供的专门组件,有利于降低GIS软件开发成本。另一方面,组件式GIS本身又可以划分为多个控件,分别完成不同功能。用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。 (2)直接嵌入MIS开发工具,组件的生茶建立在严格的标准纸上,因此,凡符合标准的组件都可以在目前流行的各种开发工具上使用。VB、VC、Delphi、PowerBuilder、Notes、Foxpro、Access等都可以直接成为GIS或GMIS的优秀开发工具,他们各自的优点都能够得到充分发挥,这与传统GIS专门性开发环境相比是一种质的飞跃。 (3)强大的GIS功能。新的GIS组件都是基于32为系统平台的,采用InProc 直接调用形式,所以无论是管理大数据的功能还是处理速度方面均不比传统GIS 软件逊色。GIS组件完全能提供拼接、裁剪、组合、缓冲区等空间处理能力和丰富的空间查询与分析能力。 (4)开发简捷。由于GIS组件可以直接嵌入到MIS开发工具中,对广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且GIS组件提供的API 形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无需对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快的过渡到GIS或MGIS的开发工作中,从而大大加速GIS的发展。 4、组件式GIS 的功能: (1)可以实现地理信息系统的各种功能、又可以利用其他可视化开发平台提供的丰富的、功能强大的编程组件和环境,这样提高了应用系统的开发效率,而且经可视化开发软件开发出的应用程序具有更好的用户界面,更强大的数据库功能。 (2)基于组件对象模型,具有标准接口,可跨语言应用。解决了传统GIS在软件开发、应用集成和用户学习等方面面临的困难,有力的降低开发成本,具有无限扩展性、可靠性好、易于移植、便于维护、学习周期较短、容易开发。

ArcGIS Engine组件式开发设计报告

ArcGIS Engine 组件式开发系统设计报告 1. 系统设计目的 对于本门课程进行系统的了解和加深,能将MapControl 、PageLayoutControl 、TOCControl 和ToolBarControl 控件集成起来,建立一个GIS 应用系统,实现一些简单的操作,例如数据的加载,地图的交互操作,空间查询,缓冲区分析,地图的打印输等功能。 2. 系统设计内容 ● 能加载几种常用格式的地图数据。 ● 创建了自己的自定义命令、工具和菜单,实现鹰眼功能,拉框显示,地图漫游,地图标注,数据选择,并能绘制点、线、面。 ● 调整TOCControl 控件中图层的显示顺序,并可以点击右键打开属性表。 ● 可新建点、线、面图层。 ● 实现了属性查图功能,并进行要素的选择,将选择的要素高亮显示出来。 ● 能进行地图制图,可设置格网点、格网线,改变背景颜色,设置图例,比例尺,指北针,并进行地图的输出。 ● 实现了空间分析中的缓冲区分析。 3. 主要系统模块示意图 空间查询 GIS 应用系统 创建图层 地图交互 操 作 地图输入 地图制图 空间分析 地图输出

4.实现功能简介 按照数据处理的流程,可将本系统分为七大模块: (1)地图输入模块:可加载shp、jpg、tif、bmp格式的地图数据并在主视图上同时显示多个图层。此功能包含的类有GeoMapOp。 (2)地图交互操作模块:里面功能的定义都在类GeoMapOp中,然后在Form1窗体中进行调用。 ●实现鹰眼操作:可在主视图和鹰眼地图上同步显示,主视图变化后鹰眼 视图能保持一致,可通过鹰眼地图定位主视图。 ●拉框显示:用户可通过鼠标拉框放大显现地图。 ●地图漫游:用户可以通过鼠标将放大后的地图进行平移操作。 ●地图放大:用户可通过鼠标点击实现地图的放大。 ●全图显示:可用鼠标拖动地图。 ●绘制点、线、面:用户可通过鼠标点击来给图上添加点、线、面。 ●地图标注:用户可通过鼠标点击来添加地图标注。 ●数据选择:用户可将选择的要素高亮显示出来。 (3)创建图层:此功能里的代码都没有在类里面出现,都是在窗体中定义的。里面包含创建点图层,线图层,面图层。 ●创建点图层:用户可通过鼠标点击此项创建一个点图层文件,并保存。 ●创建线图层:用户可通过鼠标点击此项创建一个线图层文件,并保存。 ●创建面图层:用户可通过鼠标点击此项创建一个点面层文件,并保存。 (4)地图制图:此功能的代码在类GeoMap和主窗体Form中都有出现。 ●格网点设置:用户可触动鼠标显示格网点。 ●格网线设置:用户可触动鼠标显示格网线。 ●改变背景颜色:用户可触动鼠标改变制图区域的背景颜色。 ●设置图例:用户可通过点击此项加载该地图对应的图例。 ●设置比例尺:用户可通过点击此项加载比例尺。 ●设置指北针:用户可通过点击此项加载指北针。

GIS开发技术文档

二次开发复习 地理信息系统 以数字世界表示自然世界,具有完备的空间特征,可以存贮和处理不同发展时期的大量地理数据,并具有极强的空间系统综合分析能力,是服务于地理科学研究和应用的新技术,是地理学现代化的重要手段。 地理信息系统的功能:数据的采集与编辑、数据处理、数据的存储与组织、空间查询与分析地理信息系统设计要满足的三个基本要求:加强系统的实用性、降低系统开发和应用的成本、提高系统的生命周期 GIS开发研究的四个阶段:系统分析、系统设计(总体设计,详细设计),系统实施,系统维护和评价 结构化的基本思想:1.系统的观点(结构化的思想核心) 2.调研的观点(地理信息系统设计的基本原则) 3.结构化的观点 4.面向用户的观点 地理信息系统设计的步骤: 地理信息系统的设计: 首先需要进行大量仔细的调查工作和准备工作,其中包括了解和掌握有关部门已做了些什么,有什么文献可供参考等。 在获取大量可供使用的资料并明确系统目标的基础上,从系统观点出发,对地理事物进行分析和综合,然后才是系统的设计,具体步骤如下: 1. 系统分析(需求分析、可行性分析、业务调查、逻辑设计) 2. 系统设计(系统总体设计、模块设计、系统设计) 3. 系统实施(硬件配置、软件编制、数据准备、人员培训、系统组装、试运行和测试) 4. 系统维护(①纠错②完善和适应性维护③硬件设备的维护④数据更新) 系统评价: 就是指从技术和经济两个大的方面,对所设计的地理信息系统进行评定。 考察的主要内容有: 一、系统效率二、系统可靠性三、可扩展性四、可移植性五、系统效益 GIS开发模式:独立开发模式宿主型开发模式GIS组件开发模式 独立开发模式: 不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++、Delphi、等,在一定的操作系统平台上编程实现。 开发周期长,软件功能相对简单,对开发者要求高,用于购买软件的费用相对节省 宿主型开发模式: 基于GIS平台软件,进行应用系统开发 多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,用户以原GIS软件为开发平台,利用这些脚本语言,开发出自己的针对不同应用领域的应用程序。 如ArcView中的A venue语言,MapInfo Professional的MapBasic语言 开发较为容易; 二次开发的脚本语言,功能较弱;所开发的系统不能脱离GIS平台;是解

GIS二次开发方法与实现

中图分类号:TP311.52文献标识码:A文章编号:1009-2552(2008)08-0065-03 GIS二次开发方法与实现 杨宏鹏,王阿川,王妍玮 (东北林业大学信息与计算机工程学院,哈尔滨150040) 摘要:介绍了地理信息系统二次开发的三种方法:独立二次开发、单纯二次开发和集成二次开发。随后比较各自的优缺点。采用ESRI公司提供的ArcObjects组件库和M apControl控件以及Scene View er C ontrol控件。用VisualC++6.0在ArcGIS8.3环境下进行了G IS的二次开发。 关键词:地理信息系统;ArcO bjects;二次开发 Method and implementation of GIS secondary development YA NG Hong2peng,WA NG A2chuan,W AN G Yan2w ei (School of Information and Computer Engineer ing,Nor theast For estr y University,Harbin150040,China) Abstract:The paper introduces three methods of GIS sec ondary development,they are independent secondary development,simple secondary development and integrated secondary development.Then it c ompares the advantages and disadvantages of each https://www.360docs.net/doc/626607415.html,ing A rcO bjects component library and M apControl controls and Scene View er Control controls provided by ESRI company,this paper makes secondary development of GIS under ArcGIS8.3environment based on VisualC++6.0. Key w or ds:GI S;ArcObjects;secondary development 20世纪中叶以后,伴随着计算机科学、现代数学、计算机图形学和虚拟现实技术的发展,地理信息系统(GIS)应运而生,该技术将数字地图和地理分析功能以及数据库操作集合在一起,可对地理信息进行综合分析和处理。现有的地理信息系统软件主要集中于描述二维空间信息,将实际的三维事物采用二维的方式表示,具有很大的局限性,大量的多维空间信息无法得到利用。而且在许多实际应用中,诸如:环境仿真、设施管理、森林防火的模型分析与辅助决策,用户需要三维可交互GIS的支持,以便三维可视化、动态交互地处理、分析、显示他们的多种地理相关数据。现有的GIS系统已经不能满足用户在个别领域的专项研究,因此对地理信息系统进行二次开发,尤其是进行三维可视化的开发与设计就具有非常重要的意义。 目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术引发的[1]。组件化技术从根本上改变了传统的软件开发思想,实现了软件的复用和健壮更新。 1GIS的开发方法 应用型GIS的二次开发通常有三种方法[2]:独立二次开发、单纯二次开发和集成二次开发。 1.1独立二次开发 独立二次开发是指不依赖任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++,D elphi,C++Builder, VJ++等,在一定的操作系统平台上编辑实现。 这种方式的好处在于无需依赖任何商业GIS工具软件,减少了开发成本,同时程序员可以对程序的各个方面进行总体控制。因此,系统各个组成部分之间的联系最为紧密,综合程度和操作效率最高。但由于地理信息系统的复杂性,开发的工作量是十分庞大的,开发周期长。对于大多数开发者来说,能力、时间、财力方面的限制使其开发处理的产品很难在功能上与商业化GIS工具软件相比。 1.2单纯二次开发 单纯二次开发指完全借助于地理信息系统工具 收稿日期:2007-12-18 作者简介:杨宏鹏(1982-),男,东北林业大学信息与计算机工程学院硕士研究生,主要研究方向为人工智能与智能控制。 ) 65 )

相关主题
相关文档
最新文档