3.3 Map X简介
随着地理信息系统的发展,国内外已出现了不少GIS软件,如Map Info公司的ActiveX控件产品(Map X)。由于它是一种基于 Windows操作系统的标准控件,因而Map X支持绝大多数标准的可视化开发环境,如Visual Basic、Delphi、Visual C++等面向对象语言,而且可以使用将Map X嵌入到Visual Basic。
Map X是MapInfo公司推出的一个用来将电子地图的直观内容展现给用户的控件,它能够将数据用地图的形式显示出来,能够集成到多种可视化高级编程语言中进行功能的开发,可以用来制作专题地图,使人们对数据的理解更加直观、更易于理解,而且能够提供丰富的信息。本章主要对Map X的功能进行详细介绍,以及如何应用它作为平台来建立水资源地理信息系统。编程人员在开发过程中可以选用自己最熟悉的开发语言,轻松地将地图功能嵌入到应用中,并且可以脱离MapInfo的软件平台运行。利用Map X,能够简单快速地在企业应用中嵌入地图化功能,增强企业应用的空间分析能力。Map X采用基于MapInfo Professional的相同的地图化技术,可以实现MapInfo Professional具有的绝大部分地图编辑和空间分析功能。而且,Map X提供了各种工具、属性和方法,实现这些功能是非常容易的。
3.3.1 Map X的空间数据结构
空间数据结构是GIS的基石,GIS就是通过这种地理空间拓扑结构建立地理图形的空间数据模型定义各空间数据之间的关系,从而实现地理图形和数据库的结合。
从横向分析,Map X采取的空间数据结构是基于空间实体和空间索引相结合的一种结构。空间实体是地理图形的抽象模型,主要包括点、线、面三种类型。任何点、线、面实体都可以用直角坐标点(x,y)来表示。点可以表示成一组坐标(x,y),对于线和面,则均被表示成多组坐标(x1,y1;x2,y2;…;xn,yn)。空间索引是查询空间实体的一种机制,通过空间索引,就能够以尽量快的速度查询到给定坐标范围内的空间实体及其所对应的数据。
从纵向分析,Map X的空间数据结构是一种分层存放的结构用户可以通过图形分层技术,根据自己的需求或一定的标准对各种空间实体进行分层组合,将一张地图分成不同图层。采用这种分层存放的结构,可以提高图形的搜索速度,便于各种不同数据的灵活调用、更新和管理。
3.3.2 Map X的显著特征
1.专题地图
将数据库表中的特定值赋给地图对象的颜色、图案或符号从而创建范围值、等级符号、点密度、独立值、直方图和饼图6种方式的专题地图。
2.可深入的地图
通过简单地点击方式可浏览与地图对象相链接的数据信息。
3.资料绑定
地图可通过嵌入GCX的容器与数据库相连,并提供了几种不同的数据绑定方式,这样的好处就在于扩大了属性数据的来源。可以为一个Layer的空间对象绑定多个数据库表。而且用主流关系型数据库软件(如SQL Server)来管理属性数据比一个单纯tab档安全可靠得多。
4.注解
可提供方向、加亮显示特殊数据,还可加入文本、符号、表格使地图信息更加丰富直观。
5.图层
显示和控制图层的缩放、使用或创建无缝地图、还可支持一些特殊的应用,比如用于实时跟踪的活动图层和可绘制特殊图形的用户自定义图层(如logo图案)。
6.栅格图像
采用栅格图像作为地图的基础图层可使其他图层有一个更细致的背景。
7.自动标记
自动在地图上加入标记,同时标记属性和显示。
8.选择
可在地图上拖动鼠标以在圆、矩形或特定的点上选择一个或多个对象或记录以供分析。
9.对象库
可以使用FeatureFactory对象,创建、连接或删除点、线、区域图形对象。
10.工具
使用Map X的标准工具或根据需要自己创建的自定义工具,用户可通过点击或拖拽对地图直接进行操作。
11.地图编辑
允许用户添加、修改、删除地图上的文本、编辑区域、点等特殊对象。
12.投影与坐标系
Map X允许用户调整地图的显示、用本地坐标系处理X-Y坐标数据。
13.远程空间数据服务器
可以访问存储在Oracle和MapInfo Spatial Ware中的远程地图数据。空间资料服务器如Spatial Ware和Oracle 8i等都提供了先进的查询处理能力,提高了空间数据组织的性能。将空间数据存储到关系型数据库中,可以增加应用程序的灵活性,同时也要求在地图编辑和大数据集方面做更多的工作。
3.3.3 Map X的对象体系结构
从Map X中地图的组织形式来说,Map X按照图层(Layer)来组织地图。一般来说,一个图层描述了地理空间上的一类地理元素,如河流、山川等。图层以像素(Feature)作为手段来表达地理空间实体。像素的类型可以分为点、线、面(区域)、文本对象四种。通过多个表达不同地理要素的图层叠加,可构成整个或部分地图。一幅完整的电子地图一般由一到多个图层组成,这些图层的集合被称为Layers。每个Layers的图层属性信息,诸如图层顺序、坐标系、图层状态等,都有一个与之对应的地理集(Geoset)对象负责这些信息的管理和存储。若计算机系统中存在多个地图,则会有多个Geoset对象,这些Geoset对象构成了Geosets集合对象。通过Geosets可检索、存取系统中的多个电子地图。
按照Map X中空间数据的存储形式来说,空间数据在内存中是以像素集合(Features)和数据集合(DataSets)对象的形式存在。像素(Feature)对象中存储了像素的类型、坐标(http://www.mapinfo.com.cn;齐锐,2003;龚沛曾,陆慰民,杨志强,2000)。