文档库 最新最全的文档下载
当前位置:文档库 › 组件式GIS的特点

组件式GIS的特点

组件式GIS的特点
组件式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控件使用非常方便。其他的添加控件与以上的类似。

三 AE常用控件:MenuStrip (菜单),MapControl(小地图), PageLayoutControl (大地图), TOCControl(图层库), and ToolbarControl (工具栏),LicenseControl (授权组件)

四 Application还是应用程序(application program)的缩写。一个应用程序通常是指能够执行某种功能的软件程序。

Dataview: DataView类用来表示定制的DataTable的视图。DataTable和DataView的关系是遵循著名的设计模式--文档/视图模式,其中DataTable是文档,而Dataview 是视图。

File:提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream 对象。

File与Dataview的关系:前者针对的是文件的操作,后者文档的视图。前者打开的是文件,后者是文档类型的文件的视图。

五Feature class 与 Raster :

private void adddatabutton_Click(object sender, EventArgs e)

{

axTOCControl1.SetBuddyControl(null);

IGxDialog pGxDialog = new GxDialogClass();

pGxDialog.Title = "Select FeatureClass to Add to Map";

pGxDialog.AllowMultiSelect = true;

IGxObjectFilter pGxFilter = new GxFilterDatasetsClass();

pGxDialog.ObjectFilter = pGxFilter;

IEnumGxObject pEnumGxObject;

bool domodalopen=pGxDialog.DoModalOpen(0, out pEnumGxObject);

if (!domodalopen)

{

MessageBox.Show("You must select a featureclass!");

pEnumGxObject.Reset();

}

IGxDataset pGxDataset = (IGxDataset)pEnumGxObject.Next();

IRasterLayer pRasterLayer;

IFeatureLayer pFeatureLayer;

IDataset pdataset;

for (int i=0; pGxDataset != null; pGxDataset = (IGxDataset)pEnumGxObject.Next(),i++) {

//加载feature class

if (pGxDataset.Type == esriDatasetType.esriDTFeatureClass)

{

pFeatureLayer = new FeatureLayerClass();

pFeatureLayer.FeatureClass = (IFeatureClass)pGxDataset.Dataset;

https://www.wendangku.net/doc/4518705664.html, = pFeatureLayer.FeatureClass.AliasName;

axMapControl1.ActiveView.FocusMap.AddLayer(pFeatureLayer as ILayer);

if (pFeatureLayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)

{

//axMapControl1.ActiveView.FocusMap.AddLayer(pFeatureLayer as ILayer);

axMapControl1.ActiveView.FocusMap.MoveLayer(axMapControl1.ActiveView.FocusMap.get_Layer (0), https://www.wendangku.net/doc/4518705664.html,yerCount);

}

}

else if (pGxDataset.Type == esriDatasetType.esriDTRasterDataset)

{

pRasterLayer = new RasterLayerClass();

pRasterLayer.CreateFromDataset(pGxDataset.Dataset as IRasterDataset);

https://www.wendangku.net/doc/4518705664.html, = https://www.wendangku.net/doc/4518705664.html,;

axMapControl1.ActiveView.FocusMap.AddLayer(pRasterLayer as ILayer);

}

}

axTOCControl1.SetBuddyControl(axMapControl1);

axMapControl1.ActiveView.Refresh();

//MessageBox.Show("You have " + https://www.wendangku.net/doc/4518705664.html,yerCount.ToString() + " layers on the map!");

}

(黑体字为加载feature class 与 raster)

六组件技术实现GIS的定制与开发:组件式GIS,即将复杂的GIS功能按照对象、功能、应用等层次分解为可以互操作和自我管理的组件,并由一种特定的平台或语言开发,能够在其他的平台或语言中重复使用。

组件式GIS主要有两种形式,一种是由可以实现制图与一般GIS功能的ActiveX控件集构成的组件式GIS。这些控件既可以通过属性、事件、方法等接口与应用程序进行交互,也可以在可视化开发环境中集成构成应用系统。另一种形式的组件式GIS是基于Microsoft COM技术构建一系列COM组件集,用户可以利用这些组件开发各种GIS功能,并在此基础上构建GIS应用系统。

七 mapcontrol使用及属性:

加载小地图,可以实现如下功能在窗体上选择 MapControl 时可通过“属性”窗口执行对 MapControl 的修改。在设计阶段右键单击MapControl,显示具有以下选项的上下文菜单:加载地图、清除地图、图层控制和创建主题图。为特定应用程序进一步定制在

运行时显示的地图。可以修改的属性包括:缩放级别、坐标系、地图中心和运行时期间三个鼠标按键的设置。可将鼠标按键设置为 Zoom、Pan、Draw geometries、Select 或其它任何几个地图工具。

改变尺寸:axMapControl1.SuppressResizeDrawing(true, 0);

axMapControl1.SuppressResizeDrawing(True, 0)

axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewForegrou nd, null, null);(刷新)

绘制完后的操作:

private void axMapControl1_OnAfterDraw(object sender,

IMapControlEvents2_OnAfterDrawEvent e)

{

if (m_Envelope == null)

return ;

esriViewDrawPhase viewDrawPhase = (esriViewDrawPhase)e.viewDrawPhase;

if (viewDrawPhase == esriViewDrawPhase.esriViewForeground)

{

IGeometry geometry = m_Envelope;

axMapControl1.DrawShape(geometry, ref m_FillSymbol);

}

}

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控件。 一可以通过属性页面来设置伙伴控件的关联属性。

地理信息系统开发概述

地理信息系统开发概述:地理信息系统具有很强的功能,具有很多方面的应用,它的开发是一个大型的系统工程,它的实践也是不断地应用实践——提高——再实践——再提高的螺旋式迂迥上升过程。一般讲来,它的开发过程分4个大的阶段,各阶段中间又有各种小的过程 总体上看,地理信息系统目前尚没有从自己学科总结和完善出来的开发方法,而基本上引入和借鉴了管理信息系统和软件工程的生命周期法、原型法、自底向上法及面向对象法,现分别予以介绍,并且也介绍近年来对开发方法新的研究“演示和讨论方法”。不管采用哪种方法开发抖应该按照软件工程学的要求来进行,因此在下面的方法介绍中,将不再重复软件工程的思想,而是把重点放在每种方法的具体特点上。 1、结构化生命周期法:这儿所谓“结构化”就是有组织、有计划和有规律的一种安排。而结构化系统分析方法就是利用系统工程分析和有关概念,采用自上而下划分模块,逐步求精的基本方法。这一方法最大缺点是用户对即将建立的新系统没有直观的预见性。

2、由底而上法:它是从现行的业务现状出发,先实现一个具体的初级功能,然后由低到高,增加计划,控制、决策等功能,实现总目标。这样各项目独立进行,很少考虑相互配合,出现“只见树木,不见森林”的现象。此方法缺乏系统性,缺点很大,只能进行个别的独立应用,应避免用此方法进行地理信息系统的开发。 3、快速原型方法:所谓“原型”是一个系统的工作模型,此模型强调系统的某些特定方面。此方法主要特点是:开发人只在初步了解用户需求基础上构造一个应用模型系统,即原型。用户和开发人员在此基础上共同反复探讨和完善原型,直到用户满意。此方法自始至终,强调用户直接参加,不断进行评价原型,提出要求。因此可以尽早获得更完整、更确切的需求和设计。但是这一方法必须要有“原型”。 4、面向对象的软件开发方法:这一方法是随着“面向对象的程序设计(OOP)”而发展起来的。面向对象建模技术采用对象模型、动态模型和功能模型来描述一个系统。 5、“演示和讨论”方法:DADM是英文Demonstration And Discussion Method的缩写,中文释义“演示讨论法”。它要求在软件开发过程的各个阶段,在所有相关人员之间进行有效的沟通与交流。这种交流是建立在直观演示的基础上的,演示内容主要包括直观的图表工具和输入、输出界面等。 小结 上述多种开发方法,实际上都是在开发各种系统和软件使用过的,都有其相应优点和缺点。开发是一周期较长,内容广泛,情况复杂的大型系统过程。因此,根据实际情况,扬长避短,灵活使用最适合的方法是一个跟本原则。 显然,上述各种方法都不是一成不变的,其中“演示和讨论”方法,实际上还不能算一种独立的开发方法,只是一种沟通和交流的方式,各方法都能用。因此,目前建议采用方法是: 1.树立以系统结构化开发的总观念 2.尽量采用最接近用户要求的现有自主产权GIS系统作为原型系统,可视性好、功能强的各种类型的电子地图集系统也可作为一个普通的可选的原型;或者采用选择其它的原型,采用组件技术进行扩充; 3.当没有原型系统时,采用结构化生命周期结构制原型;

组件式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控件使用非常方便。其他的添加控件与以上的类似。

3s地理信息系统

一、3s的概念: rs(遥感):从航空航天器上利用一定的技术装备对地表物体进行远距离的感知。 Gps(全球定位系统):利用卫星在全球范围内导航定位的系统。 Gis(地理信息系统):用于存储、管理、和显示空间要素位置和属性的计算机系统。 二、大地水准面的定义: 假想水面静止,延伸则被淹没的面,就是大地水准面。 椭球体: 与地球形状比较接近的,是一个以椭圆短轴旋转而成的椭球,也称为椭球体。 矢量数据结构: 通过记录空间对象的坐标及空间关系表达空间对象的几何位置。 栅格数据结构: 是指栅格数据的存储方法或格式。 元数据: 提供空间数据信息的数据。 三、高斯投影定义:.高斯投影的概念 高斯是德国杰出的数学家、测量学家。他提出的横椭圆柱投影是一种正形投影。它是将一个横椭圆柱套在地球椭球体上,如下图所示: 椭球体中心O在椭圆柱中心轴上,椭球体南北极与椭圆柱相切,并使某一子午线与椭圆柱相切。此子午线称中央子午线。然后将椭球体面上的点、线按正形投影条件投影到椭圆柱上,再沿椭圆柱N、S点母线割开,并展成平面,即成为高斯投影平面。在此平面上: ①中央子午线是直线,其长度不变形,离开中央子午线的其他子午线是弧形,凹向中央子午线。离开中央子午线越远,变形越大。 ②投影后赤道是一条直线,赤道与中央子午线保持正交。 ③离开赤道的纬线是弧线,凸向赤道。 (2)分带投影n 6°带投影是从英国格林尼治子午线开始,自西向东,每隔6°投影一次。这样将椭球分成

60个带,编号为1~60带,如下图所示: 各带中央子午线经度(L)可用下式计算: 式中n为6°带的带号。 已知某点大地经度L,可按下式计算该点所属的带号: 有余数时,为n的整数商+1。 3°带是在6°带基础上划分的,其中央子午线在奇数带时与6°带中央子午线重合,每隔3°为一带,共120带,各带中央子午线经度(L)为: 式中n′为3°带的带号。 我国幅员辽阔,含有11个6°带,即从13~23带(中央子午线从75°~135°),21个3°带,从25~45带。北京位于6°带的第20带,中央子午线经度为117°。 高斯克吕格平面坐标系的解算。 根据高斯投影的特点,以赤道和中央子午线的交点为坐标原点。,中央子午线方向为x轴,北方向为正。赤道投影线为y轴,东方向为正。象限按顺时针Ⅰ、Ⅱ、Ⅲ、Ⅳ排列,如下图所示:

地理信息系统考试题

一、名词解释(共40分,每题5分) 1、地理信息系统 2、元数据(metadata) 3、组件式GIS 4、数字地球 5、矢量结构 6、拓扑关系 7、栅格数据 8、数字高程模型(DEM) 9、不规则三角网(TIN) 10、元数据(metadata) 11、节点(node)/顶点(vertex) 12、GPS 13、四叉数编码 14、信息系统 15、OpenGIS 16、多边形覆盖分析(overlay) 17、高斯——克吕格投影 18、国家信息基础设施 19、空间对象(实体) 20、层次数据库模型 21、GIS互操作 22、四叉树编码 23、空间索引 24、空间数据质量 25. 地址匹配 26.虚拟现实 二、简答题(共30,每题10分) 1、画图说明弧段及多边形的拓扑关系。 2、分别说明栅格数据和矢量数据的特点,并对二者的数据格式进行比较。 3、简述地理信息系统的主要应用领域(至少在三个方面的应用)。 4、简述利用GIS进行空间数据管理的主要模式。 5、地理信息系统的意义、特点与发展趋势

6、地理信息系统的信息源与输入方法 17、简述地图投影的基本原理 18、简述栅格数据的数据组织方法 19、简述地理信息系统的主要软硬件组成 20、简述地理信息系统工程的三维结构体系 21、简述栅格数据结构的三种数据组织方法 22、简述地理信息系统空间数据的误差来源 23、地理信息系统的组成 24、空间数据的内插方法 25、地理信息的基本特征。 26、数字地形模型的构建与应用。 27、地理信息系统数据库管理系统的特点。 28、地理信息系统与计算机制图(CAD)关系剖析。 29、结合你的专业,举例说明地理信息系统的应用特点。 30、GIS产生、发展过程及前景。 三、论述题(共30,每题10分) 1、论述当前GIS发展趋势。 2、叙述一种有代表性的GIS商业化软件的基本情况和主要功能。 3、试述WEBGIS的实现技术。 4、试述GIS的主要空间分析方法。 6、:简述GIS在3S中的应用 7、.数据库管理系统有哪几种模型?比较它们的优缺点,并指出是否适合GIS空间数据的管理。 8、举例说明空间叠加分析和缓冲区分析的异同点。

组件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平台;是解

地理信息系统考试题库

地理信息系统考试题库 一、名词解释(共40分,每题5分) 1、地理信息系统 2、元数据(metadata) 3、组件式GIS 4、数字地球 5、矢量结构 6、拓扑关系 7、栅格数据 8、数字高程模型(DEM) 9、不规则三角网(TIN) 10、元数据(metadata) 11、节点(node)/顶点(vertex) 12、GPS 13、四叉数编码 14、信息系统 15、OpenGIS 16、多边形覆盖分析(overlay) 17、高斯——克吕格投影 18、国家信息基础设施 19、空间对象(实体) 20、层次数据库模型 21、GIS互操作 22、四叉树编码 23、空间索引 24、空间数据质量 25. 地址匹配 26.虚拟现实 二、简答题(共30,每题10分) 1、画图说明弧段及多边形的拓扑关系。 2、分别说明栅格数据和矢量数据的特点,并对二者的数据格式进行比较。 3、简述地理信息系统的主要应用领域(至少在三个方面的应用)。 4、简述利用GIS进行空间数据管理的主要模式。

5、地理信息系统的意义、特点与发展趋势 6、地理信息系统的信息源与输入方法 17、简述地图投影的基本原理 18、简述栅格数据的数据组织方法 19、简述地理信息系统的主要软硬件组成 20、简述地理信息系统工程的三维结构体系 21、简述栅格数据结构的三种数据组织方法 22、简述地理信息系统空间数据的误差来源 23、地理信息系统的组成 24、空间数据的内插方法 25、地理信息的基本特征。 26、数字地形模型的构建与应用。 27、地理信息系统数据库管理系统的特点。 28、地理信息系统与计算机制图(CAD)关系剖析。 29、结合你的专业,举例说明地理信息系统的应用特点。 30、GIS产生、发展过程及前景。 三、论述题(共30,每题10分) 1、论述当前GIS发展趋势。 2、叙述一种有代表性的GIS商业化软件的基本情况和主要功能。 3、试述WEBGIS的实现技术。 4、试述GIS的主要空间分析方法。 6、:简述GIS在3S中的应用 7、.数据库管理系统有哪几种模型?比较它们的优缺点,并指出是否适合GIS空间数据的管理。 8、举例说明空间叠加分析和缓冲区分析的异同点。

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.wendangku.net/doc/4518705664.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 )

相关文档