组件式GIS二次开发
ArcEngine二次开发入门介绍

2021/5/27
4
AO的功能
通过AO你可完成以下GIS功能:
❖ 空间数据的显示、查询检索、编辑和分析;
❖ 创建各种专题图和统计报表;
❖ 高级的制图和输出功能;
❖ 空间数据管理和维护;
❖ ……
2021/5/27
5
AO编程基础----COM
❖
❖
❖
❖
COM是Component Object Model的缩写
❖
属性
哑铃形状的图标
Property Get
(read)
❖
Property Set
(write)
方法
2021/5/27
18
设置属性
❖
属性传值: 大部分 ArcObjects的属性
属性保存了一个对象的值或者一个拷贝
不需要使用Set关键字
= "Port Moresby" 'No Set keyword
❖
2021/5/27
27
ArcGIS Engine 组成
两个产品:
❖ Engine开发包是创建自定义的GIS和制图应
用的工具包
❖ Engine运行时是为了运行自定义的Engine应
用的可分发的ArcObjects.
2021/5/27
28
ArcGIS Engine 开发包
❖
❖
组件,APIs,工具的集合,开发人员可以用来创建高级的
平台上。
COM通常的发布形式是:以win32动态链接库(DLL)或可执
行文件(EXE)的形式发布。
2021/5/27
6
COM的目标和特性
❖
利用开源组件的GIS数据到CorelDRAW数据转换实现

利用开源组件的GIS数据到CorelDRAW数据转换实现高寿峰;杨欣
【期刊名称】《科学与信息化》
【年(卷),期】2024()9
【摘要】CorelDRAW作为一款平面设计软件,具有较好的制图表达效果和色彩展现能力,且具有易操作等优点,在地图编制中得到了广泛应用。
在地图编制中基础数据较多来源于GIS数据成果,由于软件的兼容性等问题,导致数据转换的效率较低,阻碍了地图编制的效率,为此,基于VSTA对CorelDRAW进行二次开发,并借助开源GIS组件,可完成对GIS数据的自动缩放、平移和批量导入,并完成导入后生成CorelDRAW软件自身的符号表达系统,从而节省了作业时间,提高了生产效率。
【总页数】3页(P37-39)
【作者】高寿峰;杨欣
【作者单位】安徽省第四测绘院;合肥工业大学
【正文语种】中文
【中图分类】TP3
【相关文献】
1.MapGIS数据向CorelDraw数据转换方法研究
2.ArcGis数据与Coreldraw数据转换与损失弥补方法的探讨
3.GIS数据向交换格式数据转换的方法与实现
4.MapGIS数据与CorelDRAW数据转换技巧
5.地质制图中MapGIS数据与CorelDRAW数据转换方法探讨
因版权原因,仅展示原文概要,查看原文内容请购买。
GIS设计自考复习题

GIS设计复习题一、名词解释1.GIS设计:GIS设计就是在GIS开发的整体过程中,遵循一般软件工程的原理和方法,结合GIS开发的特点、特殊规律和要求,对GIS软件从系统定义、系统总体设计、系统详细设计、空间数据库和地理模型库设计、GIS实施、GIS软件测试与评价、直到GIS维护的各个阶段进行工程化规范的方法体系。
2.结构化生命周期法:结构化生命周期法的基本思想是将系统开发看作工程项目,有计划、有步骤地进行工作,它认为虽然各种业务信息系统处理的具体内容不同,但所有系统开发过程都可以划分为六个主要阶段:系统开发准备、调查研究及可行性研究、系统分析、系统设计、系统实施、维护和评价。
3.维护副作用:因修改软件而造成的错误或其他不希望出现的情况称为维护副作用,有编码副作用、数据副作用和文档副作用三种。
4.数据传输加密:为确保数据的安全可靠,必须保障在传输过程中数据内容不被透露、避免信息量被分析(破析)、检测出数据流的修改等,称为数据传输加密。
5.数据质量P156.GIS数据流模型P467.数据字典数据字典是关于数据信息的集合。
它是数据流图中所有要素严格定义的场所,这些要素包括数据流、数据流的组成、文件、加工小说明及其它应进入字典的一切数据,其中,每个要素对应数据字典中的一个条目。
8.用例的粒度P539.完全因子分解系统:P7610.互操作接口设计P7811.地理模型P14312.模块:一个软件系统通常由很多模块组成,函数和子程序都可称为模块,它是程序语句按逻辑关系建立起来的组合体。
二、单选题1、结构化程序设计概念最早由E.W.Dijkstra于()年提出A. 1963年B. 1965年C. 1962年D. 1967年2、在程序流程图常用符号中菱形表示()A. 程序起止B. 控制流C. 处理步骤D.逻辑判断3、E-R图中椭圆表示()A. 实体B. 属性C. 关系D. 联系4、GIS设计以()为驱动A. 空间数据B. 业务数据C. 属性数据D. 功能数据5、GIS系统工程学中的三维结构包含时间维、知识维和()A. 方法维B. 理论维C. 逻辑维D. 工程学6、地理信息系统科学体系分为三个层次:理论地理信息科学、技术地理信息科学和()A. 应用地理信息科学B. 空间地理信息科学C. 虚拟地理信息科学D. 基础地理信息科学7、在用例图中,参与者之间主要是()关系A. 继承B. 包含C. 扩展D. 泛化8、OMT采用对象模型、动态模型和()等来描述一个系统A. 静态模型B. 功能模型C. 混合模型D. 结构模型9、对象模型用()来表示A. 对象图B. 类图C. 序列图D. 活动图10、动态模型用()图来表示A. 动态图B. 活动图C. 数据流图D. 状态图11、原型从本质上可分为两种类型:丢弃型原型和()A. 进化型原型B. 进取型原型C. 渐进型原型D. 试验型原型12、在用例图中,用例和参与者之间的关系是()A. 包含关系B. 泛化关系C. 关联关系D. 扩展关系13、在一定条件下,把新的行为加入到已有的用例中,获得新用例称为()用例A. 扩展B. 包含C. 关联D. 泛化14、面向对象的设计方法采用()来组织和构造系统总体设计过程A. 类图B. 结构图C. 用例图D. 层次图15、用于建立系统与其参与者之间交互的模型称为()C. 边界类D. 控制类16、在GIS用户界面的开发中,一般采用()方法A. 原型化B. 瀑布型C. 结构化D. 面向对象型17、在序列图中,表示对象的过程处于激活状态时,生命线是()A. 虚线B. 带箭头的虚线C. 双道线D. 垂直的虚线18、基于空间关系的检索,称为()A. 开窗检索B. 分层检索C. 条件检索D. 空间检索19、用一系列状态所对应的地图来反映地理现象的时空演化过程,称为()A. 连续快照模型B. 时空合成模型C. 底图修改模型D. 混合模型20、GIS软件评价不包含下列哪项内容?A. 技术评价B. 功能评价C. 社会评价D. 经济评价21、在系统运行过程中,针对软件无法满足新的软硬件环境进行的维护叫做()A. 适应性维护B. 改正型维护C. 预防型维护D. 完善性维护1-5 BDBAC 6-10ADBAD11-15ACAAC 16-21ACDABA22、软件生命周期中持续时间最长的一个阶段是()A. 软件总体设计阶段B. 软件维护阶段C. 软件详细设计阶段D. 软件实施阶段23、在系统开发时隐藏的错误,可能会在系统运行的某个特定的环境下出现,针对这种错误的维护叫做()维护。
gis二次开发地图的组成

IGraphicsContainer接口
Imap接口
AddLayers方法,不同于AddLayer方法一次添加一个 对象到Map中, AddLayers可以一次加入一个或多个 图层,当然多个图层对象要放到EnumLayer对象中才 能引入, EnumLayer对象是一个图层枚举对象,可以 保存多个图层的指针。
ClearLayers方法,不同于DeleteLayer方法一次删除 一个图层, ClearLayers可以一次清除Map对象中的 所有图层;
元素,是另一种可以显示在Map上的对象,它分为两部分一类是图 形元素,一类是框架元素,图形元素可以显示出来,而框架元素充
当了“容器”的角色。在ArcMap中可以使用“Draw”工具在Map上 直接绘制一个矩形,圆形,文本等对象。
在布局视图上也可以给地图添加指北针,图例,比例尺等图形对象, 这些都是图形元素,用于地图制图输出。
this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriVie
IGraphicsContainer接口
更新元素:用户改变了是Map中一个元素的形状或者符号,用户一定希望它能够及时 更新后在地图上显示出来,用到UpdateElement
可以利用IMxDocument接口的maps属性获得可以操作文档中的 所有地图对象集合。利用FocusMap属性获得焦点地图。
在ArcMap中,可以显示在Map中的数据有两大类,也就是地理 数据和图形元素,空间数据是GIS分析制图的数据源,保存在地理 数据库库或者Shp文件中,图形元素也是一种可以在Map上显示的对 象。他们两个的共同特征是拥有一个geomtry属性。
互联网地理信息服务系统简介

和应用的技术系统。
GIS所涉及的学科:
自然地理学、人文地理学、计量地理学、 经济地理学、区域分析与规划、地图学、计算 机图形学、遥感图像处理、遥感原理(RS)、
GPS、管理信息系统、数据结构、程序设计,
线性代数,统计学、拓扑学、计算方法、测量 学、环境学、数据库、网络技术等等
GIS处理、管理的对象是多种地理空间实体数据及其关 系,包括空间定位数据、图形数据、遥感图像数据、属性数 据等,用于分析和处理在一定地理区域内分布的各种现象和
国家测绘地理信息局的天地图网站
“天地图”是我国区域内基础地理信息数据资源最全的互联网地图
服务网站,是我国“数字中国”建设的重要组成部分,由国家测绘局监 制、国家基础地理信息中心管理、天地图有限公司运营,存放在天津滨
海新区国家超级计算中心的天河一号巨型计算机上。
“天地图”集成了海量基础地理信息资源,总数据量约30TB,处理 后的电子地图总瓦片数近30亿。主要包括:全球范围的1:100万矢量地
GIS服务,不仅是高性能的企业级GIS服务器,还是可扩展的服务式GIS
开发平台。其中功能最全面的是SuperMap IS .NET 6。
SuperMap GIS 6R产品系列
SuperMap IS .NET的工作原理
SuperMap IS .NET的主要功能
SuperMap IS .NET 的应用 1、SuperMap IS .NET 的GIS服务提供基于GIS功能的特色应用服 务,如提供高清晰度卫星影像数据服务,提供高精度基础地形图,提供 位置查询服务、行车指南服务、统计信息服务等。 2、利用SuperMap IS .NET 提供的GIS功能服务与服务器端开发 控件WebControls 或者AjaxControls,以及客户端开发APIAjaxScripts,用户可以快速构建面向浏览器客户端的地理信息系统,实 现各种GIS操作与高级分析功能。如公众服务型WebGIS发布系统、针对 各行业的专有GIS发布系统,包括电子商务网站、气象信息发布网站、 农业信息发布网站、卫生疫情发布网站、旅游信息发布网站、防汛信息 发布网站、环保信息发布网站等。
GIS名词解释

数据:是通过数字化或记录下来可以被鉴别的符号,不仅数字是数据,而且文字、符号和图象也是数据,数据本身并没有意义。
信息:是用数字、文字、符号、语言等介质来表示事件、事物、现象等的内容、数量或特征,以便向人们(或系统)提供关于现实世界新的事实的知识,作为生产、管理和决策的依据。
信息系统是由计算机硬件、网络和通讯设备、计算机软件、信息资源、信息用户和规章制度组成的以处理信息流为目的的人机一体化系统。
数据处理:是指对数据进行收集、筛选、排序、归并、转换、存储、检索、计算,以及分析、模拟和预测等等操作。
传输技术(Transmission technology):指成分利用不同信道的传输能力构成一个完整的传输系统,使信息得以可靠传输的技术。
地理信息:是指表征地理圈或地理环境固有要素或物质的数量、质量、分布特征、联系和规律等的数字、文字、图像和图形等的总称;它属于空间信息,具有空间定位特征、多维结构特征和动态变化特征。
空间信息:是反映地理实体空间分布特征的信息。
空间分布特征包括实体的位置、形状及实体间的空间关系、区域空间结构等。
地理信息系统:地理信息系统是一种决策支持系统。
它的定义由两方面组成,一方面,地理信息系统是一门学科,是描述、存储、分析和输出空间信息的理论和方法的一门新兴交叉学科;另一方面,地理信息系统是一个技术系统,是以地理空间数据库为基础,采用地理模型分析方法,适时提供多种空间和动态的地理信息,为地理研究和地理决策服务的计算机技术系统。
地理数据:是以地球表面空间位置为参照,描述自然、社会和人文景观的数据,主要包括数字、文字、图形、图像和表格等。
空间数据:是指用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据,它可以用来描述来自现实世界的目标,它具有定位、定性、时间和空间关系等特性。
空间数据是一种用点、线、面以及实体等基本空间数据结构来表示人们赖以生存的自然世界的数据。
地理学:研究地球表层自然要素与人文要素相互作用及其形成演化的特征、结构、格局、过程、地域分异与人地关系等。
mapgis k9 二次开发基础知识 个人总结 强烈推荐

MAPGIS二次开发基础知识一、手动注册组件与注销组件COM以及客户应用程序所需的、用来定位组件及对组件进行实例化的信息存储在Windows的注册表(Registry)里。
因此,在使用组件之前要对组件进行注册,只有成功注册才能引用该组件,其具体步骤为:1.将包容组件的DLL文件放入MAPGIS PROGRAM目录下,假设物理路径为:D:\mapgis65\program\MapGisBasCom1.dll2.运行注册表程序注册组件Windows开始菜单-〉运行:regsvr32D:\mapgis65\program\MapGisBasCom1.dll注册成功与否将有对话框弹出。
3.注销该组件方法为:regsvr32/u D:\mapgis65\program\MapGisBasCom1.dll二、Visual Basic中嵌入对象类型库为了使Visual Basic能够访问MAPGIS对象定义,应该在Visuai Basic项目或模块中嵌入MAPGIS对象类型库。
如果想把一个Visual Basic对象声明为MAPGIS对象类型,要求嵌入MAPGIS对象类型库,如果想把一个Visual Basic对象声明为一般Object类型,就不必嵌入MAPGIS对象。
为了在项目中嵌入MAPGIS对象类型库,通常执行这些步骤:从Project(工程)菜单,选择References,References对话框出现,选中复选框嵌入MapGisBasCom1Type Library文件。
这要求VisualBasic环境或代码模块编辑器是活动的,正在运行。
三、使用MAPGIS对象可以使用Visual Basic编写使用MAPGIS对象的程序。
在Visual Basic程序中使用MAPGIS 对象所要求的步骤是:1.嵌入MAPGIS对象类型库。
2.建立一个MAPGIS对象。
3.使用MAPGIS对象和包含的其他对象。
4.释放MAPGIS对象。
2020-2021《GIS设计与开发》期末课程考试试卷B(含答案)

2020-2021《GIS 设计与开发》期末课程考试试卷B 适用专业: 考试日期:分, 总计10分) 1.GIS 维护除了通常的软、硬件维护和更新外,还包括地理信息的维护,主要表现在地理信息正确性、一致性和完整性的监察以及地理信息现势性的保证等。
..) 2.广义GIS 接口设计是指设计GIS 之间、GIS 内各子系统之间和子系统内部各个模块之间的接口, 使它们能够较好地进行通讯和实现功能共享。
( ) 3...myRecordSet.Fields("人口").Value 和..myRecordSet("人口")完成的功能是一样的。
..) 4.FoxPr.、Acces..MYSQ..MSSQ.数据库,均可.ODB.AP.进行访问...)5.Mapinf.、ArcInfo 是ESRI 公司推出的桌.GI.平台与大型工具.GI.平台。
..) 1. 二、选择题(共10题、每题2分, 共20分) GIS 组件式的二次开发的特点包括: ( ) A 开发简易 B 开发语言无关 C 不依赖于商用GIS 平台 D 通用性 2. 我国1:100万基本比例尺分幅地图的经差是( )。
3. A.3° B.4° C.6° D.2° 4. 面向对象方法的基本特征包括( ) A.类 B.对象 C.虚拟 D.继承 按6度带划分, 经度范围为 114°---> 120°, 那么其中央经线为: ( ) 5. A 、117° B.116° C 、115° D 、117.5° 6. GIS 工程总体设计一般采用( )进行实施。
A.结构化设计方法 B.原型化方法 系: 专业班级: 姓名: 学号:装 订 线C.面向对象方法D.组件化方法7.地理信息系统空间位置建立的基础是()A 统一的坐标系统B 统一的分类编码原则C 标准的数据交换格式D 标准的数据采集技术规程、假定“姓名”是文本型字段, 则查找姓“王”的学生应使用表达式()A 姓名 Like ″王 * ″B 姓名 Like ″ [ !王 ] ″C 姓名 = ″王 * ″D 姓名 = = ″王 * ″8.地理坐标系的坐标单位是()A 、角度单位B 、长度单位C 、弧度单位D 、计量单位在GIS用户界面的开发中, 一般采用()。
Mapgis二次开发(入门)

Mapgis二次开发(入门)——MFC下的基本步骤作者:刘明瓒成都理工大学QQ:34194203欢迎大家转载此文,但请在转载时保证文章的完整性开发平台:VC++6.0&&Mapgis6.75内容:mapgis二次开发的一些基本概念和基本步骤要求:阅读此文需要一定C++编程基础和一点MFC的知识以及一点mapgis知识。
1概述1.1Mapgis二次开发的作用扩展mapgis产品功能,以达到自己的目的。
简单讲有:简化操作(将mapgis产品提供的功能包装,以前要点几下的现在点一下就可以了),功能扩展(mapgis产品没有的功能,可以通过二次开发自己实现),功能应用(自己开发的某个系统如果想使用mapgis里面的一些功能,可以通过二次开发直接拿到自己的系统中),……等等。
1.2基本概念有一点需要说明,mapgis二次开发所有API函数都是以“_”开头的,如_OpenPntArea、_GetPnt、_GetLin等等。
其他概念在要碰到时在谈。
1.3所需工具1、Microsoft Studio VC++6.02、Mapgis6.75产品及二次开发包以上工具网上均有免费下载, 进行一下步骤时请先下载并安装好。
2Mfc向导与工程设置2.1新建工程(1)打开VC++6.0 【File】->【New】选择【Projects】选项卡、【MFC AppWizard(exe)】、填入工程名称Mapgis_1,点击【OK】如下图:(2)选择Dialog based (为简单起见)点击【Finish】新建工程完毕2.2工程设置(1)点击菜单栏【Project】->【Setting】选择【C/C++】选项卡 Category:中选择【Code Generation】Struct member alignment选择【1 Byte】点击【OK】说明:此步设置是将C++结构体成员的内存对齐方式设置为1字节,因为mapgis6.X的开发就是采用的此对齐方式。
全国GIS应用水平考试一级模拟试题及答案

全国信息化工程师-——GIS 应用水平考试全国统一考试一级考试模拟试卷(实际考试题型可能略有调整)答卷说明:1、本试卷共 7 页,5 个大题,满分 150 分,150 分钟完卷.2、考试方式为闭卷考试。
题号题分得分一60二20三10四30五30总分核分人复查人一、单项选择题:(本大题共 60 小题,每小题 1 分,共 60 分)得分评卷人复查人每一小题只有一个正确答案,请把你认为正确答案的代号添在题后的括号里。
1、使用 GIS 系统进行城市规划时,估算道路拓宽中拆迁成本所采用的分析方式是:( D )A 空间聚类B 统计分析C 叠置分析D 缓冲区分析2、能够完成图像扫描输入、图像处理及图形输出的 GIS 硬件配置是:A 中央处理器、图形终端、打印机和磁盘B 中央处理器、图形终端、打印机、磁盘、数字化仪和绘图仪C 中央处理器、图形终端、打印机、磁盘、数字化仪、绘图仪、扫描仪D 中央处理器、图形终端、打印机、磁盘、扫描仪3、地理信息系统空间位置建立的基础是____。
A 统一的坐标系统B 统一的分类编码原则C 标准的数据交换格式D 标准的数据采集技术规程4、地理坐标系的坐标单位是A、角度单位B、长度单位C、弧度单位D、计量单位5、下列有关数据库的描述,正确的是:A 数据库是一个 DBF 文件B 数据库是一个关系C 数据库是一个结构化的数据集合D 数据库是一组文件(C )(A ) (A )(C )信息产业部电子人才交流中心全国GIS应用水平考试(NCIE-GIS)一级考试试卷第1页共13页6、A系统是当前数据库系统的主流。
网络数据库 B 层次数据库 C 网状数据库 D 关系数据库(D)7、在计算机中,存储器的单位是:A 字长B 位C 存储数据的个数D 字节8、计算机病毒可以对计算机系统造成破坏,计算机病毒实际上是:A 一种芯片B 一段特制的程序C 一种生物病毒D 一条命令9、地图比例尺A 是地图上某一长度与实地相应长度之比B 数字式比例尺C 图解比例尺D、任意级别比例尺10、局域网的高质量数据传输环境是:A 高数据传输率、低误码率B 高数据传输率、高误码率C 低数据传输率、低误码率D 低数据传输率、高误码率11、一个宿舍6名学生共用一部电话,这6名学生以方式使用这部电话。
《GIS二次开发》课程标准

《GIS二次开发》课程标准一、课程说明注:1.课程类型(单一选项):A类(纯理论课)/B类(理论+实践)/C类(纯实践课)2.课程性质(单一选项):必修课/专业选修课/公共选修课3.课程类别(单一选项):公共基础课/专业基础课/专业核心课4.合作者:须是行业企业人员,如果没有,则填无二、课程定位本课程是测绘与地理信息系统专业的一门专业核心课程。
是一门实践性很强的课程,必须通过上机操作才能掌握所学的知识,强调讲授与上机操作相结合,保证学生有充分的上机条件。
通过本课程的学习,学生能够掌握计算机网络语言和ArcGISEngine相关方面的特点,掌握它们的主要应用领域和发展方向,具备一种基于C#语言开发的ArcGIS产品二次开发能力,为后续的学习,打下良好基础。
三、设计思路本课程按照学生掌握GIS应用开发技能的顺序进行组织,坚持以理论够用为度,以培养学生掌握GIS二次开发技能为主,将课程知识点与学习任务整合到设计的项目中,通过上机实践,让学生掌握C#语言实现对GIS的二次开发。
其总体设计思路是:以C#作为开发语言,结合大量实例,掌握ArcGISEngine10.0进行GIS二次开发的方法、过程和技巧。
主要包括ArcGISEngine接口的概念,利用ArcGISEngine构建GIS基本框架的方法,在ArcGISEngine环境下空间数据访问与查询、符号化显示与符号库定制、外部属性数据操作与专题图制作、地图整饰与打印输出、空间数据裁剪、地形分析、地图配准,以及空间数据图饰符号标注等功能的实现方法。
四、课程培养目标通过本课程的学习,让学生掌握GIS二次开发应具备的相关技能,学会C#开发工具,对GIS进行二次开发的方法,为测绘与地理信息专业后续课程提供支撑。
1.专业能力完成的安装与配置完成ArcGISEngine10.0的安装完成ArcGISEngine基础控件的加载完成GIS地图数据加载完成GIS地图符号化完成GIS地图的整饰与输出2.方法能力本课程在教学过程中,以学生为主体,通过案例教学、任务驱动教学、分组讨论教学、问题探究教学等教学方法,让学生主动参与到教学过程中,以编写代码为主,不断激发学习者的学习兴趣,让学生在不断地分析问题,解决问题,推理与判断过程中,提高学习效果,达到培养实际职业技能的培养目标。
《地理信息系统应用程序设计与开发》教学大纲

地理信息系统应用程序设计与开发一、课程说明课程编号:010524Z10课程名称:地理信息系统应用程序设计与开发/ The Design and Development of Geographical Information System Application Program课程类别:专业教育课程学时/学分:48/3先修课程:面向对象程序设计、地理信息系统导论、空间数据库、地理信息系统工程与应用适用专业:地理信息科学教材、教学参考书:1.芮小平、于雪涛,基于C#语言的ArcGIS Engine开发基础与技巧, 北京:电子工业出版社,2015年.2.刘仁义、刘南,ArcGIS开发宝典:从入门到精通,北京:科学出版社,2006年.3.兰小机、刘德儿,ArcObjects GIS应用开发——基于C#.NET,江西理工大学,2006年.(未出版)4.Michael Zeiler, Exploring ArcObjects, ESRI, 2001年.5.ESRI中国(北京)译,ArcGIS Engine中文开发指南,ESRI,2004 年.6.Michael Zeiler, Modeling Our World, ESRI, 1999年.二、课程设置的目的意义《地理信息系统应用程序设计与开发》是地理信息系统专业教学计划中的一门专业必修课。
本课程是以应用型GIS的二次开发为主线,讲授研究应用型GIS二次开发的特点、方法、过程和编程技术。
包括应用型GIS二次开发方式、语言式GIS二次开发原理、组件式GIS二次开发原理、GIS二次开发关键技术、组件式开发实例和可复用GIS二次开发原则,概括了应用型GIS二次开发的方式、内容、原则、方法等。
通过本课程的学习,学生应掌握和了解GIS二次开发的基本方式和原理,应用型GIS二次开发关键技术的内容与实现方法,掌握至少一种GIS开发平台的一种二次开发方式,基本具备针对具体问题和应用进行应用开发和编程的能力。
GIS二次开发(B)实验报告

GIS二次开发(B)实验报告二〇一五年11月3日目录1 实验一:AOI书签开发 (1)1.1 实验目的 (1)1.2 实验内容 (1)1.3 实验步骤与结果 (1)2 实验二:地图数据组织与访问 (8)2.1 实验目的 (8)2.2 实验内容 (8)2.3 实验步骤与结果 (8)3 实验三:地图渲染与制图输出 (16)3.1 实验目的 (16)3.2 实验内容 (16)3.3 实验步骤结果 (16)4 实验总结 (23)1实验一:AOI书签开发1.1实验目的✧掌握AOI书签程序开发1.2实验内容✧实现AOI书签的创建✧实现AOI书签的调用1.3实验步骤与结果public void createbookmark(string sbookmarkname)//参数为书签名{//通过iaolbookmark接口创建一个变量,其类型为aoibookmark,保存当前地图范围。
IAOIBookmark aoibookmark = new AOIBookmarkClass();if (aoibookmark!= null){aoibookmark.Location = axMapControl1.ActiveView.Extent; = sbookmarkname;}//通过imapbookmarks接口访问当前地图,并向地图中加入新建书签IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;if (bookmarks!= null){bookmarks.AddBookmark(aoibookmark);}cbbookmarklist.Items.Add();}}}namespace xy{public partial class AdmitBookmarkName : Form{public MainForm m_frmMain;public AdmitBookmarkName(){InitializeComponent();}public AdmitBookmarkName(MainForm frm){InitializeComponent();if (frm != null){m_frmMain = frm;}}//“确认”按钮的“点击”事件响应函数,用于创建书签private void btnAdmit_Click(object sender, EventArgs e){if (m_frmMain != null && tbBookmarkName.Text == ""){m_frmMain.createbookmark(tbBookmarkName.Text);}this.Close();}}}2实验二:地图数据组织与访问2.1实验目的✧了解ArcGIS Engine中地图数据的组织结构✧掌握ArcGIS Engine地图数据访问方法2.2实验内容✧编写“数据操作”类✧利用DataGridView控件展示Continents图层的序号和名称字段2.3实验步骤与结果初始化窗口using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace MapControlApplication1{public partial class Databoard : Form{public Databoard(){InitializeComponent();}public Databoard(string sDataName, DataTable dataTable){//初始化窗体及控件。
GIS二次开发平台简介

MO允许定制利用制图和GIS组件的应用程序,它的特点包括:支持广泛的数据格式;支持ODBC和ADO访问数据库表格数据源;支持扩展的图形数据及操作;支持投影;增强的GPS管理功能;空间分析功能;提供了ArcExplorer组件源代码;支持ArcIMS;支持数据库版本管理。
MO对地图数据的组织方式概念清晰,易于理解。一个综合性的地图由多个图层构成,图层数据来源广泛。对于矢量图层,其内部统一用记录集来表达,抹平了各种不同格式数据间在内存中的表达鸿沟,简化了程序员的数据观点。记录集就像关系数据库中的二维表,行表示每个要素,列表示每个属性,如果含有名称为“Shape”的列,则该记录集表示的是地
iveX是微软公司的组件技术标准,是对象链接与嵌入(OLE)的扩展,它使OLE接口加强了对数据和特性的管理,而且便于进行Internet互操作。
ActiveX控件是建立在COM标准之上的独立的软件元件,提供给用户应用接口,发送相应的事件,开发者则可以截取这些事件,执行相应的功能。
目前基本的组件地理信息系统开发都是通过第三方提供的ActiveX控件(通常为.ocx或.dll文件)来在开发环境中进行集成开发,组件技术可以使程序设计变得简单、高效,去掉了大量代码重复编写的繁琐性,提高了代码的重复使用性,增强系统的可扩展性、可伸缩性和可移植性,加强了系统实用性和维护性。
地理信息系统二次开发平台简介
地理信息系统二次开发平台以MO等组件式开发技术为主下面为大家简单介绍一下MO组件技术。
1. MO简介
MapObjects(简称MO),是由美国ESRI开发的,一组供应用开发人员使用的GIS功能ActiveX控件,它包括一个名为Map的ActiveX控件(OCX)和一组(四十多个)ActiveX自动化对象。它适用于工业化标准程序环境,如Visual Basic,Delphi,C++Builder,PowerBuilder与MS Access等,利用它可灵活的建立适合用户的地图接口,且开发费用小。
[转]GIS二次开发(C#+AE)
![[转]GIS二次开发(C#+AE)](https://img.taocdn.com/s3/m/59b79301f08583d049649b6648d7c1c708a10bc1.png)
[转]GIS⼆次开发(C#+AE)乘风莫邪原⽂此过程描述了使⽤ArcGIS控件建⽴和部署应⽤的⽅法和步骤。
你可以在下⾯的⽬录下找到相应的样例程序:<</FONT>安装⽬录>/DeveloperKit/Samples/Developer_Guide_Scenarios/ArcGIS_Engine/Building_an_ArcGIS_Control_Application/Map_Viewer注:ArcGIS样例程序不包含在ArcGIS Engine开发⼯具包“典型”安装⽅式中。
如果你没有安装它们,则可以重新运⾏开发⼯具包安装向导,选择“定制”或“修改”⽅式,并选择软件开发包下的样例项进⾏安装。
⼀、项⽬描述利⽤视窗控件建⽴应⽤程序的⽬标是演⽰并使你熟悉在微软Visual Studio .NET API中使⽤标准ArcGIS控件开发和部署GIS应⽤所需的步聚。
本节中使⽤了Visual Studio .NET开发环境中的MapControl、 PageLayoutControl、TOCControl和ToolbarControl等视窗控件。
COM、Java和C++程序员应该参考如下章节:、、和。
本节演⽰了创建查看ArcMap和ArcGIS桌⾯应⽤图形⽂档的GIS应⽤程序的步骤。
此节包含了以下技术:l 在微软Visual Studio .NET中加载和嵌⼊ArcGIS控件。
l 向PageLayoutControl和MapControl中加载图形⽂档。
l 设置ToolbarControl和TOCControl的绑定控件。
l 处理窗⼝缩放。
l 向ToolbarControl添加ArcGIS Engine命令和⼯具。
l 创建弹出式菜单l 在TOCControl中管理标签编辑l 在MapControl中绘制图形。
l 为MapControl、PageLayoutControl和ToolbarControl创建定制⼯具。
Gis应用水平二级考试模拟试题及答案

Gis模拟试题一一、单项选择题:(本大题共60 小题,每小题1 分,共60 分)每一小题只有一个正确答案,请把你认为正确答案的代号添在题后的括号里。
1、使用GIS 系统进行城市规划时,估算道路拓宽中拆迁成本所采用的分析方式是:( D )A 空间聚类B 统计分析C 叠置分析D 缓冲区分析2、能够完成图像扫描输入、图像处理及图形输出的GIS 硬件配置是:( C )A 中央处理器、图形终端、打印机和磁盘B 中央处理器、图形终端、打印机、磁盘、数字化仪和绘图仪C 中央处理器、图形终端、打印机、磁盘、数字化仪、绘图仪、扫描仪D 中央处理器、图形终端、打印机、磁盘、扫描仪3、地理信息系统空间位置建立的基础是____。
( A )A 统一的坐标系统B 统一的分类编码原则C 标准的数据交换格式D 标准的数据采集技术规程4、地理坐标系的坐标单位是( A )A、角度单位B、长度单位C、弧度单位D、计量单位5、下列有关数据库的描述,正确的是: ( C )A 数据库是一个DBF 文件B 数据库是一个关系C 数据库是一个结构化的数据集合D 数据库是一组文件6、系统是当前数据库系统的主流。
( D )A 网络数据库B 层次数据库C 网状数据库D 关系数据库7、在计算机中,存储器的单位是: ( D )A 字长B 位C 存储数据的个数D 字节8、计算机病毒可以对计算机系统造成破坏,计算机病毒实际上是: ( B )A 一种芯片B 一段特制的程序C 一种生物病毒D 一条命令9、地图比例尺( A )A 是地图上某一长度与实地相应长度之比B 数字式比例尺C 图解比例尺D、任意级别比例尺10、局域网的高质量数据传输环境是: ( A )A 高数据传输率、低误码率B 高数据传输率、高误码率C 低数据传输率、低误码率D 低数据传输率、高误码率11、一个宿舍6名学生共用一部电话,这6名学生以方式使用这部电话。
( B )A 共享的B 互斥的C 同步的D 独占的12、在全新安装部署计算机系统的时候,合理的安装顺序应该是:( B )A 杀毒软件、操作系统、应用系统B 操作系统、杀毒软件、应用系统C 应用系统、操作系统、杀毒软件D 操作系统、应用系统、杀毒软件13、检查网络连通性的应用程序是:( A )A PINGB ARPC BIND D DNS14、计算机硬盘的容量比光盘大得多,读写速度与软盘相比。
ArcGISEngine二次开发——基础篇

ArcGIS Engine二次开发——基础篇1ArcGIS Engine二次开发——基础篇1.1第一个简单的ArcGIS Engine地图显示程序这个例子将引导您创建第一个简单的地图显示程序,并添加基本的缩放和漫游功能。
如果您之前没有接触过ArcGIS Engine的开发,那么这个例子是您迈入ArcGIS Engine二次开发大门的极好例子,将从零开始引导您一步一步完成任务。
1.1.1创建一个新的工程首先打开Microsoft Visual Studio 2005,点击菜单栏中的“文件”—>“新建”—>“项目”,在弹出的对话框中选择新建一个Visual C#的Windows应用程序,之后更改项目名称为“地图浏览”,更改文件的路径为个人实习文件夹,点击“确定”即可。
图1新建项目对话框选中项目“地图浏览”中的窗体“Form1”,修改其Name属性为“MainForm”,Text属性为“地图浏览”,图2窗体命名1.1.2添加控件及引用点击编译器最左侧的“工具箱”(不存在时可通过“视图”“工具箱”打开),在弹出的选择项中找到“ArcGIS Windows Forms”项,单击其中的MapControl,之后在Form1的空白处单击鼠标左键不放并拖拽鼠标,直到调整MapControl到合适的大小再松开鼠标(您也可以直接在工具箱中双击MapControl,该控件则会自动加入到Form1中)。
用同样的方法,再将LicenseControl添加到Form1中。
图3 打开工具箱图4工具箱如果您在工具箱中找不到MapControl,则请依次尝试以下两种解决方案。
首先单击工具栏,待工具箱弹出之后,在工具箱的任意位置上单击鼠标右键,从弹出菜单中选择“重置工具箱”。
如果这一步操作之后仍然无法看到MapControl,则在工具箱的任意位置上单击鼠标右键,找到“常规”选项卡,然后在“常规”选项卡上单击鼠标右键,在弹出菜单中单击“选择项(I)…”,在弹出的对话框中选择“.NET Framework组件”,找到“LicenseControl”和“MapControl”,将这两项前的复选框打上勾,最后点击确定即可(如果在“.NET Framework 组件”这个面板中找不到这两项,则选择“COM 组件”面板,在“ESRI LicenseControl”和“ESRI. MapControl”前面打勾)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.9 属性查询
.SearchByDistance()函数的用法
Set variable = object.SearchByDistance( shape, tolerance, expression) .
FlashShape()函数的用法 object.FlashShape shape, nTimes MXFlexGrid控件的使用
注意!
在将对象的引用赋给变量、数据类型的元 素或可写对象的属性时,须使用关键字 “set”; 在创建对象类的实例时,须使用关键字 “new”。
4.2地图放大、缩小、漫游等操作
Map1.Extent Map1.pan set map1.extent = map1.fullextent
4.3 打开影像文件
4. 功能的实现
4.1.打开shp文件
1)学会使用CommonDialog控件 2)学会简单错误处处理方法
3)学会从全路径中截取文件名称的方法
4)学会从全路径中截取目录的方法
学会 .DataConnection 的定义和使用方法 学会.Database的定义和使用方法 学会.GeoDataset的定义和使用方法 学会.FindGeoDataset的定义和使用方法 学会.Layers.Add的定义和使用方法
3.2 Shp文件
ESRI Shapefiles use a simple, nontopological format for storing the geometric location and attribute information of geographic features.
ShapeFile文件通常包含三个文 件:.shp .shx .dbf,.shp存储了图元图形坐标数据,.dbf 存储了图元属性数据,.shx存储了每个图元记录在.shp文件 中的位置。同时.shp .shx .dbf记录顺序是一致的。在GIS 中,总体上有两种类别的查询: 图元查属性,就是通过对图元.shp文件的查询,定位到 对应的.dbf属性数据记录。而对.shp的查询,需要对图形建 立空间索引,以便加速图元查找的速度。确定需要查找的图 元在.shp中的记录位置,以确定是第多少条记录,由于三文 件记录顺序是一致的,同时.dbf记录是等长的,可以迅速通 过计算得到对应的图元属性数据所在的位置,读取属性数据 即可。
A DataConnection represents a connection to a source of geographic data. Sources that MapObjects can connect to are: folders containing Shapefiles r CAD files, SDE database instances, ARC/INFO workspaces and VPF data sources.
3) 图层操作与legend控件的关联 LoadLegend
4) AfterSetLayerVisible事件响应
4.5 坐标值的显示
1)statusbar控件的使用 2)点(point)的定义与使用 3)屏幕坐标系转换为地图坐标系 4)数据精度显示的方法 5)状态条Panels 长度变化的方法
4.6 测量距离
1).Trackline方法 2)ToMapDistance方法,同时熟悉 FromMapDistance, FromMapPoint, ToMapPoint的方法用途。
4.7 移除图层
1) 移除活动图层(选中的当前图层)
.Layers.Remove Index 2)移除所有图层
4.8 改变线型(style)
图像层对象代表一作为地图控件上的背景的影像文件。 动态跟踪图层(Tracking Layer)对象让你能动态拖 拽元素而无需重显。这对实时数据获取是十分理想的(如 GPS)。它也可用于显示基本几何形状(如三角、圆)和描 述性文本。它们都不是地图数据的一部分。 Geo Event对象代表可加到Tracking Layer对象上 的点元素。 符号(symbol)对象是广泛使用的对象,它影响如何 在地图上显示元素的许多方面。其属性包括:颜色、字 形、大小、形状。 文本(Textsymbol) 对象代表文本的某些属性(如准 线、字型) 其他……
(1)数据访问对象(DataConnection object)
通过数据访问对象,能建立与地图数据的联系。增加属性值,从 地图元素上反馈属性信息。数据通道对象组由以下部件组成: 数据连接(Data Connection)对象是MapObjects通向地图数据 的通道。它包括属性和方法来建立与地理数据集合 (GeoDatasets)的联系。
地理数据集合( GeoDataset)对象代表制图数据并可引用图层。它可引 用形文件或SDE layer的数据。 地理数据集合是对于一个数据连接的所有地理数据集合对象的总合。 它是一特定文件夹中所有形文件或SDE数据库中所有SDE层。
记录集合(Record set)对象代表一个图层的记录。如果你做了一个选择 集,它就代表所选记录。它类似于数据库指针。
TableDesc对象给你关于与记录集相连的表的字段的信息。 表(Table)对象是一个只读数据通道对象。它代表来自ODBC 数据源的 一个表单。你可增加一表作为与图层对象的关联或为了大批地址匹配。 字段集合包括记录集对象的字段对象。 统计对象代表关于一个记录集的简单统计信息。你首先应用一方法计算 关于记录集的统计值,然后可在统计对象中检查结果。
1) dimcurlayer as MapObjects2.ImageLayer 2) curlayer.File=fullpass 3) Layers.Add curLayer
4.4 图层管理
1)legend控件的加载 2) .setMapSource .LoadLegend .ShowAllLegend 方法的使用
属性查图元,就是通过对属性数据的查找,来定位 到地图上相应的图形。而对.dbf的查询,为了加快属性 数据查找的速度,需要对.dbf文件的相关查询字段建立 索引,比如B树索引。返回查询到的第多少条记录或者记 录集合,借助对.shx文件查找(三个文件记录顺序是一 致的),直接找出图形在.shp文件中的位置。 通过以上的分析知道,需要额外建立两个索引: 对.shp图形建立的空间索引,对.dbf属性查询字段建立 的索引。这两个索引既可以动态在内存中建立,也可以 自己定义文件格式,物理地把索引给存储起来,以减少 动态建立索引所花费的时间和内存开销。下面重点 就.shp文件数据存储以及相应的空间索引的建立与存储, 做详细介绍。
(3)地理数据集对象 (GeoDataset object )
A GeoDataset object represents a layer of geographic data. The GeoDataset object is associated with the MapLayer object in order to display the data in a Map. This geographic data may be held in any of the vector data formats supported by MapObjects.
字符串集合是一组标准字符串数据类型集合。你可通过它从其它对象中 取值来自接口控件(如列表框)中增加数据。
(2)地图(图层)对象( A MapLayer object )
通过地图显示对象组,能用符号或专题描述画一张地图。 你也可加入图像做为背景,在地图上显示动态数据。地 图显示对象组由以下部件组成: 地图控件使你能显示图层、图像层,和动态跟踪图 层对象,你可编写代码来控制鼠标驱动绘图事件,设置 显示参数,用方法可画元素,闪烁选择的元素,计算点 与元素的距离,输入线,圆,三角。 层(Layer)集合是服务于地图控件的图层对象和影 像层对象的集合。 图层对象代表带有一些显示属性的地理数据集合对 象。它可让你处理专题地图,此对象有几个方法来查找 和选择地理元素。
3.MapObjects的二次开发
安装,使用帮助(演示) 例子
3.1 MO的基本框架和组成
MO包含一个地图控件(Map Control)和一 组对象。这些对象按其功能可以分为4组: 数据访问对象(DataConnection object) 地图(图层)对象( A MapLayer object ) 地理数据集对象(GeoDataset object ) 地址匹配对象(TrackingLayer object ) 通过地图显示对象,可用符号或专题描述画一 张地图。也可加入图像做为背景,在地图上显 示数据 。 除了以上的对象还有投影对象
The ESRI Shapefile format defines the geometry and attributes of geographically referenced features in several files with specific file extensions that are stored in the same folder on disk. These consist of a main file, an index file, and a dBase table. The main file is a direct access, variable-record-length file in which each record describes a shape with a list of its vertices. In the index file, each record contains the offset of the corresponding main file record from the beginning of the main file. The dBase table contains feature attributes with one record per feature. The one-to-one relationship between geometry and attributes is based on record number. Attribute records in the dBase file are stored in the same order as records in the main file. The main file, the index file, and the dBase file have the same prefix and the following suffixes: .shp - the file that stores the feature geometry. .shx - the file that stores the index of the feature geometry. .dbf - the dBase file that stores the attribute information of features.