加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 襄阳站长网 (https://www.0710zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

GIS软件工程技术现状

发布时间:2022-10-10 12:45:33 所属栏目:云计算 来源:
导读:  GIS软件工程技术现状、发展趋势与存在问题

  0 引言

  地理信息系统作为空间信息处理、存储、管理、分析和输出的工具正在受到越来越广泛的重视和应用。而要实现GIS对空间数据进行的各项操作,就必须
  GIS软件工程技术现状、发展趋势与存在问题
 
  0 引言
 
  地理信息系统作为空间信息处理、存储、管理、分析和输出的工具正在受到越来越广泛的重视和应用。而要实现GIS对空间数据进行的各项操作,就必须有相应的软件作为支持。由于各行各业所要解决的问题不同,通常不同行业的用户都要在基础软件之上做相应的二次开发,以扩展本部门所需的GIS 功能。所以,在GIS 的应用中需要做大量的开发工作。从本质上讲,GIS 开发的核心是软件开发,因此,运用软件工程的方法来进行GIS 工程开发。
 
  1 GIS软件工程技术现状
 
  1.1 GIS 软件的存储特点
 
  在存储技术上, 传统的GIS 采用两库结构, 即空间数据库和属性数据库的分离。究其原因, 是因为传统的关系型数据库只能处理结构化数据, 对非结构化数据缺乏有效的处理手段。因此, GIS 软件将大量的工作放在空间数据库模型的组织、空间数据库的存储和访问方面,形成独立的空间数据库系统。最近几年, 数据库管理系统厂商拓展了数据管理的范围, 使传统的RDBMS 也能对空间数据库加以管理、进行检索和查询。第三代GIS 软件在形式上实现了空间、属性数据的一体化存储, 也实现了初步的一体化查询。但是, 这部分增加的空间数据管理功能并没有与传统的结构化数据管理完全、有机地融为一体。特别是在如何组织空间数据的存储结构, 以利于提高检索速度和减少存储量、实现空间数据查询优化、多角度的空间和属性数据互动、空间实体之间关系的动态维护等方面, 还需要做更多的工作。
 
  1.2 GIS 软件的数据组织与处理模式
 
  在数据组织与处理模式方面, 传统的GIS 仍然按照Tomlinson 的思想, 沿袭地图处理的模式。在实现上, 将空间数据组织成物理实体(点、线、面)、图层、地图和图库处理的模式。在处理上, 以图层作为处理的基本单元, 包括拓扑关系、位置和距离计算、编辑、叠加、缓冲和网络分析等都是面向图层的, 只能在图层一级进行。不同图层之间的实体难以进行比较和计算。在尺度上, 以比例尺作为基本依据, 即使在“面向对象”的矢量数据模型中, 也缺乏不同空间尺度的对象之间的互动关系; 不同分辨率的空间影像数据同样缺乏彼此间的互动关系; 空间数据的组织和管理、分析基本上都在“尺度割裂”的状态下进行。在处理模式上, 基本是面向过程的。虽然面向对象的组织化结构解决了一部分问题, 但数据组织方面的局限限制了直接面向问题的处理实现,在空间数据处理分析方面, 基本上没有引入知识工程的技术。
 
  1.3 GIS 软件的空间数据库管理
 
  在空间数据管理范围方面, 目前的GIS 可以比较有效地处理二维空间数据, 并能较好地处理DEM数据、实现三维实体地表面显示。但是总的来说, 目前的GIS 软件还是面向二维的, 对三维空间数据和时序数据缺乏有效的处理手段, 更难以组织和处理包括空间数据在内的多维数据。目前GIS 领域的只局限于属性数据的挖掘和知识发现并辅以空间显示, 以空间数
 
  据为基础的数据挖掘难以有效地开展。
 
  1.4 GIS 软件的数据共享和功能共享
 
  在数据共享和功能共享方面, 虽然目前开始注意元数据问题, 已经解决了不同格式空间数据之间转换问题, 可以实现有缝的数据共享。但是, GIS 功能共享和互操作问题尚未得到解决。以系统为中心的问题没有得到根本的克服。
 
  2 GIS软件工程发展趋势
 
  在互联网和IT 业巨头们的推动下,云计算( cloud computing) 时代即将来临。以摩尔定律和Wintel 架构为主导的硬件产业,传统软件产业的商业模式,企业IT 架构,甚至普通人的生活都会因云计算的到来和发展而发生改变。GIS 是构建在坚固IT 基础之上的信息系统,云计算时代的到来对GIS的发展将会有深远影响。云计算实质上是对软件和信息系统体系结构的又一次革新。它将系统软件和应用的边界重新进行了划分。云计算环境下GIS 软件工程模式的主要特点就是将基础数据服务和软件服务由专业机构统一提供,GIS 应用以此为基础去构建更为复杂的GIS 应用软件系统。
 
  下面从软件体系结构、软件开发组织和软件部署、运行管理维护三个方面探讨云计算环境下的GIS 软件工程模式
 
  1)云计算环境下的GIS 软件工程体系结构模式
 
  与传统的GIS 软件体系结构相比,基于云计算的GIS 软件体系结构最重要的特点在于其前所未有的开放性和成熟的构件化。在“云”端的GIS 应用必将大量利用“云”服务提供的现成的GIS 构件。同时,新研制的软件又将成为后续GIS 应用软件开发所能利用的成熟GIS 构件,由云计算的特点可知,在“云”端可以超大规模、有效、可靠地提供海量的地图数据和地图服务; 在“云”的支撑下可以构造不同用户需求的GIS 应用。在“云”的另一端,用户在计算机的浏览器上就可以完成对所有功能的使用。所以在云计算环境下能大大降低GIS 软件开发的复杂度。云计算GIS 软件体系结构,本质上是完全分布式的,是客户端、服务端、管理端、开发端、测试端等多种软件的有机集成,应用之间有清晰的逻辑边界,但不再有截然分开的物理边界。GIS 软件体系结构非常稳定,给GIS 软件以后的开发和数据的维护、更新带来相当大的便利。
 
  2)云计算环境下的GIS 软件开发组织模式
 
  从生命周期特点看,传统的GIS 软件生命周期模型是串行的,本质都是瀑布模型的变形云计算实质和核心,这样的生命周期模型更易于控制。但在云计算环境下,GIS 软件开发生命周期模型、并发模型、多重螺旋模型将成为主流,瀑布模型、迭代模型的使用越来越少,在GIS 部署后,交付的都是中间版,软件升级将成为常态。从开发流程来看,GIS 软件开发不再是一个封
 
  闭的、全局控制的流程,而是存在多个并发和自治的流程,在一个项目中,可以自底向上或自顶向下有机集成。
 
  从GIS 软件开发的各个基本阶段来看,需求阶段将占据较大比例的工作量。架构设计基本可以从已有的成熟架构模式中选型确定,详细设计可以借用大量的成熟构件和代码。随着
 
  GIS 软件复用程度的提高,GIS 软件测试的工作量将大大降低,GIS软件质量相应得到有效提升。开发过程中的不同阶段,GIS 软件开发者、服务提供者、软件使用者等多种角色使用同一个软件开发工具,由云计算服务商统一提供,开发组织无须购买永久性的软件许可。只需在开发周期内按需租用云服务商的软件许可,这样可以大大降低GIS 软件开发费用。而GIS 软件中数据处理的难题也会在云计算中得到迅速的解决。使用云服务商提供的高质量的空间数据与用户自有空间数据,在云计算服务商提供的服务中进行无缝联接,使多种空间数据得到有效组合。
 
  3)云计算环境下的GIS 软件的部署、管理和维护模式
 
  云计算给GIS 软件部署、管理和维护带来了高度的灵活性,对于一个特定的GIS 功能应用,软件部署、管理、维护和开发过程是并行的。第一次部署的可能只是一小部分功能,随后的软件升级中不断完善,由于云计算模式极大地降低了GIS 软件构件之间的耦合程度,GIS 软件的客户端、服务端、管理端等构件完全以并发或独立的方式部署和管理,甚至GIS 软件运行的各种资源也可以针对用户透明的方式完成升级换代和重新部署。云计算GIS 软件的客户端软件运行平台可采用目前非常成熟的虚拟化技术,产生多种虚拟环境,如Windows,UNIX,甚至是浏览器等,用户可以根据自己的喜好选择。在服务器端,可以把大规模的服务器系统虚拟为单一的处理单元和连续的存储单元,降低了用户端管理的复杂程度。
 
  GIS 软件中的空间数据具有很强的现势性,需要不断的更新,大量的不同格式的新采集的空间数据导入现有空间数据库中。在云计算GIS 服务商提供的专业服务支持下,新采集的空间数据与已有空间数据的无缝联接可以得到高效的解决。云计算GIS 软件运行的最底层的硬件系统和基础软件系统则由专业的计算机信息系统集成商统一维护管理。
 
  云计算前景是非常广阔的,但它还是一项发展中的技术,必须慎重考虑它对软件开发的有利方面和不利因素。下面从成本和实施步骤等方面进行探讨。从成本上看,云计算的优势就是能够大大地降低成本。这对于GIS 软件开发组织特别是中小企业来说,在硬件设施和软件工具等方面将大大降低开发费用。但对云计算GIS 服务商来说,在建设云计算基础设施时需要较大的投入,如能利用已有设施和工具,这项成本也可以降低,而大量的企业进入云计算的GIS 软件开发亦可进一步分摊成本。从实施步骤来看,可首先选择适合质量保证
 
  ( software quality assurance) 架构的应用软件采用云计算体系进行开发,这同时也为云计算积累成熟构件。GIS 软件开发组织应成立专门负责云计算的部门或机构,负责协调云计算过程中与现有GIS 行业体制和技术休养所产生的问题。
 
  3 GIS软件工程存在的问题
 
  软件工程方法规范了从分析阶段到设计阶段的各个步骤, 每个阶段都明确了开发工作人员进行的工作,采用的方法, 需要得到的成果等。但GIS工程项目一般规模都比较大, 常存在4个方面问题。
 
  3.1 需求的变更
 
  由于GIS工程项目的专业性和复杂性, 用户的需求在系统开发的整个过程中都在不断
 
  变更。如果没有一个完整的需求变更管理方案就贸然进入设计和开发阶段, 所埋下的隐患是: 一旦用户的需求发生较大变化, 对开发中的系统将可能是毁灭性的打击。这种情
 
  况在实践中屡见不鲜。
 
  3.2 项目目标蔓延
 
  软件项目的目标超出原始计划, 业界通常称为项目目标范围蔓延, 这是软件开发中的
 
  固有矛盾。GIS项目目标定义困难, 而且由于开发周期内项目必然会面临改进, 这就极易导致项目目标的蔓延。如果处理不当将成为项目失败的主要原因。因此, 必须采取一些措施控制对项目目标的蔓延, 并确保开发者们不会受到这些改进带来的负面影响。
 
  3.3 模块化不合理现象
 
  模块化是解决软件复杂性问题的良好措施, 开发大的GIS软件工程项目, 将软件的功能进行适当的分解, 不但可以降低软件的复杂性, 还可以减少开发工作量。从而降低成本, 提高软件生产率。但是软件的模块化流行的今天, 很多开发者没有处理好模块的内聚和耦合两个关键因素, 对模块的划分不尽科学。模块分的太细, 模块开发难度降低了, 但是模块之间的接口开发代价却大大提高了; 模块分的太粗, 解决不了简化程序, 减少开发成本和提高
 
  软件重用度的作用。科学地划分模块一直很难取得标准。
 
  3.4 文档管理不完善
 
  不仅是GIS工程的开发人员, 很多一般软件开发人员都没有对文档赋予足够的重视程度。开发过程中的一系列文档, 包括需求分析、可行性分析、总体设计、详细设计、数据库设计、数据规范和用户使用说明等, 往往得不到统一规范的管理。每个开发阶段若没有明确的文档作为指导和参考, 就会出现诸如开发各自为政、风格不统一、项目目标迷失、开发者和用户交流出现分歧等一系列致命的问题。
 
  4 结束语
 
  GIS 的软件开发是一项庞大的系统工程,进行工程项目的开发人员大多数都具有地理信息相关专业背景。由于在软件的系统学习方面存在不足,所以理解软件工程的指导方面则存在差异,现在迫切需要对GIS 工程的研究人员、开发人员和管理人员进行软件工程方面的培训。同时标准化是另一个难题,不少行业目前还没有统一的标准,我们在开发软件时只能参照其它相关行业的标准,从而导致资源共享方面相对较差。只有解决了以上矛盾,我们才能在GIS 软件开发方面取得更大的进步。
 

(编辑:PHP编程网 - 襄阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!