利用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。

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

  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
相关文档
最新文档