7.3.4 系统开发技术介绍
MapObjects(简称MO)是ESRI开发的提供制图与空间分析功能的组件,它可以直接插入到许多标准开发环境的工具中。MapObjects的核心是一个称为Map控件的ActiveX控件,MapObjects中还包括35个可编程(www.cppentry.com)的ActiveX对象,这些对象为应用开发人员提供了有力的制图与GIS功能支持。
通常使用MO开发具体应用时,必须同时拥有MapObjects开发环境和某种程序语言环境。这样,在开发应用时,就可在这种程序语言中嵌入使用Map控件。在应用程序中添加MO控件的方法和添加普通控件的方法类似,一旦嵌入Map控件后,就可加载地图并使用MapObjects的若干种可编程(www.cppentry.com)对象对地图实现各种查询、检索和空间分析功能。因此,通常将MapObjects称为控件只是狭义上的指代,它真正的含义包含了Map控件和多个可编程(www.cppentry.com)的ActiveX对象。因为MO是一个ActiveX控件,它可用于大量开发框架中。由于它用于开发嵌入式GIS系统,所以支持ARC/INFO层,支持ESRI的Shape文件格式、SDE(空间数据库引擎)图层及删格图像格式(如BMP、TIFF)等。此外,它还支持通过微软ODBC规范进行的外部数据库访问;提供强大的地理信息系统查询与统计功能和通过标准SQL表达式进行特征选择和查询。
MapObjects是按图层组织计算机地图的。使用MO时,一幅计算机地图加工成多个层层叠加的透明层,这些透明层被称为图层。每个图层包含了地图的某个方面,如河流层、道路层等。通常每个图层可以认为是一个数据库,但它不是普通的数据库,它包括空间地理信息和属性信息。因此创建每个图层时,都要为其建立一张对应的表,表中存储此图层对象的空间数据信息。通常MO中的图层都是矢量图层,是一种基于坐标的数据结构。每个图层中的对象都表达为X坐标和Y坐标,因此图层可以进行无限放大或缩小而不会丢失图层带有的地理信息。
MapObjects默认的图层格式为Shapefile格式,它是一种简单的、只用非拓扑关系存储空间信息和属性信息的格式。Shapefile包括同一工作区的3个不同扩展名的文件:.shp(存储地理信息)、.dbf(包含属性信息)、.shx(包含两文件的索引关系)。