地图控件MapInfo-MapX研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:zhulong22
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:论文介绍了目前国内广泛应用的GIS软件开发平台MapInfo系列产品中的MapX组件,针对这一组件的数据结构、模型结构等方面做了深入研究。
  关键词:组件式GIS;MapInfo;MapX
  中图分类号:TN929.5文献标识码:B文章编号:1009-3044(2008)33-1492-02
  Research on MapInfo-MapX
  DU Wei
  (Shengli Oilfield Geological Institute of Science and Technology, DongYing 207015, China)
  Abstract: First of all, the thesis introduces the MapX components, which is one of MapInfo products series-popular GIS platform at present. Then it makes a deep research on MapX′s data structure, model structure and so on.
  Key words: ComGIS;MapInfo;MapX
  1 MapX概述
  MapX是一个基于ActiveX技术的可编程控件,也是MapInfo公司的得意之作,它使用了与MapInfo Professional一致的地图数据格式,而且还在这个远远小于MapInfo的控件中实现了MapInfo的大多数功能。MapX的内部提供了四十多个面向Microsoft基础类的OLE控件,这就使得应用程序员可以使用任何支持ActiveX的程序开发环境,如VC 等,来采用嵌入MapX控件的方式,方便快捷地开发GIS应用程序。
  MapInfo用工作空间(Workspace)、图层(layer)、地物类等概念组织数据,MapX则利用自动化对象将这些概念封装起来,相应地提供了DataSet对象、Layer对象、Feature对象等,并且考虑到数据组织中大量出现集合类型的引用的情况,对这些对象的集合也进行了封装。与MapInfo Professional相比,MapX可以实现95%以上的MapInfo Professional的功能,但在图形编辑编程上的开发周期可能是MapInfo Professional的3倍以上,但对于查询和空间分析以及其它简单的图形编辑功能、地图注记功能MapX在使用时是很方便的,具有系统开销小、开发周期短、方便快捷等优点,很适合于各种中小型GIS, MIS软件的开发。随着COM, DCOM技术的成熟,MapX的功能将会更加完善,应用前景将会更加广阔。
  使用MapX,可以完全拥有向应用程序添加强大的地图绘制功能的能力。可以将数据显示为点、按主题遮蔽的区域、饼图或条形图等。通过在特定的半径、矩形或特定点内组合和组织数据、执行搜索或选择地图图元,可以充分发挥MapX的分析功能。
  下面我们就来从空间数据结构,组件模型结构等方面详细的分析一下MapX。
  2 MapX的空间数据结构
  空间数据结构,是GIS的基石,GIS就是通过这种地理空间拓扑结构建立地理图形的空间数据模型并定义各空间数据之间的关系,从而实现地理图形和数据库的结合。
  从横向分析,MapX采取的空间数据结构是基于空间实体和空间索引相结合的一种结构。空间实体是地理图形的抽象模型,主要包括点、线、面三种类型。任何点、线、面实体都可以用直角坐标点x、y来表示。点可以表示成一组坐标(x,y),对于线和面,则均被表示成多组坐标(xl,y1;x2,y2;xn,yn)。空间索引是查询空间实体的一种机制,通过空间索引,就能够以尽量快的速度查询到给定坐标范围内的空间实体及其所对应的数据。
  从纵向分析,MapX的空间数据结构是一种分层存放的结构。用户可以通过图形分层技术,根据自己的需求或一定的标准对各种空间实体进行分层组合,将一张地图分成不同图层。采用这种分层存放的结构,可以提高图形的搜索速度,便于各种不同数据的灵活调用、更新和管理。
  3 MapX的组件模型结构
  MapX组件的基本组成单元是Object(单个对象)和Collection(集合)。其中集合包括对象,是多个对象的组合。每种对象和集合负责处理地图某一方面的功能。
  位于顶层的是Map对象本身,其它均由Map对象继承。Layers, DataSets, Annotations是Map对象下面的三个重要的分支。其中Layer主要用于操作地图的图层,DataSet用于访问空间数据表,Annotation用于在地图上增加文本或者符号。
  4 MapX的显著特点
  1)专题地图
  将数据库表中的特定值赋给地图对象的颜色、图案或符号从而创建不同的专题地图;可创建范围值、等级符号、点密度、独立值、直方图和饼图6种方式的专题地图;
  2)可深入的地图
  通过简单的点击方式可浏览与地图对象相连的数据信息;
  3)数据绑定
  地图可通过嵌入OCX的容器与数据库相连,并提供了几种不同的数据绑定方式包括ZIP Code-level地理编码法;
  4)注解
  可提供方向、加亮显示特殊数据,还可加入文本、符号、表格使地图信息更加丰富直观;
  5)图层
  显示和控制图层的缩放、使用或创建无缝地图、还可支持一些特殊的应用,比如用于实时跟踪的活动图层和可绘制特殊图形的用户自定义图层(如logo图案);
  6)栅格图像
  采用栅格图像作为地图的基础图层可使其它图层有一个更细致的背景;
  7)自动标记
  自动在地图上加入标记,同时标记属性和显示;
  8)选择可在地图上拖动鼠标以在圆、矩形或特定的点上选择一个或多个对象或记录以供分析;
  9)对象库
  可以使用FeatureFactory对象,创建、联接或删除点、线、区域图形对象;
  10)工具
  使用MapX的标准工具或根据需要自己创建的自定义工具,用户可通过点击或拖拽对地图直接进行操作;
  11)地图编辑
  允许用户添加、修改、删除地图上的文本、编辑区域、点等特殊对象;
  12)投影与坐标系
  MapX允许用户调整地图的显示、用本地坐标系处理X-Y坐标数据;
  13)远程空间数据服务器
  可以访问存储在Oracle和MapInfo SpatialWare中的远程地图数据。空间数据服务器如SpatialWare和Oracle等都提供了先进的查询处理能力,提高了空间数据组织的性能。将空间数据存储到关系型数据库中,可以增加应用程序的灵活性,同时也要求在地图编辑和大数据集方面做更多的工作。
  5 MapX的基本属性
  1)Map
  每个Map对象主要包括Datasets, Layers, Annotations三个对象集合。Map对象有一些主要的属性,如Zoom用来设置放大级别(在地图上显示的大小),Rotation控制地图的旋转角度,CenterX和CenterY用于设置x和Y的坐标系,这要取决于地图的投影。
  Map对象的许多属性本身又是一个对象,比如说一幅地图由多个图层组成,则在一个Map对象中存在一个单独的layers集合,其中包含所有图层的信息。
  2)Layers
  在MapX中,每张单独的地图都被表示成单独的一个图层,所有的图层存储在layers集合中。Layers集合由Layer对象组成,按顺序编号为。到no Layer对象由features对象组成,features对象又是由Feature对象组成,对应于地图中的点、线、区域或符号。
  最上面一层为Layers(1), Layers(2)位于Layers(1)的下面,以次类推。最下面的图层最先绘制,最上面的图层最后绘制。在应用程序中,合理地安排好每层在Layers中的顺序是至关重要的。比如说有两个图层,一层为点,一层为区域,则应将点层放到区域层的上方,否则区域会将点覆盖。
  另外,在进行地图选择操作时,根据要求调整图层的顺序也是十分重要的。MapX中的选择工具总是从可选择图层中的最上层开始选择,如果在地图上的同一位置存在多个位于不同层的地图对象,其结果是很难精确地选择到目标对象。因此,最好将被选择图层提到最上层显示。
  3)GeoSets
  GeoSet是在GeoManager中建立好的.GST文件,类似MapInfo中的Workspace概念,是图层及其设置的集合,控制程序中显示的地图。也可以在运行阶段设置GeoSet,此时将导致已经加载的所有图层和DataSet被删除而由GeoSet中定义的图层所代替。如果单纯地想删除所有图层,只需给GeoSet赋一个空字符串即可。
  可以使用GeoSet Manager程序来管理GeoSet文件(*.GST)。默认情况下.GST文件存储在...\\mapx\maps目录下,可以调用GeoDictionary Manager程序进行修改,指向用户程序数据所在的位置。
  4)Datasets
  Datasets用于实现地图与数据的绑定。举例说明,有一个关于城市销售情况的MS Access数据库和一张该城市的地图,则可以将二者绑定,在地图上形象地显示出各城市销售业绩的趋势,这一点是表格数据无法做到的。建立地图信息与属性数据之间联系的过程称之为自动绑定或自动匹配(autobinding / automatching)。要实现这一过程,必须首先将地图在GeoDictionary中注册。
  5)Annotations
  Annotations集合提供了操纵地图中文字和符号的简单方法。Annotations位于所有其它图层的上方并且不与任何数据连接,有点儿象MapInfo中的透明图层。
  Annotations包括以下主要的属性与方法:AddSymbol在Annotations中增加符号,符号类型使用Map.DefaultStyle定义;AddText在Annotations中增加文本;Remove删除特定的标注.;Type取值为miSymbolAnnotation或miTextAnnotation。
  Annotations还有一个非常重要的属性Graphic,其定义为Graphic对象,在该对象中包含了符号或文本的样式、位置等信息,即Graphic的Caption、 Position、Style、X、Y属性。如Annotations的Type属性定义为miTextAnnotation,则可以定义Graphic的Caption属性设置标注的字符串。
  6)可创建对象
  在MapX对象模型中,以下对象是可以被创建的:AffineTransform,BindLayer,BitmapSymbols,CoordSys,Datum,Feature,Fields,LayerInfo,Map等等。
  
  参考文献:
  [1] 卢廷军,黄明.基于MapInfo环境下GIS的开发研究[J].黑龙江工程学院学报,2003,17(3):27-28.
  [2] 齐锐,曲韶琳.用MapX开发地理信息系统[M].北京:清华大学出版社,2003:37-39.
  [3] Tony NY,MapX Developer’s Guide, MapInfo Corporation.
其他文献
统编小学语文教材古诗词编排较之以往最大的特色是从一年级下册开始围绕一个教学主题把两篇或多篇有关联性的文本整合组篇呈现,从贴近儿童生活、富有童趣的题材逐渐向描摹自然、抒写大好河山、寻找传统文化等主题过渡。这种“整合”编排绝不是简单的拼凑与组合,而是一种统整理念的观照。单元人文主题、语文要素以及课后习题的编排都明确指出古诗词教学不仅要重视语言积累、语感培养,更要重视学生鉴赏古诗词方法的指导和思维力的培
我的书桌上有一盏乳白色的小台灯,那是我刚上学时爸爸给我买的。下午放學回家,我第一件事就是走到书桌前,打开我的小台灯。它会发出柔和明亮的光,我坐在台灯下聚精会神地写作业。这一年里,我从一个拼音字母都写得歪七扭八,到现在能写出一页页工整的书法字,还背会了很多首古诗词。它像一个忠实的小伙伴,分享着我一天天的成长和进步。  今天晚上写完作业,我伸手摸了一下小台灯,呀!好烫!我心疼地对小台灯说:“谢谢你每天
我有一个好伙伴,我很喜欢她,她很善于观察动物,她的名字叫小火。  她很漂亮,有着一头长长黑黑的头发。有趣的是,她长着一对大大的像蒲扇似的耳朵。她超级爱笑,笑的时候嘴角旁边还有兩个小酒窝,很可爱!  她十分热爱小动物,大家都称她为“动物专家”。小火家有关动物的书籍已经可以堆成一座小山了。记得有一次春游的时候,小火站在路旁的一棵小树边,大喊道:“快来看,这里有一些蚕!”同学们都赶紧围了过来,有人问:“
射洪县积极推动陈子昂文化的传承与发展,不仅使陈子昂文化成为了促进射洪经济社会发展的一个文化品牌,使射洪建成了中国“诗画之乡”“全国文化先进县”,更形成了新时代以陈子昂文化为根基的敢于创新、敢为人先和“团结、实干、开拓、奉献”的“射洪精神”,成为推动射洪发展的强劲能量之一。  中华传统文化博大精深。在我们以老子、孔子为代表的道、儒文化为主体,中华传统文化的传承和弘扬的主流中,如何传承具有地方性、区域
2020庚子新春!历史必将记住。  新中国成立以来,传播速度最快、感染范围最广、防控难度最大的一次重大突发公共卫生事件在我国爆.发。新型冠状病毒肺炎突然来袭,中华大地一夜之间进入非常时期。本是举国同庆、亿人迁徙的春节因此踩下急刹,本为世界第二、百业兴旺的中国济因此按下暂停,在决胜全面建成小康社会的当头,一场疫情防控的人民战争、总体战、阻击战漫卷全国。  这是一次危机,也是一次大考。从中央到地方,从
摘要:随着校园网络应用需求的深入,传统的BBS论坛、博客及门户已经不能够满足当前的需求,如何挖掘网络的应用价值?该文结合web 2.0理念,探讨MCS知识社区的功能和建设,并就发展进行了分析。  关键词:校园网;MCS知识社区;Web2.0;构建  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)29-0442-02  Based on the Campus Netwo
《外来文明的印记:中国 ·嘉定往事》:谨以此书,敬献给那些为推动人类文明进步、发展做出不懈努力和卓著贡献的人们!  很多年以前,我在對峨眉山佛教历史文化进行调查时,就零星听到过有关新开寺的传说,称清末民国时期有许多西方人士来此。我暗暗吃惊,一座佛教名山,为什么会有信奉基督教的西方人在此居住?查阅《峨眉山志》,仅有寥寥几字:“昔为西人避暑地”。  经过四方打听,也只从一个老者口中得知,位于新开寺的几