VC6.0+MapX编程总结
一、MapX的帮助 MapX的官方帮助文档是《MapX在线帮助》。 个人认为,这套文档过于简单,系统性偏差,与ArcEngine的帮助文档不可比。很多MapX的开发技巧在《MapX在线帮助》中查找不到,只能在互联网上搜索。 本文试图从一个程序员...
- 作者:GIS足迹来源:http://www.gisfoot.com/|2007年11月08日
一、 MapX 的帮助
MapX 的官方帮助文档是《 MapX 在线帮助》。
个人认为,这套文档过于简单,系统性偏差,与 ArcEngine 的帮助文档不可比。很多 MapX 的开发技巧在《 MapX 在线帮助》中查找不到,只能在互联网上搜索。
本文试图从一个程序员的视角展开,来整理一下 MapX 的开发技巧。需要强调的是, VB+MapX 模式是在《 MapX 在线帮助》中重点描述内容,本文将侧重于 VC+MapX 。
二、 MapX 的对象组织
MapInfo 作为地图编辑平台,需要解决一个核心问题: 如何组织地理世界的空间数据和属性数据,以及如何在电脑屏幕上绘制出来。 MapX 作为二次开发控件,其对象组织结构将直接体现 MapInfo 对于地理世界的理解。
在阅读本文的同时,请读者打开《
MapX
在线帮助》,定位到“
The MapX Objects
”
=
〉“
Intro - The MapX Objects
”。注意:《
MapX
在线帮助》是安装
MapX
后的帮助文档,比如我安装了
MapX4.0
,那么通过“开始”
=
〉“程序”
=
〉“
MapInfo MapX
这里是 MapX 的对象结构图( OMD ), ArcEngine 的帮助文档也有类似的图。学习二次开发,需要熟悉这张图。这样能“一览众山小”,心里有谱,知道如何下手去搜索对象。
从图中可以发现, OMD 有两条核心主线。一条是用于表达空间数据的 Layers->Layer->Feature->Parts 等对象系列;另一条是用于表达属性数据的 Datasets->Dataset->Fields->Field 等对象系列。
这两条对象系列是 MapInfo 的精华所在。其他对象诸如注记、专题、查询等对象都是在两条主线上衍生出来的支线。有能力的读者,如果想从底层写一个地图编辑平台,也可以借鉴此 OMD 来组织自己的程序数据结构。
上一篇:南京大学MapInfo讲稿