概念与术语
目前MAPGIS二次开发库主要以API函数、MFC(Microsoft Foundation Class)类库、Com组件、ActiveX 控件四种方式提供。开发库被封装在若干动态链接库(DLL)中。
API函数在使用方法上与Windows的API函数完全一样,因此是独立于开发工具的。无论您使用VC++、VB还是BC++、Dephi…,您在这些工具中如何调用Windows的API函数,您就可以怎么调用这些二次开发函数。
MAPGIS类库是为基于MFC类库的C++开发者提供的多个可重用基类,它将应用程序所需的常见基本功能作了封装,使用便利,改动灵活。开发者只需从类库派生即可使自己的程序获得从窗口显示控制到图形查询编辑的各项功能。
MAPGIS COM组件是MAPGIS新一代体系结构的表现,功能更加强大,使用更加便利。具有二次开发方便、易于集成、无限扩展等特点。支持多种开发软件,包括Visual C++、Visual Basic、Delphi、Script、InterDev、Power Builder等,开发者可以多层次的访问MAPGIS组件的数据层、功能层和界面层。
ActiveX 控件是MAPGIS完成组件化改造的成果之一,它们使得二次开发更为快捷便利,代码的可复用性更高。
上述各类开发接口提供了从最基本数据单元的读取、保存、更新和维护到MAPGIS地图库的建立和漫游,以及空间分析,图象处理等一系列功能。其中,API函数是基础,使用上最灵活,但技巧性要求也最高。所以本书大量篇幅用于介绍C++ API函数。MAPGIS将不断丰富完善各类二次开发接口,以多种开发手段满足不同层次、不同应用的需求。这些函数所
在的C++头文件表4-1所示:
|
函数库名称 |
C,C++说明文件 |
|
各类头文件集合 |
MapGis.h |
|
工作区基础函数 |
Win_area.h |
|
图形显示输出函数 |
Map_out.h |
|
窗口操作API函数 |
Win_oper.h |
|
图形显示函数 |
Mapdisp.h |
|
图形编辑函数 |
Mapedit.h |
|
拓扑操作函数 |
Gistopo.h |
|
剪贴板操作函数 |
clippaste.h |
|
数字化设备参数设置及初始化调用函数 |
W32_Dig.h |
|
图框生成函数 |
frmdll32.h |
|
投影变换函数 |
projdll.h |
|
工作区投影变换函数 |
cordcvt.h |
|
工程管理及拼版文件操作函数 |
Map_prj.h |
|
窗口操作类库 |
CGisView.h |
|
输入编辑类库 |
CGisEdit.h |
|
工程管理类库 |
CPrjEdit.h |
|
地图库读取显示函数 |
Dbs_View.h |
|
空间分析函数 |
Spc_anly.h |
|
Tin基本操作函数 |
TinBas32.h |
|
Tin工作区函数 |
Tin_area.h |
|
网络分析函数 |
Net_oper.h |
|
统计分析和统计图制作函数 |
Att_Sta.h |
|
转换函数 |
GisConv.h |
|
客户化菜单函数 |
Custom.h |
|
图像输入输出函数 |
msiio.h |
表4-1 二次开发头文件
下面介绍MAPGIS系统中经常使用的一些基本概念。
地图:是按一定的数学法则和特有的符号系统及制图综合原则将地球表面的各种自然和社会经济现象缩小表示在平面上的图形,它反映制图现象的空间分布、组合、联系及在时空方面的变化和发展。
窗口:是用户坐标系中的一个矩形区域。用户可以改变这个矩形的大小、或移动位置来选择所要观察的图形。窗口就象照相机的取景框,当我们瞄准不同的地方,就选取了不同的景物。离景物越远框内包括的景物越多而成像就小;当我们靠近它,所包括的景物越少,成像越大。利用窗口技术,我们可以有选择的考察图形的某一部分,观察图形的细致部分或全局。
视区:是设备坐标系中的矩形区域,它是图形在设备上的显示区。可视区是在一定高程和一个或多个视点内,通过计算所得到的一个或多个视点的可见区域。
图层:用户按照一定的需要或标准把某些相关的物体组合在一起,我们称之为图层。如地图中水系构成一个图层,铁路构成一个图层等。我们可以把一个图层理解为一张透明薄膜,每一层上的物体在同一张薄膜上。一张图就是由若干层薄膜叠置而成的,图形分层有利于提高检索和显示速度。
靶区:是屏幕上用来捕获被编辑物体(图形)的矩形区域,它由用户在屏幕上形成。
控制点:控制点是指已知平面位置和地表
[1] [2] [3] [4] 下一页
|