利用VB和MAPGIS基本控件做二次开发

合集下载

MAPGIS二次开发

MAPGIS二次开发

Map GIS二次开发大赛关于“兰州周边旅游资源查询系统”计划书(草拟):兰州周边旅游资源查询系统项目开发计划书一、引言1、编写目的依照次开发设计,进行项目的设计开发2、背景1)软件名称:兰州周边旅游资源查询系统2)项目开发者:3)运行环境及开发语言:该软件系统基于Map GIS K9的二次开发,其中使用Visual Stdio2005、VB、C等3、概念定义二次开发:在已有的软件系统上进行功能的扩展。

以适应某些需求GIS 地理信息系统4、参考资料乌伦.黄杏元地理信息系统概论二、项目概述1、主要工作1)制作兰州周边旅游景点数据库2)制作兰州交通旅游道路网格数据库3)建设兰州公交线路数据库4)制作兰州周边景区3D地形图5)系统桌面以及界面设计包括提示、帮助等6)实现三维漫游2、主要参加人员苏磊王旭东三、产品1、程序设计2、所需数据:3、产品服务1)公交查询2)线路查询;最短、最优路径查询;3)线路、景点属性查询4)三维漫游,景区三维模型建立使用4、检测5、时间四、设计与实施计划1、分工安排:2、关键核心技术1)各个数据库的建立以结合2)查询方法的设计与建立兰州周边旅游资源查询系统数据要求说明书一、引言1、编写目的依照次开发设计,进行项目的设计开发2、背景1)软件名称:兰州周边旅游资源查询系统2)项目开发者:3)运行环境及开发语言:该软件系统基于Map GIS K9的二次开发,其中使用Visual Stdio2005、VB、C等3、概念定义二次开发:在已有的软件系统上进行功能的扩展。

以适应某些需求GIS 地理信息系统4、参考资料乌伦.黄杏元地理信息系统概论二、数据介绍1、静态数据2、动态输入数据3、动态输出数据三、数据采集兰州周边旅游资源查询系统需求说明书一、引言1、编写目的依照次开发设计,进行项目的设计开发2、背景1)软件名称:兰州周边旅游资源查询系统2)项目开发者:3)运行环境及开发语言:该软件系统基于Map GIS K9的二次开发,其中使用Visual Stdio2005、VB、C等3、概念定义二次开发:在已有的软件系统上进行功能的扩展。

GIS二次开发程序设计

GIS二次开发程序设计

成绩批阅日期重庆交通大学测量与空间信息处理实验报告实验课程:GIS二次开发程序设计实验名称: GIS二次开发班级:学号:姓名:实验日期: 2012 年 6 月 25 日实验一界面设计一、实验目的和要求1、学会对MO进行安装。

2、熟悉Visual Basic和Map Object程序的基本操作。

3、掌握toolbar的操作步骤。

4、设置GIS二次开发的界面,要求界面具有菜单、工具条及设计程序时用到的各种控件等。

二、实验内容1、利用Visual Basic相应控件和操作以及Map Object完成界面设计,运用所安装的MO的控件进行所需界面设计。

2、在设计的界面上一次添加菜单、工具条、图例控件、map控件、状态栏等,并熟练掌握其操作步骤。

三、实验步骤1、在有MO和VB的环境中进行所设计的界面设计。

1)菜单的设计。

要求具有一些常用的功能。

如下图所示:2、对toolbar进行设计。

在菜单栏下面进行插入Button按钮,并在按钮上插入相应图像。

步骤如下图:3、插入map、legend、status等控件,并调整其大小。

得到最后成果图如下图所示:四、实验总结4.1、实验中遇到的困难在进行界面设计时,会遇到一些意想不到的困难,比如在插入toolbar 中的Button时,如果没有加入imagelist控件时,就不能在Button上插入图像。

还有在进行菜单操作时,有时会因为空格运行不当,而不能得到理想的下拉菜单。

4.2、处理方法和技巧在进行设计时,一定要记住操作的先后顺序,不然不能不到效果。

插入map 和legend等控件时,适当调节其大小,使界面更美观。

4.3、经验体会和收获刚开始做实验时感觉好难,不知怎么下手,可在完成这几次实验后我熟悉了MO的最基本功能,发现用VB对GIS进行二次开发没有想象中的那么难,但关于控件的问题很多,而且大家都不是很懂,只能多多交流,从网上搜素相关资料。

现如今地理信息系统的应用越来越广发,对它进行二次开发可以更大的发挥此软件的功能。

基于MAPGIS组件的二次开发

基于MAPGIS组件的二次开发

收稿日期:2001-11-16基金项目:国家“九五”重中之重科技攻关项目“M APGIS 软件的开发与商品化”(N o.96-B02-03-05).基于MAPGIS 组件的二次开发周顺平,王海龙(中国地质大学信息工程学院,湖北武汉430074)摘要:组件式GIS 是GIS 与组件技术相结合的新一代地理信息系统.介绍了地理信息系统和组件式GIS 的基本概念,并简单介绍了组件式GIS 的基本优点及M APGIS 组件开发平台的组成和功能划分.阐述了使用M APGIS 组件进行GIS 应用软件二次开发的一般方法和步骤,以及在VB 中使用M APGIS 组件对象的基本步骤.并以VB 为开发环境,结合M APGIS 数据管理组件、图形显示组件、图形编辑控件、属性编辑控件等,给出了一个具有图形显示、地理属性数据编辑等功能的实例程序,演示了如何使用M APGIS 组件进行GIS 应用软件的二次开发.关键词:地理信息系统;组件;组件式地理信息系统;M APGIS;GIS 二次开发.中图分类号:TP311.52 文献标识码:A 文章编号:1000-2383(2002)03-0289-04作者简介:周顺平(1967-),男,副教授,1999年毕业于中国地质大学信息工程学院,获硕士学位,现主要从事GIS 基础软件和数据库方面的科研及应用开发工作.E 2mail :zhouspin @ 地理信息系统(geographic information system ,简称GIS )是在计算机软硬件支持下,以采集、存储、管理、检索、分析和描述空间物体的地理分布数据及与之相关的属性,并回答用户问题等为主要任务的技术系统[1,2].组件式GIS (com ponent GIS )指基于组件对象平台,以组件的形式提供基本功能的GIS ,是GIS 与组件技术相结合的新一代地理信息系统[3].组件式GIS 充分利用了组件的可重用特性,使用GIS 组件可以很大程度地提高GIS 应用软件的开发效率和质量.MAPGIS 地理信息系统是国产的GIS 基础软件平台,它提供了丰富的二次开发手段,包括API 函数库、C ++类和组件开发库[4].1 MAPGIS 组件开发平台MAPGIS 组件开发平台以一系列C OM 组件和ActiveX 控件的形式提供了GIS 基本功能:包括数据管理组件、图形显示组件、图层管理组件、地图管理组件、图例管理组件、图像处理组件、图库管理组件、图1 M APGIS 组件(控件)对象关系Fig.1Relation of M APGIS com ponent (ActiveX control )ob 2jects图形编辑控件、工程管理控件、属性编辑控件、属性结构编辑控件等.这些组件(控件)对象关系如图1所示.数据管理组件是整个系统的基础和核心,主要进行空间数据和属性数据的存取和管理,并提供基本的数据交互功能.数据管理组件定义了MAPGIS的基本数据类型和数据结构,封装了对点、线、区、网、表格等工作区的基本操作[5].GIS 通用功能组件(控件)集合提供了MAPGIS 平台的通用处理功能.通用功能组件基于数据管理组件构造而成,它们具有面向通用GIS 功能:图形显示第27卷第3期地球科学———中国地质大学学报V ol .27 N o .32002年5月Earth Science —Journal of China University of G eosciencesM ay 2002对象MAPGIS DC封装了MAPGIS的基本显示操作;图层对象Layer封装了点、线、区、网文件的数据管理功能;地图对象Map封装了对MAPGIS基本图形的编辑/输出操作和对多个图层的管理功能;图例对象Legend封装了点、线、区图例元素的管理和操作功能,并提供了管理图例文件存储和图例元素的功能;MSI对象封装了对图像工作区的操作和显示,并提供了矢量数据和栅格数据的相互转换功能;DBS 对象封装了操作和显示图库工作区的方法.同时, MAPGIS组件开发平台还提供了几个可视化控件: EditView控件对象包括点编辑、线编辑、区编辑、数字化、矢量化及其他操作功能;MapT reeCtrl控件对象封装了与Map对象的交互操作功能;G isAttEdit控件对象主要用来浏览和编辑MAPGIS属性数据; AttStruEdit控件对象主要用来浏览和编辑MAPGIS 属性结构.MAPGIS组件包含在一系列WI NDOWS动态连接库文件里,ActiveX控件则包含在一系列.ocx文件中.表1是WI NDOWS文件与MAPGIS组件的对应关系.表1 WIN DOWS文件与MAPGIS组件对应关系T able1C orrespondence of WI NDOWS files and M APGIS com po2 nentsWINDOWS文件M APGIS组件(控件)M ap G isBasC om1.dll数据管理组件M ap G isDspC om.dll图形显示组件M ap G is LayerC om.dll图层管理组件M ap G isM apC om.dll地图管理组件、图例管理组件M ap G isDBSC om.dll图库管理组件M ap G isRasterC om.dll图像分析管理组件EditView.ocx图形编辑控件M apT ree.ocx工程管理控件G isAttEdit.ocx属性编辑控件AttS truEdit.ocx属性结构编辑控件2 基于MAPGIS组件的二次开发MAPGIS组件不依赖于某一种开发语言,它可以直接嵌入到通用的开发环境(如VIS UA L BASIC或DE LPHI)中实现GIS功能.通过调用MAPGIS组件的基本功能,并结合其他专业模型和专业模型分析控件,可以快速地开发GIS应用程序,这就大大降低了GIS应用系统的开发难度与开发成本.利用MAPGIS组件开发平台进行GIS应用程序的开发分以下几个步骤进行:(1)选择应用系统的开图2 M APGIS应用程序层次结构Fig.2Architecture of M APGIS application发工具,如VB;(2)将使用到的MAPGIS组件引用到应用程序中;(3)调用MAPGIS组件的属性和方法完成GIS基本功能;(4)开发应用系统专用的功能.基于MAPGIS组件开发平台的GIS应用程序结构如图2所示.3 VB开发示例MAPGIS组件的使用方法与一般组件的使用方法完全相同,在使用MAPGIS组件之前,必须先注册.运行MAPGIS二次开发包中的setup.exe程序,可以自动安装并注册组件;或进行手工注册:将要注册的组件对应的文件(如数据管理组件对应的Map G is2 BasC om1.dll文件)拷贝到MAPGIS的program目录下,假设路径为:“D:\mapgis61\program\”,选择WI NDOWS开始菜单的运行,在命令行中输入:“regsvr32D:\mapgis61\program\map G isBasC om1. dll”,进行组件的注册[6].在VIS UA L BASIC中使用MAPGIS组件对象的步骤是:(1)嵌入MAPGIS对象类型库;(2)建立MAPGIS对象;(3)调用MAPGIS对象和其他VB对象的方法和属性完成GIS应用软件功能;(4)释放MAPGIS对象.下面的例子演示了如何使用MAPGIS 组件(控件)进行GIS应用软件的开发.首先,新建一个VB工程(标准EXE类型),“引用”程序中用到的组件和控件.为了使VIS UA L BA2 SIC能够访问MAPGIS组件对象,需要在VIS UA L BA2 SIC项目中嵌入MAPGIS对象类型库.执行下列步骤:从Project(工程)菜单中选择References(引用), References对话框出现后,选中所需的类型库: Map G isBasC om11.0T ype Library和Map G isDspC om1. 0T ype Library.再从Project(工程)菜单中选择C om po2 nents(组件),C om ponents对话框出现后,选中所需的682地球科学———中国地质大学学报第27卷控件:EditView ActiveX C ontrol M odule和G isAttEdit ActiveX C ontrol m odule.然后,将图形编辑控件、属性编辑控件添加到一个F orm中,并将控件的名称分别改为EditView和G isAttEdit,并定义在此F orm中使用到的变量:Public linAi As LinArea ’线工作区对象Public isBrowAtt As Integer. ’浏览编辑属性标志接着,添加LoadLinFile函数和BrowOrEditAtt函数,并在“装入线文件”和“浏览、编辑线属性”的菜单响应中调用这2个函数.Load LinFile函数,调用线工作区对象LinArea的Load方法,装载一个线文件到工作区中,并设置图形显示范围;BrowOrEditAtt函数,则调用G isAttEdit控件的属性和方法来编辑工作区文件的属性值:Public Function Load LinFile()’装入线文件I f N ot linAi Is N othing ThenSet linAi=N othing ’释放原工作区End I fSet linAi=New LinAreaI f linAi.Load Then ’装入新文件EditView.SetWinMapRange-linAi.rect.xmin,linAi.rect.ymin,-linAi.rect.xmax,linAi.rect.ymax ’设置图形显示范围EditView.RestoreWindow ’复位窗口End I fEnd FunctionPublic Function BrowOrEditAtt(ByVal Editable As Integer)’浏览/编辑属性I f N ot linAi Is N othing ThenG isAttEdit.AttachArea linAi,gis LI N ’添加要编辑的工作区到控件中G isAttEdit.EditEnable=Editable ’浏览或编辑属性标志isBrowAtt=1F orm-Resize ’调整窗口及控件的位置和大小End I fBrowOrEditAtt=1End Function再接着,触发EditView控件的MyDraw事件和F orm的Resize事件,在事件处理过程中分别添加显示工作区和移动、调整控件大小的代码:Private Sub EditView-MyDraw(ByVal M pDC As Object)’显示工作区图3 M APGIS组件开发示例Fig.3Sam ple of application based on M APGIS com ponents Dim mapDC As Map G isDCSet mapDC=M pDC ’设置图形显示对象mapDC.DispArea linAi ’调用图形显示对象的方法显示linAi工作区Set mapDC=N othing ’释放图形显示对象End SubPublic Sub F orm-Resize()’调整窗口及控件的位置和大小I f isBrowAtt=0Then ’不显示实体属性EditView.M ove0,0,Me.ScaleWidth,Me.Scale2 HeightG isAttEdit.M ove0,0,0,0E lse ’显示实体属性EditView.M ove0,0,Me.ScaleWidth,Me.Scale2 Height/332G isAttEdit.M ove0,Me.ScaleHeight/332,Me. ScaleWidth,Me.ScaleHeight/3End I fEnd Sub’最后,释放工作区对象:Private Sub F orm-Unload(Cancel As Integer)’释放对象I f N ot linAi Is N othing ThenSet linAi=N othing782 第3期 周顺平等:基于M APGIS组件的二次开发End I fEnd Sub程序运行结果如图3所示.参考文献:[1]吴信才.地理信息系统的基本技术与发展动态[J].地球科学———中国地质大学学报,1998,23(4):329-333.W U X C.Basic technology and development of geographic in2 formation system[J].Earth Science—Journal of China Univer2 sity of G eosciences,1998,23(4):329-333.[2]李超岭,张克信.基于GIS技术的区域性多源地学空间信息集成若干问题探讨[J].地球科学———中国地质大学学报,2001,25(6):545-550.LI C L,ZH ANG K X.S tudy on regional multi2s ource geologi2 cal spatial in formation system based on techniques of GIS[J].Earth Science—Journal of China University of G eosciences, 2001,25(6):545-550.[3]宋关福,钟耳顺.组件式地理信息系统研究与开发[J].中国图象图形学报,1998,3(4):314-316.S ONG G F,ZH ONG E S.Research and development of com2 ponents geographic in formation system[J].Journal of Image and G raphics,1998,3(4):314-316.[4]周顺平,李雪平.M APGIS二次开发库的设计与实现简介[J].地球科学———中国地质大学学报,1998,23(4):337 -340.ZH OU S P,LI X P.M APGIS design and realization in the secondary2developed functions set[J].Earth Science—Journal of China University of G eosciences,1998,23(4):337-340.[5]袁艳斌,吴冲龙,李伟忠.面向野外地质填图的空间实体对象表达[J].地球科学———中国地质大学学报,2001, 26(2):192-196.Y UAN Y B,W U C L,LI W Z.Object styles of spatial entity for field geological mapping based on object2oriented method [J].Earth Science—Journal of China University of G eo2 sciences,2001,26(2):192-196.[6]R ofail A,Shohoud Y.C OM与C OM+从入门到精通[M].邱仲潘,等译.北京:电子工业出版社,2000.27-34.R ofail A,Shohoud Y.Mastering C OM and C OM+[M].Bei2 jing:E lectronics Industry Press,2000.27-34.Secondary Development of GIS Application B ased on MAPGIS ComponentsZH OU Shun2ping,W ANG Hai2long(Faculty o f Information Engineering,China Univer sity o f G eosciences,Wuhan430074,China)Abstract:C om ponent GIS,combined with GIS and com ponent technology,is a mainstream in GIS technology. This paper introduces the concept of GIS and com ponent GIS and presents the merits of com ponent GIS and the struc2 ture of MAPGIS com ponent development platform.Meanwhile it shows the comm on method of GIS application develop2 ment by using MAPGIS com ponents and the steps of using MAPGIS com ponents in VIS UA L BASIC.Als o,it describes a sam ple to dem onstrate how to develop GIS application based on MAPGIS com ponents.The sam ple is combined with VIS UA L BASIC and MAPGIS com ponents,such as data management com ponent,graphic display com ponent,graphic editing control and attribute data editing control,and thus possesses the functions of graph display and GIS attribute data editing.K ey w ords:GIS;com ponent;com ponent GIS;MAPGIS;secondary development of GIS.882地球科学———中国地质大学学报第27卷。

基于MAPGIS的二维折线成图系统的设计与实现

基于MAPGIS的二维折线成图系统的设计与实现

基于MAPGIS的二维折线成图系统的设计与实现作者:张立永张文辉赵焱来源:《中小企业管理与科技·下旬》2011年第01期摘要:本文主要阐述了使用MAPGIS组件进行GIS应用软件二次开发的一般方法和步骤,以及在VB中使用MAPGIS组件对象的基本步骤。

并结合某地区化探采样元素分析数据为例,分析了其绘制剖面图的基本思路,按其要求成功开发出二维折线成图系统。

利用该系统,我们可以制作各种数据的折线剖面图。

关键词:MAPGIS组件VB开发剖面图1 MAPGIS组件式开发MAPGIS组件不依赖于某一种开发语言,它可以直接嵌入到通用的开发环境(如VISUAL BASIC或VC++)中实现GIS功能。

通过调用MAPGIS组件的基本功能,并结合其他专业模型和专业模型分析控件,可以快速地开发GIS应用程序,这就大大降低了GIS应用系统的开发难度与开发成本。

利用MAPGIS组件开发平台进行GIS应用程序的开发主要分以下几个步骤进行:①选择应用系统的开发工具,如VB;②将使用到的MAPGIS组件引用到应用程序中;③调用MAPGIS组件的属性和方法完成GIS基本功能;④开发应用系统专用的功能。

GIS通用功能组件(控件)集合提供了MAPGIS平台的通用处理功能。

通用功能组件基于数据管理组件构造而成,它们具有面向通用GIS功能;图形显示对象MAPGISDC封装了MAPGIS的基本显示操作;图层对象Layer封装了点、线、区、网文件的数据管理功能;地图对象Map封装了对MAPGIS基本图形的编辑/输出操作和对多个图层的管理功能;图例对象Legend封装了点、线、区图例元素的管理和操作功能,并提供了管理图例文件存储和图例元素的功能;MSI对象封装了对图像工作区的操作和显示,并提供了矢量数据和栅格数据的相互转换功能;DBS对象封装了操作和显示图库工作区的方法。

同时,MAPGIS组件开发平台还提供了几个可视化控件EditView控件对象,包括点编辑、线编辑、区编辑、数字化、矢量化及其他操作功能;MapTreeCtrl控件对象封装了与Map对象的交互操作功能;GisAttEdit控件对象主要用来浏览和编辑MAPGIS属性数据; AttStruEdit控件对象主要用来浏览和编辑MAPGIS属性结构。

mapgis k9 二次开发基础知识 个人总结 强烈推荐

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对象。

MapGIS开发平台二次开发

MapGIS开发平台二次开发
1.Jar包
Jar包
功能
备注说明
dcs-cls-1.0.0
集群管理服务
提供对DCServer集群的管理能力
dcs-cms-1.0.0
控制管理服务
提供对数据中心服务器的管理能力
dcs-dws-1.0.0
数据仓库服务
目录服务、地图服务、要素/栅格服务、三维数据服务、空间参考系服务等
dcs-fws-1.0.0
IDesigner:为MapGIS IGSS设计开发中心的应用层,基于DataCenter服务之上的Web服务体系,IDesigner以服务插件方式提供Web服务扩展,实现GIS功能与其他业务功能的扩展。
AppCenter:“空间信息软件应用中心”支持多类型的客户端——桌面端、Web端、移动端的应用,可便捷地获得GIS服务。通过SCenter的不断积累,AppCenter可提供的服务不断增多,能最大限度地满足用户的需求。
COM组件二次开发接口
组件级别的二次开发接口,提供二次开发需要的各种功能函数的支持,亦能同C++接口一样无差别的完成二次开发功能。
1.
模块
库文件
备注说明
TDE框架
TDEMain7.dll、TDEPluginBase7.dll、TDE3DCommon7.dll、FeatureNodeLayerLib.rpk、TDECommon7.dll、……
DesignCenter:“设计开发中心”提供了一个“零编程、巧组合、易搭建”的可视化搭建开发环境。不需要技术高超的程序员,不需要大量的编码,只需简单的搭建配置流程,结合个别满足特定需求的插件,即可实现复杂的应用。
SDesigner:为MapGIS IGSS设计开发中心的基础内核,并提供底层服务的扩展开发,即通过跨平台的内核服务群向上封装扩展,或采用服务插件方式扩展,同时可结合工作流机制进行功能扩展。

Mapgis二次开发(入门)

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的开发就是采用的此对齐方式。

利用VB进行MAPGIS二次开发建立房屋信息管理系统

利用VB进行MAPGIS二次开发建立房屋信息管理系统

文章编号:049420911(2000)1120015203中图分类号:P 208 文献标识码:B利用VB 进行M APG IS 二次开发建立房屋信息管理系统韩丽蓉,过静王君(清华大学土木系,北京100084)Use VB to Rea l ize the Custom iza tion of M APGIS for Establ ish i ng HouseI nforma tion M anagem en t SystemHAN L i 2rong ,GUO J ing 2jun摘要:介绍基于M A PG IS 平台利用VB 语言实现房屋信息管理的二次开发中的关键技术及建立房屋信息数据库时的注意问题。

关键词:地理信息系统;M A PG IS 平台;VB 语言;数据库 收稿日期:2000208215 一、前言随着城市建设规模的扩大及对城市基础信息现代化管理的需要,对各单位房屋管理部门提出了全面、高效、高质的要求。

房屋管理的日常工作要涉及大量与地理信息有关的资料,如地形图、地籍宗地图、土地使用图、房屋图、坐标等,而常规以纸张、表格对基础信息的管理方式已很不适应现代化信息管理的需要。

地理信息系统是一种专门用于管理地理空间分布数据的计算机系统,是房屋信息管理的有利工具。

而VB 语言具有进行可视化程序设计、简单易用、易与外部数据库进行链接、界面友好等优点,因而得以迅速推广。

本文所介绍的系统就是采用M A PG IS 为基础平台,VB 语言为开发工具对航空图像、房屋图进行空间及属性管理的系统,通过SQL 语言查询外部A CCESS 人事档案数据库来获得每间房屋住户及房屋结构的情况,目的是为房屋管理人员提供强有力的空间及非空间信息支持,最大限度地减少或取代以往的手工作业方式,使工作人员方便、高效、准确地处理日常工作。

二、系统功能与组成1.系统功能系统功能图见图1。

本系统主要由数据库、房屋图更新、房屋管理、图表输出几部分组成。

MAPGIS二次开发常见问题汇总

MAPGIS二次开发常见问题汇总

1、问:如何用Delphi生成MAPGIS明码文件?答:先利用手册看懂明码格式文件的格式,知道数据的组织方式,利用delphi的文件函数创建一个文本型文件,吧数据库中的数据按照格式输出就是了。

2、问:A TT_STRU 和CA TT_STRU的区别和联系?答:A TT_STRU是以前老版本的东东,换成CATT_STRU试试.CATT_STRU中包含了属性结构的详细信息,具体用法可参见二次开发帮助文档中第三章数据结构中关于属性字段描述结构,属性字段描述头和属性信息头的介绍,里面有该结构的详细内容。

3、问:请教关于“不能打开子图库...”的问题,急!答:系统库路径不对,将mapfont.gis、mconfig.gis、netcfg.gis三个文件拷贝到执行目录即可。

这几个语言件放在MAPGIS\PROGRAM\目录中。

或是运行MapEnv.exe可设置,该运行文件也同样在MAPGIS\PROGRAM\目录中。

4、问:如果只知道工作区ai 能不能依次得到工作区中的图元号,该如何得到啊!答:long i,pntn;short len;pnt_info inf;d_dot xy;char *dat;{_GetPntNum(ai,&i,&pntn);//取点数for(i=1;i《pntn;i++){if(_getpnt(ai,i,&xy,&dat,&len,&inf)<=0)//取点,返回值1/0/-1 成功/失败/删除continue;…对该图元进行操作}}i就是图元号5、问:MapGis6.5的SDK函数NearPnt,到底应该如何用啊!跟以前的不同了,给个例子吧!答:long WINAPI _NearPnt(short ai,D_DOT *xy,unsigned char *layerOnOffPad,short padLen,double *dis);ai 点工作区号*xy 点位置号---比如鼠标的位置layeronoffpad 图层开关标志,如不为空就只在打开状态的图层中查找padLen 是layerOnOffPad的长度出口dis 返回距离返回值成功返回点号,失败为06、问:如何屏蔽掉CPrjEditView中的右键功能!!!答:editview有一个PopMenuControl属性,同理CPrjEditView也可以直接使用这个属性。

GIS二次开发实验指导书

GIS二次开发实验指导书

GIS二次开发实验指导书GIS二次开发课程实验介绍地理信息系统开发主要有三种模式:独立开发:完全从底层开始,不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选择某种程序设计语言,按照软件工程的步骤完成系统的开发。

这种开发模式适于开发商品化的GIS软件平台,但其难度大、开发周期长、投资大,不适宜于一般的开发用户。

组件地理信息系统在可视化开发环境(如VB、VC++、DelPhi等)下,将GIS控件(如ESRI的MapObject、MapInfo的MapX等)嵌入用户应用程序中,实现一般GIS功能,在同一环境下利用开发语言实现专业应用功能。

该模式可缩短程序开发周期,程序易于移植、便于维护,是目前GIS开发的主流。

单纯的二次开发基于国内外先进的GIS平台,利用其提供的二次开发语言进行开发,如Arc/Info提供的AML语言、ArcView提供的Avenue、MapInfo 提供的MapBasic等,开发出具有特定应用功能的的地理信息系统。

该开发模式简单易行,有很多功能可以直接从原有的平台软件中引用过来,但其移植性差,受开发平台的影响,不能脱离原系统单独运行。

GIS二次开发实验项目根据GIS二次开发教学大纲制订,旨在通过一系列实验巩固所学内容,掌握一定软件环境下GIS二次的方法,为课程设计、毕业设计打下坚实的实践基础。

由于课程学时的限制,本课程实验只应用单纯二次开发和组件式二次开发两种开发模式。

单纯二次开发以ArcView GIS为软件环境,组件式二次开发以MapObject+VB(或VC)为开发环境。

本课程实验学时为10个学时,ArcView GIS二次开发通过三个系列实验(6个学时),完成一个功能简单的基于GIS的河南理工大学南校区校园信息查询系统。

MapObject二次开发通过两个实验(4个学时),完成一个功能简单的基于GIS的焦作市公交信息。

MapGIS常见问题之二次开发相关问题

MapGIS常见问题之二次开发相关问题

MapGIS常见问题中地数码集团平台二次开发支持部本期常见问题要紧由MapGIS开发平台C/S开发问题组成,涉及部份B/S开发问题。

1、基于MapGIS开发平台,如何通过代码实现修改线的图形参数操作,包括可变颜色、可变笔宽、线型等参数?答:可依照如下步骤实现:(1)在MapGIS软件中假设需查看线、区等要素的图形参数,需开启还原显示功能,可通过编写代码手动开启还原显示功能。

(2)在还原显示模式下,线是通过MapGIS符号库的线型来显示的,而线型符号则由几部份组成,而每一部份若采取固定颜色或固定笔宽的模式,那么无法看到修改后的线型参数。

只有在某一部份采取可变颜色或可变笔宽的情形下,对图形信息中的相关项的修改才会有成效,因此能够通过修改符号库的相关线型的颜色模式或笔宽模式来达到成效。

(3)一个线型能够通过线型号+辅助线型号来唯一确信,以COM组件式开发C#语言为例的线属性如下:mcLinInfo. libID:辅助线型号mcLinInfo. linstyID:线型号(4)基于COM组件式开发C#语言的还原显示实现代码如下:mcLinInfolineInfo = new mcLinInfo();//线信息mcGeoVarLinevarLine = new mcGeoVarLine();//折线对象//点对象mcDot dot1 = new mcDot();mcDot dot2 = new mcDot();//点对象赋值dot1.x = 50;dot1.y = 50;dot2.x = 200;dot2.y = 200;//添加到折线对象varLine.Append2D(dot1);varLine.Append2D(dot2);//设置线参数lineInfo.linstyID = 21;lineInfo.libID = 4;lineInfo.xscale = 20;lineInfo.yscale = 20;//画图IXDisplay display = this.axMapXView1.Display;//画图对象display.DispLine(ptGeom as IGeoLine, lineInfo as mcLinInfo, 6);//依照线参数显示对应的线display.DisplayOption.SymbolShow = true;//开启还原显示功能display.DispLine(varLine, lineInfo as mcLinInfo, 0);//重绘制线2、在查看地图的进程中,常要通过不同比率显示地图,如何通过代码实现依照必然的显示比率显示地图的功能?答:步骤如下:(1)用户常常将显示比率与比例尺相混淆,比例尺一样应用于地图数据打印输出时,表示图上距离与实际距离的比值。

VB与MapInfo结合进行地理信息系统(GIS)二次开发

VB与MapInfo结合进行地理信息系统(GIS)二次开发

VB与MapInfo结合进行地理信息系统(GIS)二次开发
张峰;秦庚仁;刘久艳
【期刊名称】《煤》
【年(卷),期】2004(013)005
【摘要】介绍了以VB为平台,结合MapInfo开发地理信息系统软件的三种方法:基于OLE的对象嵌入的开发、基于OLE自动化编程开发和利用MapX控件的组件式开发及其优缺点.并利用OLE自动化编程方法,进行了毕各庄煤矿生产管理信息系统的开发.
【总页数】3页(P7-8,11)
【作者】张峰;秦庚仁;刘久艳
【作者单位】河北理工大学,河北,唐山,063009;河北理工大学,河北,唐山,063009;河北理工大学,河北,唐山,063009
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.使用VB进行Pro/ENGINEER二次开发 [J], 张继春;杨建国;徐斌
2.VC中MapInfo地理信息系统的二次开发 [J], 许亮;刘涛
3.MapInfoGIS应用系统二次开发技术 [J], 吕丽英;耿云峰
4.PowerBuilder与MapInfo结合进行地理信息系统(GIS)二次开发 [J], 郑涛
5.利用VB进行MAPGIS二次开发建立房屋信息管理系统 [J], 韩丽蓉;过静珺
因版权原因,仅展示原文概要,查看原文内容请购买。

VB与MapInfo结合进行地理信息系统_GIS_二次开发

VB与MapInfo结合进行地理信息系统_GIS_二次开发
Map Info . Do“open table”&““““ &App . Pat h &” \ 图纸“ &”\ 7 煤层巷道. tab””″
…… Map Info. Do″Set Next Document Parent″& mainl. hWnd &“Style 1” Map Info. Do“map f rom 井筒 ,新巷道 ,7 煤层巷 道 ,9 煤层巷道” 该系统能够实现煤矿生产管理中各大系统信息 查询 ,图形修改和各种数据表的操作等功能 。包括 : 矿井通风系统 、排水系统 、防尘系统和避灾路线 、开 拓开采 、电器设备布置 、安全监控设备布置等的可视 化信息查询与修改操作 ;建立了生产管理系统各方 面的动态链接 ,实现数据 、表格 、图形等信息的整体 交互查询 。
[ 2 ] 王玉俊 ,彭建良. 矿井增产的基本依据和合理界限 [J ] . 中国矿业学院学报. 1988 , (4) .
[ 3 ] 朱川曲 ,罗 健 ,王卫军. 矿井采掘接替模型 [J ] . 湘潭 矿业学院学报. 1995 , (1) .
[ 4 ] 陈鸿章 ,李学忠. 采掘接替计划专家系统知识与推理 [J ] . 黄金科学技术 ,1999 , (7) .
随着科学技术的发展 ,地理信息系统 ( GIS) 的 应用日趋广泛 ,不但在资源和环境管理与规划中成 功应用 ,而且成为设施管理和工程建设的重要工具 , 同时还进入物流配送 、商业选址以及大型的企业管 理领域中 。地理信息系统二次开发成为发展趋势 。
当今地理信息软件层出不穷 ,其中美国 Map In2 fo 公司的 Map Info Professional 软件以及 Map X 控 件实现了地图与数据的完美结合 。以数据可视化的 方式 ,为决策提供了一种崭新的支持 。Map Info 软 件首次将地图信息系统介绍到普通桌面 PC 机上 , 开创了一种崭新的信息系统模式 ———桌面信息系 统 ,并取得了巨大成功 。Map Info 地理信息系统平 台作为一个图形与文字信息完美结合的软件工具 , 能将所需要的信息资料 、图像直观地与地理图形紧 密地联结起来 、提供各种常用的分析 、查询功能 ,并 将结果以图形 、表格或信息的方式显示出来 。

基于MAPGIS组件的二次开发

基于MAPGIS组件的二次开发

基于MAPGIS组件的二次开发的报告,800字MAPGIS组件二次开发报告
本报告详细阐述了一种基于MAPGIS的二次开发方案。

MAPGIS 是MAP Studio地理信息软件的核心插件,此报告主
要讨论MAPGIS组件的二次开发实施过程。

首先,需要对MAPGIS组件的功能进行详细的了解,包括接口、数据结构、算法等。

其次,建立一个良好的系统架构,将原有的MAPGIS组件与新实现的组件进行集成。

同时,应当
进行客户端测试,以确保系统功能正常。

接着,应当着手编写MAPGIS二次开发脚本和程序。

其中,
脚本应该独立出来,且应当使用已有的MAPGIS组件API,
以便能够有效地实现基于MAPGIS的二次开发目的。

编写完
成后,应当进行调试,以确保程序编写的正确性,以及确保程序的有效性。

最后,基于MAPGIS的二次开发也应当完成性能测试。

此外,应当利用可用的工具,如MAP Studio SDK,完成代码优化,
以确保可用的最佳性能。

总的来说,MAPGIS二次开发方案涉及到多个不同的环节,从了解MAPGIS组件的功能,到编写脚本以及性能测试,都是
必须进行的步骤。

在此基础上,MAPGIS可以帮助开发者更好地实现其设计目标,从而实现更好的功能要求。

课程设计基于vb和MapObjects的二次开发

课程设计基于vb和MapObjects的二次开发

课程设计报告课程名称:地理信息系统设计名称:MapObjects的二次开发院(系):*********专业班级:*********姓名:***************学号:***********指导教师:************年* 月*日一、设计目的:(1)、实习类型:课程设计;(2)、了解VB的软硬件环境、MapObjects数据类型;(3)、初步把握该软件的大体操作技术;(4)、能够熟练的操作软件,并能应用该软件简单的与MO进行开发(5)、把握产品的输出设计。

(6)、培育利用GIS方式解决实际问题的能力。

二、设计要紧仪器设备,器材,药品,软件等(1)软件预备:(2)硬件预备:PC机500M内存,128M显卡(最低)(3)资料预备:MapObjects控件、USA等SHP文件三、设计原理和内容:(1)设计题目:MapObjects的二次开发(2)具体要求:应用VB软件与MO控件进行结合,实现MO的二次开发。

(3)功能描述:✓MapObjects是能够许诺用户向应用程序中添加地图的制图软件控件集合。

✓MapObjects 能够在多种符合工业标准的开发环境下利用,比如Visual Basic,PowerBuilder,Visual C++等。

MapObjects 能够直接嵌入到这些开发环境中利用,许诺用户快捷地创建应用程序。

✓MapObjects运行于Windows XP或Windows NT 或更高版本。

✓MapObjects 包括一个ActiveX 控件(OCX) 也确实是Map控件,还包括45个ActiveX 自动对象。

可用于符合IT行业标准的Windows编程环境。

✓MapObjects要紧功能:➢显示一张包括多个图层的地图(道路,河流,边界)。

➢放大,缩小,漫游。

➢创建新的几何图形,如点,线,圆,多边形。

➢为图层添加注释。

➢识别地图上被选中的要素(点,线,面)。

➢能够通过线,矩形,多边形,圆来选择要素➢能够选取距某参照物必然距离范围内的要素。

VB环境下ADO技术在MAPGIS二次开发中的应用

VB环境下ADO技术在MAPGIS二次开发中的应用

V B环 境 下 A O技 术 在 MA G S二 次 开 发 中 的 应 用 D PI
高宏 伟 , 安慧君 , 周艳秋 , 郭艳光
( 内蒙古农业大学职业技术学院 , 包头 04 0 ) 119
摘要 : 本文阐述 了在 Vsa Bs 60语 言的环境 下 , i l ai . u c 利用 A O技 术进行 M P I 次开发 的方 法。简 单介绍 了 D A GS二 Vsa B s 6 0的语言特点, i l ai . u c 重点论 述 了A O技术 的应用并 以实例 证明。 D 关键词 : A O技术 ; i a B s ; A GS二次开发 D Vs l ai M P I u c
第3卷 1
第 4期
内 蒙 古
农 业 大
学 学 报
V0 . No 4 131 .
0c . O1 t2 0
21 0 0年 l 0月
J u n o I n r Mo g l Agi ut r l U i est o r a f n e l n oi a rc lu a n v r i y
Ab t c : T i p p rd s rb sa n i n n s a a i7 0 l n u g ,u ig AD tc n l g sr t a hs a e e c e n e vr me t n Viu B sc . a g a e sn O h o o y MAP I e o d r e e o me t i o i l e G S s c n ay d v l p n a p o c .I t d c st e ln u e fau e f s a sc . w t mp a i o h O c n l g p l ain a d tk o x n — p r a h n r u e a g a t rso u Ba i7 0, i e h s n t e AD t h oo a p c t a es me e a l o h g e Vi l h s e y i o n

二次开发

二次开发

MAPGIS 组件式二次开发重庆交通大学08级地信——王发明08260107摘要:组件式GIS是GIS与组件技术相结合的新一代地理信息系统。

作者在本文中介绍了地理信息系统和组件式GIS的基本概念,并简单介绍了组件式GIS的基本优点及MAPGIS组件开发平台的组成和功能划分。

阐述了使用MAPGIS组件进行GIS应用软件二次开发的一般方法和步骤,以及在VB中使用MAPGIS组件对象的基本步骤,并以VB为开发环境,结合MAPGIS数据管理组件、图形显示组件、图形编辑控件、属性编辑控件等,给出了一个具有图形显示、地理属性数据编辑等功能的实例程序,演示了如何使用MAPGIS组件进行GIS应用软件的二次开发。

MAPGIS微机地理信息系统是武汉中地信息工程有限公司开发的GIS基础平台软件系统,提供了多种二次开发方式。

用户可以在 MAPGIS 上进行二次开发,开发出适合自己需要的应用系统。

VISUAL BASIC 语言简单易学。

功能强大,易于实现。

作者在本文中介绍了利用 VB 语言进行 MAPGIS 组件开发的方法.关键词:二次开发、MAPGIS、GIS开发、开发语言、VISUAL BASIC引言:在对软件开发语言的选择上,通常选用 C++,VB,DELPHI等可视化编程语言。

这几种语言各有优缺点,如下表所示,其中VISUAL BASIC语言简单易学,功能强大,它具有可视化集成开发环境,面向对象程序设计思想,交互式的开发环境,高速的可扩充性,加之它继承了BASIC语言易学易用的特点,对于开发者容易掌握,对于管理软件易于实现,因此用户常选用VB语言为二次开发语言工具。

本文意在讲解如何御用VB语言进行二次开发。

GIS是计算机科学、地理学、测量学、地图学等多门学科综合的技术,但其核心是计算机科学,基本技术是数据库、地图可视化及空间分析。

可以认为GIS是在计算机软硬件支持下以采集、存贮、管理、检索、分析和描述空间物体的地理分布数据及与之相关的属性,并回答用户问题等为主要任务的技术系统。

ArcGIS与VB的联合开发

ArcGIS与VB的联合开发

1.ArcMap的定制与开发A、单击Tools—>Customizes…命令,打开定制对话框后,可以对ARCMAP 中的工具条,菜单项,进行定制,可以加载用户自定义的宏、VBA程序、DLL命令等。

B、定制VBA程序。

Tools—>Visual Basic Editor...打开编辑器:在Project(NewMap.mxd)下插入一个新的UserForm1。

并在新建的窗体中添加一个命令按钮,Caption为VB窗体示例。

双击命令按钮为其添加点击事件程序。

C、T ools—>Macros…打开宏对话框。

并新建一个名为MyMacro的宏,其中加载宏(A)中选择Project(NewMap.mxd)。

并在VBA编辑器中为该宏编写代码。

其中宏MyMacro1直接运行上面的VBA窗体D、打开Customize 对话框,选择Commands栏。

通过New UIcontrol,用户可以定制4类命令,按钮、编辑框、工具命令、组合框。

在此先创建一个NewToolbar:将刚才的宏拖到新建的工具条即可。

E、编写VB的DLL动态链接库。

上面介绍的定制方法必须在ARCMAP 环境下进行,离不开环境,且代码随文档保存,难以进行深层次开发,代码解释执行,效率差,保密性差,但相对容易些,ARCMAP已经提供了现成的对象与接口。

下面开始介绍通过DLL操作ArcObjects 定制ARCGIS命令。

这种开发模式,最好通过改写已做好的示例程序来实现,不必要自己编写所有的代码。

建议用VB 编写DLL,其他语言也可,但范例代码少。

打开VB,新建ActiveX DLL工程。

在工程菜单下打开引用对话框,为该工程添加ESRI的库文件。

其中ESRI Object library 项一定要引用。

工程中加入一VB窗体frmresources,放置一图片框,图片框内容为一个图标。

加入一类模块,该模块包含了ARCOBJECTS接口ICOMMAND。

基于VB与MapGIS SDK开发GIS应用程序

基于VB与MapGIS SDK开发GIS应用程序

基于VB与MapGIS SDK开发GIS应用程序黄太山【期刊名称】《北京测绘》【年(卷),期】2011(000)003【摘要】GIS具有数字关系严密、信息量大、可扩展性、信息获取自动化等特点,广受行业界推崇,发展迅速,广泛地应用于许多部门和领域。

本文通过介绍利用VB6.0与中地软件MapGIS SDK平台开发的一项用于二调图件编制的程序,从而引导读者在工作中对程序开发的兴趣,提高作业效率。

%GIS is of features by strict digital relationship,large amount of information,extendibility,accessing automatically to information and so on.It's widely respected and developing rapidly in the industry sector.It's widely used in a great many departments and fields.This paper describes a program for mapping the maps of the second nationwide investigation of land-use change,which is developed in the platform of VB6.0 and ZONDY CYBER's MapGIS SDK,and then leads the reader to take some interests in program development for increasing working efficiency.【总页数】3页(P44-46)【作者】黄太山【作者单位】福建省国土测绘院,福建厦门361012【正文语种】中文【中图分类】P208【相关文献】1.基于VB的MAPGIS组件式二次开发 [J], 马长发2.使用VBA编程制作MapGIS格式地球化学直方图的方法研究 [J], 王增辉;伊飞3.利用MAPGIS7.0控件开发应用程序 [J], 张勇4.基于Mapgis和Excel VBA编制乌拉特前旗第三轮矿产资源规划 [J], 盛翔;张海东;马艳军5.基于CASS5.0与MAPGIS6.5、MAPGIS6.5与MapInfo7.0之间的转换技术研究 [J], 沈陈高;胥志刚因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一步:首先建立VB开发环境。
安装MAPGIS SDK软件到MAPGIS安装路径下。
添加声明模块vbW60_Area.bas,该模块包含MAPGIS基本参数及结构定义、消息与版本定义等。添加的方法是:在VB程序中点取"Project"菜单下的"Add Module",添加vbW60_Area.bas文件,该文件在MAPGIS安装程序的Basic子目录下。
主界面上还要放置图形编辑和显示控件:EditView.ocx。首先要将该控件添加到控件面板中,方法是:在VB程序中点取"Project"菜单下的“Components”,将EditView ActiveX Control Module控件打钩,如下图所示。
然后按照VB的常规编程设计方法使用该控件,在FORM窗体上划出该控件的大小和位置。设置各个控件和菜单的属性等参数。
设置可执行文件输出目录。生成的可执行文件必须放在与MAPGIS安装目录的动态库和控件相同的目录中才能执行。设置的方法是:点取"File"菜单下的"Make *.exe..",选择MAPGIS动态连接库所在的目录,如PROGRAM。
第二步:设计功能界面。
本文中演示的基本设计功能描述如下。程序分为四个主要的菜单:文件、编辑、窗口和帮助,每个菜单有分别有相应的功能。
End Sub
'弧段转线
Private Sub ArcToLne_Click()
ev1.ArcToLine
End Sub
'清除窗口并及时更新显示
Private Sub Clear_Click()
ev1.CleanWindow
ev1.RestoreWindow
End Sub
'编辑区的属性结构
Private Sub EditRegAttStru_Click()
ev1.Height = frmmapedit.Height - 850
ev1.RestoreWindow
End Sub
'输入弧段
Private Sub InputArc_Click()
ev1.MakeArc
End Sub
'移动窗口
Private Sub Pan_Click()
ev1.MoveWindow
第三步:功能代码的实现。
本例中程序主窗体名称为frmmapedit,图形控件名称为ev1。下面是MAPGIS基本控件的属性、方法和事件的实现的程序源代码。
'定义新的区工作区
Dim regAAs New RegArea
'程序自述
Private Sub aboutme_Click()
frmAbout.Show
End Sub
'打印区文件
Private Sub FliePrint_Click()
If Not regA.Empty Then
cdg.ShowPrinter
End If
End Sub
'退出
Private Sub FlieQuit_Click()
Unload Me
End
End Sub
'存区文件
Private Sub FlieSave_Click()
利用VB和MAPGIS基本控件学做二次开发
摘要:本文介绍了利用VB进行MAPGIS二次开发的原理、方法和实现技术,为用户进行复杂的应用开发提供了技术基础。
关键词:VB,MAPGIS,二次开发
微软公司的Visual Basic是一个简单易学的可视化开发工具,MAPGIS提供了很多功能强大的图形和属性管理控件,并为二次开发提供了许多完备的功能接口。利用VB和MAPGIS基本控件可以做一些基本的开发,满足用户的一些特殊需要。本文将以区文件操作开发为例,讲解二次开发的原理、方法、要点和实现技术。
End Sub
'更新窗口
Private Sub Refresh_Click()
ev1.UpdateWindow
End Sub
'复位窗口
Private Sub Reset_Click()
ev1.RestoreWindow
End Sub
'显示弧段
Private Sub ShowArc_Click()
ev1.DspArc = Truub
'放大窗口
Private Sub ZoomIn_Click()
ev1.ZoomIn
End Sub
'缩小窗口
Private Sub ZoomOut_Click()
ev1.ZoomOut
End Sub
第四、程序运行与调试。
为了保证程序运行的正确,要注意各种类型实体的类型和属性、方法与事件,名称要简洁明了。最后程序的运行界面如下所示。该程序在Windows 2000 Server系统、Microsoft Visual Basic6.0、mapgis6.2 sdk环境下调试通过。
regA.Save
End Sub
'另存区文件
Private Sub FlieSaveAs_Click()
regA.SaveAs
End Sub
'跟随窗体容器大小调整图形窗口大小
Private Sub Form_Resize()
ev1.top = 120
ev1.left = 120
ev1.Width = frmmapedit.Width - 380
参考文献:
1.MAPGIS开发手册,武汉中地信息工程有限公司,中国地质大学出版社,2001年。
2.MAPGIS二次开发讲义(VB),武汉中地信息工程有限公司,中国地质大学出版社,2002年。
3.Visual Basic6技术内幕,详实翻译组,机械工业出版社,1999年。
ev1.UpdateWindow
End Sub
'输入区
Private Sub FillReg_Click()
ev1.MakeRegion
ev1.UpdateWindow
End Sub
'关闭区文件并及时更新显示
Private Sub FlieClose_Click()
regA.Clear
ev1.RestoreWindow
End Sub
'新建区文件
Private Sub FlieNew_Click()
regA.Save
ev1.RegArea = regA
End Sub
'打开区文件并及时显示
Private Sub FlieOpen_Click()
regA.Load
ev1.RegArea = regA
ev1.RestoreWindow
添加参照引用文件。这些文件是MAPGIS控件功能实现的外部参照。添加的方法是:在VB程序中点取"Project"菜单下的“References”,将MapGisBasCtl1 1.0 Type Library、MapGisBasCtl2 1.0 Type Library、MapGisBasCom 1.0 Type Library、MapGisBasCtl 1.0 Type Library四个参照文件打钩,如下图所示。
ev1.EditRegAttStru
End Sub
'编辑区的参数并及时更新显示
Private Sub EditRegPara_Click()
ev1.EditGiveRegion
ev1.UpdateWindow
End Sub
'图形造区
Private Sub Figure2Area_Click()
ev1.MakeGraphRegion
相关文档
最新文档