0
点赞
收藏
分享

微信扫一扫

基于GIS的北京市信息服务系统(2)——技术探讨


  系统开发方法及软件介绍

        1.地理信息系统开发方法



        2.MO简介
        MapObjects (简称MO)是由美国环境系统研究所( ESRI) 于1996 年秋研制成功的,基于COM (Component Object Model ,组件式对像模型) 技术的地理信息系统控件。MapObjects是一种提供制图与空间分析功能的组件,它可以直接插入到许多标准开发环境的工具中。准确的说,MapObjects是组件而非控件,它的核心才是一个称为Map控件的ActiveX控件。通常将MapObjects称为控件只是狭义上的指代,它真正的含义包含了Map控件和多个可编程的ActiveX对像。        (1) MapObjects 的数据结构
        空间数据结构是GIS 的基石, GIS 通过地理空间拓扑结构建立地理图形的空间数据模型并定义各空间数据的关系, 从而实现地理图形和数据库的结合。MapObjects把地图分成多个图层,图层数据可以是GIS矢量图层,也可以是CAD图层,甚至影像数据。对于GIS和CAD的矢量图层,其内部统一用记录集来表达,记录集与关系数据库中的二维表一样, 行表示要素,列表示属性。如果含有名称为“Shape”的列, 则该记录集表示的是地图要素,否则表示的是普通的数据库表格。这样, 在数据结构内部就消除了GIS和MIS 数据之间的差异。
        一个Shape字段中MapObjects的注记描述为属性字段的自动标注。标注的位置由Shape字段中的图形要素决定,它可以是点、线或面。标注的内容由普通属性表示, 既可以是字符型,也可以是整型或浮点型, 通常是字符型。这样,一切要素既可以按图形表示,也可以按其属性内容标注显示, 甚至可以两者同时显示,地图显示和制图的方式极为灵活。 如图1所示。        (2)MapObjects支持的数据及数据显示机制
        MapObjects支持的矢量数据为Shapfile格式, 是一种简单的、用非拓扑关系形式存储几何位置和地理特征的属性信息的格式, 数据用5个不同扩展名的文件来表示: (1)shp:存储几何特征;(2)shx:存储几何特征的索引;(3)dbf:数据库文件,存储几何特征的属性信息;(4)sbn和sbx:存储几何特征和空间数据索引;(5)sin和sih:存储数据库中ArcView GIS中专题的属性表中被激活字段的索引。 MapObjects 也支持其他数据格式,如bmp、tif、sun、ras、gis、lan、rlc、bil、bip、bsq 等。MapObjects 显示的基本单位是图层(Layer),包括矢量图层、栅格图层(Image)、符号图层(Symbol)和标注图层(Label Render)。各图层的比例尺由图层的投影来确定。通过控制显示区域的中心位置、鼠标确定的矩形大小、比例尺来控制显示区域内的内容, 通过图层绘制前后的事件代码来控制所显示的特征、符号和标注,通过绑定的数据库进行空间要素各种查询和数据库数据的可视化,如图2所示。        3.利用MapObjects开发GIS应用的方法        本系统采用的是组件式GIS开发工具,除了比较适合各种应用的需要外,这种开发方式只需要将MapObjects控件嵌入某种面向对象可视化编程语言即可开发。也就是前面讲的方法③。用MO开发的GIS系统,具有以下功能和特点:显示具有多图层的地图;放大、缩小和漫游地图;显示标注字符;通过点击识别图上特征;选择沿线的特征和矩形、区域、多边形和圆的特征;选择在已知特征附近规定距离内的特征;使用SQL语句选择特征;对选择的特征进行基本的统计、查询和更新选择特征的属性数据(Shape格式)。        (1)利用MO开发GIS系统的一般过程
        基于MO开发GIS系统的基本步骤:
        ① 选择数据模型,创建数据库。地理信息系统中的数据库有存储地理数据(空间数据)和非地理数据(属性数据)两种。空间数据库的创建方法有多种,其中主要的一种是将非数字版的地图转换成计算机可以识别的电子形式,称为数字化。由于MapObjects支持特定的空间数据格式,如shape, DE, rc/Info,Coverage等,所以通常都会用一些工具将其他的格式(如AutoCAD,MapInfo等)转换为MO支持的格式,创建特定格式(一般是Shape格式)的空间数据库。属性数据库则通常会通过空间实体的识别符来与空间数据库相关联。MO可以支持对多种常用数据库的访问,包括Access,DB,Informix,Oracle,Microsoft SQL Server,Sybase及其他通过ODBC连接的数据库。
        ② 加载和显示地图。由于一个Shape文件只包含一个图层,因此一副地图上的所有对象会分解为多个图层进行存储。要显示整副地图,就应该将地图包含的全部图层添加到Map控件中。在程序运行时,也可单独显示某层或在地图上添加,删除特定的图层,改变图层的属性。
        ③ 增加、删除和更改地理信息。MapObjects中的地理对象通常用点(如景点、银行)、线(如铁路)和面(如绿地)表示,并提供这些标准地理实体对象(点、线、面)的类型定义。利用MO的各种选择、访问、定位功能,可以向构成地图的各个点、线、面层中添加和删除实体,或更改实体的属性。
        ④ 实现各种查询和分析功能。GIS最常见的特点是能完成空间数据的查询与统计,MO对此也提供了一定的支持手段。基于MO开发的GIS中的查询主要有三种:a.使用SearchByDistance按相应位置的范围搜索;b.使用SearchExpression按逻辑查询,即按SQL语句的条件从句查询;c.使用SearchShape根据某个图形特征查询其他的图形特征。作者:宋烺来源:智能交通网(​​www.21its.com​​)     

        地理信息系统的开发主要有三种方法:① 自主设计空间数据的数据结构和数据库,利用VC、VB、Delphi等高级编程语言开发地理信息系统软件。② 引进国外的先进的地理信息系统软件(如ARC/INFO),利用其提供的二次开发工具,结合自己的应用目标开发。③ 利用支持面向对象技术的高级语言和GIS厂商提供的控件构成面向最终用户的可执行应用程序,称为嵌入式GIS。其中,法①要求具备雄厚的科研力量和巨额的开发费用,并且必须随着研究的不断深入而不断更新系统,主要适用于开发商品化的地理信息系统平台软件。法②比较简便易行,主要缺点是移植性差,并且受开发工具的限制,不能脱离原系统软件环境而独立运行。法③特点是开发周期短,成本低,可以脱离大型商业GIS软件平台独立运行,为不熟悉GIS技术的团体和个人提供使用上的便利,是未来GIS开发的重要方向。


举报

相关推荐

0 条评论