MapX开发基础教程(1): MapX开发概述

1、MapX简介
MapX是MapInfo公司提供的GIS组件,通过对MapX的编程可以实现大多数MapInfo Professional的功能。
MapX为开发人员提供了一个快速、易用、功能强大的地图化组件。在VC++、VB、Delphi等可视化开发环境中,只需将 MapX组件引入程序结合简单的程序设计,对其进行属性、方法调用或相应事件的设置,就能实现地图数据显示、地理查询、地理空间分析、专题地图制作与输出等各种地理信息系统功能。
2、基于组件开发GIS应用程序的体系结构
客户(用户界面)---GIS组件---数据
第一层:提供应用的界面,根据用户的操作来调用相应的应用逻辑。在开发中,调用MapX的属性和方法对数字地图进行管理,这一层也是开发的重点。
第二层:主要实现业务逻辑。这一层的主要功能都封装在组件中。这些组件通过接口的形式把它所封装的功能提供给开发者。
第三层:数据层,主要以文件或数据库的形式为应用程序提供数据支持。在GIS应用的开发中,主要有两类:一类是地图数据;另一类是专题数据,这主要取决于GIS应用。
三层软件体系结构是典型的客户/服务器体系结构的应用程序。其优点:应用程序体积小、易于维护和安装、开发周期短而且效率高。
3、数据准备
在MapX组件中所管理的数据就是MapInfo的数据。
工作空间---图层---图元---点\线\面\文本
Geoset Manager
Geoset Manager是MapX一个重要的应用程序,其功能在于为MapX提供数据来源。
通过该程序将开发中要使用的图层路径及相关的设置保存为一个文本格式的文件(*.gst)。
例子:西安市公交查询系统gst文件的建立

4、MapX的内部结构

MapX封装了对地图数据的定义、组织、管理和操作,它的内部有严格的层次结构。
Map 属性、方法
Layers 属性、方法
Layer 属性、方法
Features 属性、方法
Feature 属性、方法
(1)地图对象
地图对象代表一个完整的数字地图,它的属性就是整个地图的属性。
Geoset属性:设置地图对象所用的数据。
设置方式:
A 通过属性页或者属性对话框
B 通过程序代码进行设置
Map1.Geoset = "d:\xa.gst"
(2)图层集合
地图实际上是由许多独立的图层组成的集合,这个集合在MapX中由Layers对象来管理。
?怎样访问图层集合对象呢?
A 声明一个Layers类的变量(指针)
B 给其赋值为地图对象的图层集合属性。
例子:
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count
(3)图层
具有相同主题内容地理特征(或对象)存放于一个图层。在MapX中有Layer对象管理。
?怎样访问图层对象呢?
A 声明一个Layer类的变量(指针)
B 给其赋值为地图对象的图层集合对象的某一项。
Gets a specific Layer object from the collection. Item takes either an index (Integer value starting at 1), or a layer name, to specify which Layer object to get.
例子:
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count

Dim lyr As Layer
Set lyr = lyrs.Item(1)
MsgBox lyr.Name
(4)特征集合
图层中的所有地理特征(或对象)的集合。在MapX中有Features对象管理。
怎样访问特征集合对象呢?
A 声明一个Features类的变量(指针)
B 给其赋值为某一图层对象的AllFeatures属性。
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count

Dim lyr As Layer
Set lyr = lyrs.Item(1)
MsgBox lyr.Name

Dim fss As Features
Set fss = lyr.AllFeatures
MsgBox fss.Count
(4)特征
图层中的一个地理对象对应于一个特征。在MapX中有Feature对象管理。
怎样访问特征对象呢?
A 声明一个Feature类的变量(指针)
B 给其赋值为某一图层的特征集合的某一项。
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count

Dim lyr As Layer
Set lyr = lyrs.Item(1)
MsgBox lyr.Name

Dim fss As Features
Set fss = lyr.AllFeatures
MsgBox fss.Count

Dim fs As Feature
Set fs = fss.Item(1)
MsgBox fs.Name

原创文章,转载请注明: 转载自MapInfo中文网

本文链接地址: MapX开发概述:MapX开发基础教程(1)

文章的脚注信息由WordPress的wp-posturl插件自动生成

作者:
该日志由 admin 于2012年03月13日发表在未分类分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。 | +复制链接
转载请注明: MapX开发概述:MapX开发基础教程(1)
关键字:
【上一篇】
【下一篇】

您可能感兴趣的文章:

发表评论

[请申请gravatar头像,木有头像的评论可能不会被回复|头像相关帮助]

插入图片