地理信息系统概述(二)

4 系统开发方式

4.1  独立开发

独立开发是指不依赖于任何GIS工具软件,利用专业程序设计语言开发应用模型,直接访问GIS软件的内部数据结构。从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++、Visual Basic、Delphi、Java、C#等,在一定的操作系统平台上编程实现。这种开发方式适用于开发商品化的GIS软件平台,好处在于无须依赖任何商业GIS工具软件,独立性强,降低了开发成本。用这种开发方式建立的系统,其各组成部分之间的联系最为紧密、综合程度和操作效率最高。但对于大多数开发者来说,开发难度大、开发周期长、投资大,同时开发出来的系统的功能与稳定性往往比现有的成熟GIS系统的功能和稳定性差,很难与商业化GIS工具软件相比,而且开发过程中的花费可能会远大于购买GIS工具软件所需的费用,因此并不适用于一般的GIS开发用户。在GIS应用发展的初期,由于GIS工具平台功能尚不完善,GIS应用开发多选择这种方式。

4.2  二次开发

4.2.1 宿主开发

随着GIS工具平台的不断完善,一些GIS软件提供了可供用户进行二次开发的宏语言和专用开发语言。目前市场上GIS工具软件大多提供了可供用户进行二次开发的语言,如Arc/Info提供了AML语言、ArcView提供了Avenue语言,MapInfo的MapInfo Professional提供了MapBasic语言等。

宿主开发完全借助于GIS工具软件提供的宏语言和专用开发语言进行应用系统开发,以原GIS工具软件为开发平台,开发出针对不同应用对象的应用程序。

宿主开发方式简单易行,开发周期短,系统的稳定性和可靠性高,许多功能可以直接从原有的平台软件中引用过来,因而这种开发方式目前采用较多。但这种开发方式也有较多的缺点:移植性差;受开发平台的影响,不能脱离原有系统单独运行;受系统提供的开发语言的功能限制,二次开发的宏语言作为编程语言只能算是二流,功能一般较弱。GIS所提供的二次开发语言往往不能与专业程序设计语言相比,难以开发复杂的应用模型,用它们开发出来的系统结构松散,系统显得有些臃肿,功能和效率也较差。总之,用二次开发语言来开发应用程序仍然不尽如人意。

4.2.2  集成开发

集成开发是指利用专业的GIS工具软件,如Arc/Info、MapInfo Professional、ArcView等,实现GIS的基本功能,以通用软件开发工具尤其是可视化开发工具,如Visual C++、Visual Basic、Delphi、PowerBuilder等为开发平台,采用OLE/DDE或GIS控件两种方式,通过ADO与数据库系统连接,进行二者的集成开发。
(1)OLE/DDE方式

采用OLE Automation技术或利用DDE技术,用软件开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方式启动GIS工具软件在后台执行,利用回调技术动态获取其返回信息,实现应用程序中的地理信息处理功能。
(2)GIS组件方式

组件(或称控件)是指那些具有某些特定功能,独立于应用程序,但能够容易地组装起来,以高效地创建应用程序的可重用软件“零件”。组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,它们分别实现不同的功能(包括GIS功能和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。

利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS组件,在某种可视化编程工具如Visual C++、Visual Basic、Delphi、.NET上实现GIS的基本功能,直接将GIS功能嵌入其中,实现GIS的各种功能。由于GIS组件往往以ActiveX控件的方式提供,因此可以很简单地被通用的开发工具使用,在此基础上实现GIS应用系统的功能。这种建立在OCX技术基础上的GIS控件又称为组件式GIS。

GIS组件的代表作首推Mapobject和MapX等,其中Mapobject由全球最大的GIS厂商ESRI(美国环境研究所)推出,MapX由著名的桌面GIS厂商美国MapInfo公司推出。国内也涌现出一些优秀的组件,如中地公司的MapGIS组件和超图公司的GIS组件。利用MapGIS组件进行GIS应用系统的开发可以实现高效、无缝的系统集成。

由于独立开发难度大,宿主开发受GIS工具提供的编程语言的限制而差强人意,因此,结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。它的优点是:既可以充分利用GIS工具软件对空间数据库的管理、分析功能,又可以利用其他可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,且可靠性好、易于移植、便于维护。尤其是使用ActiveX技术,利用GIS功能组件进行集成开发,更能表现出这些优势。

目前许多软件公司都开发了很多ActiveX控件,合理选择和运用现成的控件,将减少开发者的编程工作量,使开发者避开某些应用的具体编程。直接调用控件来实现这些具体应用,不仅可以缩短程序开发周期,使编程过程更简捷,而且用户界面更友好,可以使程序更加灵活、简便。

5 功能概述

5.1  数据输入和检验

任何GIS软件都不能离开数据的支撑而完成相应的任务,因此,数据采集作为GIS的基本功能在整个系统中的作用非常重大。据不完全统计,GIS数据库的建设占整个系统建设投资的70%以上,并且这种状况在近期内有上升的趋势。
数据采集是把现有资料转换为计算机可以处理的形式,保证这些数据在GIS数据库中在内容与空间上的完整性、数据与逻辑的一致性等。数据采集的方法和技术很多。野外数据、航空相片、遥感资料、地图和文本都可以作为数据采集源而通过输入设备输入GIS中。

采集的数据可能存在错误,应按约定的好的规则进行校验,并需要对未通过校验的数据进行修改。现有的GIS都有很强的图形编辑功能。例如,ARC/INFO的编辑子系统除了负责数字化仪的数据输入外,主要功能是用于图形编辑。可以对原始输入有误的数据进行修改,还可以修饰图形、设计线形和建立拓扑关系等。

5.2  数据处理和变换

完善的GIS能兼容多种图形图像工业标准,也应该能兼容其他大部分系统的数据格式。这就需要GIS软件能够在不同数据格式之间相互转换。GIS涉及数据类型广泛,并且即便是同一类型数据,质量也会不同。因此,数据处理和转换就是GIS的基本功能之一。现有的GIS软件都具有数据变换、数据重构和数据抽取等功能。

​​​​​​​5.3  数据存储管理

数据存储管理是建立GIS的关键环节,涉及空间数据和属性数据等大量数据。在GIS中空间数据量非常庞大并且内容非常复杂,这就要求GIS既要通过常规的关系数据库来存储和管理这些数据,还要能解决常规数据库无法解决的问题。最近,一些扩展的数据库管理系统(如Oracle Spatial等)就增加了这样的功能,有助于大数据量的检索、存储和管理。

​​​​​​​5.4  空间查询和分析

GIS及许多自动化地理数据处理系统应该具备空间查询功能,空间分析也是GIS的核心功能之一,也是GIS与其他计算机系统的根本区别之一。使用通用的数据库查询语言(如SQL等)虽然可以完成一定操作,但是在GIS中,必须对传统的查询语言进行补充或重新设计后方可使用。在人们的日常生活中,经常面临大量的空间位置信息,如何提高空间查询分析能力以满足用户需求是GIS的出发点之一。在GIS中,可以通过各种方式来完成空间查询与空间分析,如属性数据查询分析、空间数据查询分析、叠加分析、缓冲区分析等。

​​​​​​​5.5 可视化显示输出

地理信息系统采集获取的各种空间数据,经过GIS的分析处理后以可视化的形式输出给用户,输出的地理空间数据种类很多,包括图形、图像和属性信息,还可能包括与地理对象相联系的音频、视频、动画等信息。为了获得较好的显示效果,这些地理空间数据的显示除了以二维静态地图表示外,还可以用动态的三维虚拟显示,也可以采用图形数据和多媒体数据混合的表现形式、网上地图和多媒体信息浏览及虚拟现实技术等。输出显示的载体可以是计算机屏幕,也可以是纸张、光盘、磁盘等。当然,在输出显示时,GIS应该提供一种良好的、交互式的绘图环境,以便地理信息系统的使用者能够设计和制作出高品质的地图。

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值