『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯
首页 -> 3S基础知识 -> MapInfo-> 正文

VC6.0+MapX的编程总结

VC6.0+MapX的编程总结
MapX的官方帮助文档是《MapX在线帮助》。个人认为,这套文档过于简单,系统性偏差,与ArcEngine的帮助文档不可比。很多MapX的开发技巧在《MapX在线帮助》中查找不到,只能在互联网上搜索。

       一、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 4.0”可以打开《MapX在线帮助》。

这里是MapX的对象结构图(OMD),ArcEngine的帮助文档也有类似的图。学习二次开发,需要熟悉这张图。这样能“一览众山小”,心里有谱,知道如何下手去搜索对象。

       从图中可以发现,OMD有两条核心主线。一条是用于表达空间数据的Layers->Layer->Feature->Parts等对象系列;另一条是用于表达属性数据的Datasets->Dataset->Fields->Field等对象系列。

 

       这两条对象系列是MapInfo的精华所在。其他对象诸如注记、专题、查询等对象都是在两条主线上衍生出来的支线。有能力的读者,如果想从底层写一个地图编辑平台,也可以借鉴此OMD来组织自己的程序数据结构。

      京ICP备08100627号-22 京公网安备 11010802030428号