MapGIS6x-2--类库开发介绍

来源:互联网 发布:淘宝赛马机制 编辑:程序博客网 时间:2024/05/14 18:25

   MAPGIS二次开发类库是建立在MAPGIS API之上的一个类库层,用于支持基于MFC类库的面向对象的Windows程序设计。MAPGIS二次开发类库,提供了一套强有力的C++类,它屏蔽了基于MAPGIS API之上开发MAPGIS 实用程序的许多复杂性,同时仍然允许有经验的程序员使用底层的MAPGIS API功能。如何有效地使用这个类库,且看下面介绍。

1.MAPGIS二次开发类库结构图

 

(1)CView

         CGisView

                 CGisEditView

                           CPrjEditView

(2)CListView

            CListVewEx

                       CPrjListView

 

CGisView继承了Visual C++CView类,它封装了窗口管理的各种功能及操作,它管理了窗口的图形显示参数、操作状态,滚动条的位置、范围等基本窗口属性,以及放大窗口、缩小窗口、移动窗口、显示范围、显示比例、坐标转换等功能。CGisView 类还支持窗口的保护和快速恢复等功能。CGisView类是MAPGIS类库中大多数类的基类。

         CGisEditView 继承了CGisView 类。它封装了MAPGIS编辑处理的基本数据对象和方法。包括几乎所有的点、线、区的编辑功能以及图层的处理函数、矢量化函数、节点平差函数、数字化函数、最基本的文件操作功能。CGisEditView类及其基类组成了十分强大的图形编辑函数库。

        用户开发自己的软件时最好是继承CGisEditView类,这样用户可以同时使用BaseEditWindow CGisView CGisEditView类及VC++Cview类所提供的所有功能。

 CPrjEditView类继承了CGisEditView 类,它集成了对工程文件进行编辑处理所必需的数据对象的方法,具有对整个工程文件的各个文件编辑处理功能。

            CPrjListView继承了CListView 类,它是CListView的派生类,它集成了对工程文件进行控制处理所必需的数据对象的方法,具有对整个工程文件内容及各个文件状态的处理功能。

2. 类库功能对应头文件

 

函数库名称                            c,c++说明文件

工作区基础函数                        Win_area.h

矩形图框函数                             frmdll32.h

投影类库                                     projdll.h

控制点操作                                 w32_cpnt.h

状态栏显示点转换以及工作区投影函数    cordcvt.h

图形显示输出                          Map_out.h

                                                  win_out.h

工程对象操作函数以及拼版文件操作函数  Map_prj.h

编辑工程文件                          Prj_Disp.h

图例和工程文件操作函数                Project.h

图像显示函数                          Mapdisp.h

图像编辑函数                          Mapedit.h

输入编辑子系统类库                    CGisEdit.h

                                                        CPrjEdit.h

拓扑操作函数                          Gistopo.h

图元以及剪贴板操作函数                clippaste.h

UNDO 处理数据及成员函数               gistool.h

窗口操作函数                          CGisView.h

GisView对象函数                       Win_oper.h

空间分析函数                          Spc_anly.h

各种头文件                            MapGis.h