基于GeoTools的开源WebGIS在数字城市中的应用研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
近年来,随着计算机技术和因特网的快速发展,我国政府、企业信息化程度不断提高,GIS在“电子政务”、企业管理、大众生活中的应用更加广泛。

当前主流的GIS应用开发方式为基于商业GIS软件平台之上进行二次开发,以满足应用的需求。

而传统商业GIS软件具有结构复杂、平台依赖性、费用高、功能固定、扩展性差等问题,不能很好满足政府、企业的中小型GIS应用的需要,而开源GIS系列系统、类库、数据库等产品经过20多年的发展逐步发展成熟,一些产品在功能、性能上已经可以和商业GIS软件相媲美,许多已经在实际项目中得到应用,而且利用其开源、免费的特征,可实现用户功能的定制,功能模块化的组织结构也有利于与其他信息系统的融合和扩展,因此,利用开源GIS产品进行中小型GIS应用的开发相比于商业GJS软件更加经济、高效。

本文在对GIS的发展历程,体系结构的变迁,开源GIS的发展进行研究的基础上,总结出基于开源GIS产品进行应用开发的独特优势;然后重点对开源GIS中间件GeoTools的功能、结构进行分析,研究了利用GeoTools进行空间数据可视化的方法,并设计出一种基于GeoToolS开发GIS应用的通用框架;该框架基于MVC 模式设计,具有良好的可扩展性和松散藕合关系,适合与其他信息系统的融合;最后基于该框架设计并实现了公路管理信息发布平台,在实际GIS应用中利用该框架进行应用的开发和实现,检验了利用开源GIS产品构建应用的可行性,对于开源GIS应用的发展具有一定的指导意义和实践经验。

关键词:GIS;开源;GeoTools;软件框架
1绪论
课题背景及意义
地理信息是人类实践活动所认知和获取的地球空间自然和人造目标定位和属性的信息,是指有关地球实体的性质、特征和状态的表征。

它具有区域空间的分布性这一本质特征,同时也具有客观存在性、抽象性、综合性、可存储性和可传输性等重要特征,是人类生存和社会发展的基本信息。

作为地理信息科学和计算机技术结合的产物,地理信息系统(oeo脚phicInformationsystem,简称015)是一个集地理信息科学、测绘学、制图学、计算机科学于一体的多学科交叉的综合信息系统[ll,涵盖地理空间信息的采集、输入、存储、编辑、处理、分析、显示,利用计算机技术对空间信息数据进行有效的组织管理,并对空间信息进行不同需求的分析、处理,提供数字化输出以满足现实应用中管理、决策和研究的需要,其核心是用计算机来处理和分析地理信息。

目前,GIS已逐渐成为一种服务于信息化建设的技术工具,已广泛应用于水利水电、城市规划、交通运输、环境保护与监测、农林牧业等国民生产生活的各个领域中。

GIS应用就其应用领域的不同,可分为三大领域:第一类是政府应用,“电子政务”是当今政府加强信息化建设的新方向,是指在现代计算机、网络通信等技术支撑下,政府机构日常办公、信息收集与发布、公共管理等事务在数字化、网络化的环境下进行的国家行政管理形式。

GIS已成为很多政府决策部门工作必备的支撑系统之一,在国家水利、电力、林牧业、地矿、交通、资源环境保护等机构己发挥重要作用。

第二类是企业应用,随着信息时代的到来,企业的组织、运营、管理也逐渐向信息化方向发展,GIS通过提供可视化地理空间信息服务结合企业管理信息系统,为企业的业务规划、物流等领域提供辅助决策。

第三类是大众应用,WebGIS的产生为大众提供了获取地理空间信息服务的平台,通过开放的、操作简单的WebGis服务,满足大众对地理信息的需求,如:方便人们出行的谷歌、百度地图服务。

总结当前GIS应用的特点可知,Gis己不再作为单独的、专业的、封闭的系统提供地理数据、空间分析等功能,而是更多的与政府、企业的相关管理信息系统集成,从多角度、多层次为用户提供决策、分析的手段。

目前,GIS已逐渐成为一种服务于信息化建设的技术工具,与其他业务系统的无缝集成是Gis应用的活力所在。

根据GIS应用的不同开发方式,主要分为三种:一是从头独立开发GIS工具,包括空间数据模型及操作、空间数据可视化过程设计实现、GIS功能设计及实现等;二是基于商用GIS软件平台之上的二次开发,目前知名的商用GIS软件国际厂商包括:ESRI、Maplnfo、Autodesk、Ingergraph,国内有superMap、oeostar、基于GeoToolS的开源GIS应用的研究与实践MaPGIS 等,这些商用Gis平台已经实现了关于空间数据建模、空间数据访问、空间分析、空间数据可视化等功能,并对外提供丰富的编程接口,利用这些商用GIS软件平台提供的API,用户可根据实际需要开发GIS应用;三是基于开源GIS产品、中间件、数据库等进行Gis应用的开发,目前较出名的开源GIS产品包括:GRASS、Worldwind、QGis、uDig是功能全面的桌面GIS软件,Geoserver、Mapserver是功能完善的GIS服务器,GcoTools、GDAUoGR是两个出色的GIS中间件,包含多种空间数据格式的访问、空间数据模型的构建、空间拓扑分析的功能。

第一种方式由于其投入多、难度大、周期长,在实际Gis应用开发中一般不使用;第二种方式在实际开发中很常见,商用GIS软件平台基于常用开发语言都提供了良好的编程接口,适合专业系统的开发,但应用对于特定商用GIS平台的依赖性破坏了软件开发版权自主性,对多种数据源的支持屏障问题也阻碍其应用的广泛性,GIS
功能的确定性使得开发无法完全满足用户实际需求,高额的购买使用价格使其在中小型GIS应用中不够经济;第三种方式目前在实际中应用不多,但有增多的趋势,随着开源Gis的不断发展成熟,一些GIS系统、中间件、类库等产品在功能和性能上与商业GIS软件越来越接近,开源Gis的开放体系结构、开放数据模型、开放空间数据互操作也正符合GIS未来发展的要旨,松散的模块化组织结构利于应用功能的扩展,开源、免费的特征使其拥有广阔的发展前景。

随着我国信息化基础建设的高速发展,GIS承载的空间信息服务成为政府职能、企业运转、大众生活中越来越来重要的工具,这也加快了GIS系统与其它信息管理系统的融合,GIS不再是作为一个专业、封闭的系统为地理专业工作者提供服务,而是更多的与其他信息管理系统进行集成,作为一个整合的综合型信息管理系统,满足人们决策、管理的需求。

现在,GIS在政府、企业各种信息管理系统中广泛应用,对系统的可移植性、跨平台性、可扩展性、易用性都提出了更高的要求。

而目前国内具有自主知识产权的GIS系统平台比较少,只有MapGIS、Geostar等少数fL个产品,大量进口国外GIS系统平台增加了GIS应用开发的成本,另外使用商业软件进行GIS应用二次开发也存在一些垢病,因此,利用数目众多、结构灵活的开源GIS中间件进行开发是一种不错的选择,随着开源Gis产品的不断成熟、丰富,其在实际中的应用会越来越多,本文针对开源GIS产品及其构建方式的研究也具有一定的现实指导意义。

1.2国内外研究现状
国际地理空间开源基金会(openSourceoeospatialFoundation,简称osoeo)于2006年成立,宗旨为支持开源Gis软件的开发及推动其更广泛的使用,并对开源项目提供法律和资金上的支持,并得到了包括GIS软件商用厂商Antodesk、ESRI 等在内的许多企业的赞助,一年一度的开源地理空间软件年会是众多开源GIS技术爱好者、科研人员以及商用GIS企业代表们展示产品、交流合作、探讨GIS未来发展的契机[zl。

国外关于开源Gis软件的应用开展的比较早,己有许多开源GIS产品在实际项目中得到了应用。

其中,加拿大RefractionsResearch公司是世界领先的开源GIS服务公司,该公司在开源的PostgreSQL数据和GeoTools工具库上,开发了PostGis空间数据库系统和uDig网络GIS系统,基于postGIs、Geoserver、Mapserver、openLayers、Mapguide、uDig、Openjump灵活组合,为美国、加拿大政府和企业完成了许多项目,并长期进行开发培训和技术服务。

以下是该公司主导下开发的项目。

希腊出租物业搜索网—Rento,系统采用PostGis和插件扩展开发,支持以空间范围和自然语言检索希腊出租物业,Rento每分钟接受和处理数百个查询请求,用户可以使用类似“雅典大学附近的公寓”或“地铁站附近不超过800欧元的阁楼”等自然语言,迅速查找到目标物业。

加拿大人口Web地图系统,管理人口信息数据库,支持各种人口数据分析与制表。

采用开源M叩Server地图引擎,为VISTA系统开发了地图查询、显示、生成统计表格、曲线、专题图等功能,并可以以PDF格式输出。

AT&T公司开源Web地图系统,管理代理商分布和信号覆盖区域,供内部销售人员使用。

采用oeoserve:和PostGIS实现。

滑坡报告Web系统,要求林木公司报告伐木场所的滑坡状况和现场及周边栖息地的影响。

为了保证报告符合标准、减少错误,系统设计为web方式,使用开源软件PostGIS进行开发。

系统提供滑坡报告录入界面并审核是否符合标准,
相关的空间信息,如滑坡面积、森林面积、影响区域等都有系统自动生成。

国内关于开源GIS产品的研究和应用都还处于起步阶段,己有不少科研学者、研究生从事相关的工作。

文献3中作者提出使用GcoTools实现WebGIS应用软件的一种方法,客户端采用apPlet方式,在apPlet中调用GcoTools类库实现对远程资源的空间数据访问,使用JDBC实现对属性数据的访问。

该方法简化了WebGIS 的构建结构,降低了开发成本,维护方便,在城市供水管网数据查询软件中有所应用。

文献4中作者提出一科,多层次WebGIS架构,实现国土资源数据网络发布平台,利用GeotoolS构建空间服务器,完成空间数据的访问和分析,利用JZEEServlet技术构建应用服务层,完成用户请求的解析和处理,利用Ajax技术构建客户端,完成用户操作请求和响应处理。

目前国内还缺少自主的开源空间信息项目,对国外优秀的升源Gis产品项目的研究也不多,利用开源GIS项目进行应用开发的也不多。

因此,对开源GIS产品在现实中应用的可行性和构建方式的研究是一个很有现实意义的研究方向,也是学习Gis的一种有效的途径。

1.3论文主要研究内容
随着我国信息化建设的不断深入,Gis系统作为子系统在电子政务系统、企业管理系统中的应用越来越普遍,传统GIS应用大多是基于商用Gls软件平台上的二次开发,近年来,开源GIS产品的成熟发展给Gis应用开发提出了新的构建方式—利用开源Gis软件构建实际应用。

本文主要就利用开源GIS产品构建GIS 应用的可行性进行研究,探讨了几种开源Gis的构建方式,深入分析了开源中间件GcoTools的组织结构、功能及开发方式,在公路管理系统项目中进行系统设计,利用GcoToofs中间件开发实现GIS功能,并对空间数据显示效率进行了优化,对性能进行比较分析,是开源Gls在应用中一次有意义的尝试。

论文的研究工作从以下几个方面分别展开:
(1)研究Gis的发展历程,典型体系结构,开源Gis的应用和发展情况。

(2)重点对开源中间件GcoTools的结构、功能进行分析,对JTs的功能、结构进行分析,为后续Gis框架的提出做理论铺垫。

(3)空间数据可视化是Gis的重要功能,本文对基于GcoToofs的空间数据可视化处理的流程进行深入研究,并提出一种基于GcoTools的GIS应用开发的框架。

(4)基于实际项目需求,采用面向对象及多层次结构设计了公路管理信息发布平台,并采用设计的框架开发应用,完成GIS功能操作,实现系统功能,包括:地图浏览、图层操作、空间查询、属性查询、距离面积计算、路段打桩、道路视频管理等。

4论文组织结构
论文主体部分包括6章内容,组织结构如下:
第1章为绪论,主要内容包括:课题研究背景、国内外GIS研究现状、沦文主要的研究内容和论文的组织结构。

第2章为Gis技术概述,主要内容包括:Gis简介、GIS的发展历程、月几源GIS技术。

第3章为GeoTools技术研究,主要包括:OpenGIS规范介绍、GeoTools功能结构分析、JTS功能结构分析,是本文的重点工作之一,为后续提出通用GIS开发框架做理论研究铺垫。

第4章为基于GcoTools构建Gis应用方式设计,主要包括空间数据可视化流程、基于GcoT0ols的空间数据访问、基于GcoTools的空间数据显示、开源Gls
构建技术的比较分析和基于GcoTools的GIS应用的通用框架设计,集中体现了本文的工作。

第5章为公路管理和信息发布平台的设计,主要内容包括:系统需求分析、功能分析、平台总体设计和两个子系统的具体设计。

第6章为公路管理和信息发布平台的实现,主要内容包括:信息发布平台的实现和公路管理系统的实现。

2地理信息系统(GIS)概述
2.1G15简介
2.1.1基本概念
地理信息系统(Geographic Information System,简称GIS)是一个涵盖地理信息科学、测绘学、制图学、计算机科学的多学科交叉的概念,其功能、结构都比较复杂,关于Gis的准确定义目前还没有一个统一的观点,这里援引几个较为接受的定义[5]:
GIS is a system of hardware, software and Procedures to facilitate the management, manipulation,analysis,modeling,representation and display of georeferenced data to solve complex problems regarding planning and management of resources.”
“GIS是一个由硬件、软件及应用程序组成的系统,包含对地理相关数据的管理、操作、分析、建模、数字化表现与显示等功能操作,提供对基于资源的决策和管理的支持。


Burrough在1986年给出GIS的定义如下:“Set of tools for collecting,storing,Retrieving at will,transforming and displaying spatial data from the real world for a particular set of purposes.”
Arnoff在1989年给GIS下定义如下:“a computer based systems that provides four sets Of capabilities to handle geo-referenced data including data input,data management(data storage and retrieval),manipulation and analysis and data output.”
因此可见,GIS是以应用为导向的空间信息技术,强调空间实体及其关系,注重空间分析与模拟,是重要的地理空间数据管理和分析工具,用来对那些需要空间展现和分析来进行决策支持和信息管理提供支持!61。

2.1.2 GIS组成
从结构上看,地理信息系统由三部分组成:数字化的地理数据、计算机硬件、计算机软件。

(1)数字化的数据
数字化的数据是信息在计算机中的表现形式,是指要使用计算机软硬件进行图形化显示和空间分析操作的地理空间信息。

GIS中的数据不同于其他信息系统的数据,它具有空间特性,是与现实世界中的地物相关联的信息,根据数据是否与空间位置相关,将GIS数据分为空间数据和非空间数据两类,如图2.1所示GIS 中一条数据记录中,该记录表示一个桥梁实体,经度和纬度数据表示该事物的空间位置,属于空间数据,名字和日期数据表示该事物的属性,属于非空间数据,GIS将空间数据和非空间数据进行结合进行分析、处理。

(2)计算机硬件
是指用来数据存储、数据显示及数据处理的计算机相关硬件设备,包括:用于数据存储的存储设备,用于数据分析、处理的处理机,用于输入、显示、输出的各种外围设备。

(3)计算机软件
这里是指运行于计算机硬件之上并且允许你处理GIS数据的相关计算机程序的总和,根据应用层次包括以下三类:
①操作系统及系统软件
操作系统运行于计算机硬件平台之上,是所有其他应用软件的运行平台,当然GIS软件也不例外,为程序合理分配计算机资源。

系统软件提供对操作系统进行分析和维护提供支持,方便使用者使用计算机资源。

②GIS软件及相关软件
GIS软件提供核心的Gis功能操作,相关软件可以包括:对输出进行处理的图像处理软件、对GIS数据进行管理的数据库管理软件、对GIS数据进行采集的数据采集软件等。

③GIS应用系统
是指基于通用GIS软件基础上,利用Gis软件提供的接口进行二次开发与实际应用相结合产生的应用系统,是GIS实际应用的具体表现形式,如:基于Gis的环境监测系统、车辆监测系统、电力供应系统等实际应用。

2.1.3 GIS功能
地理信息系统所具有的基本功能应包括:数据输入、数据编辑、数据存储、数据操作、数据分析、数据显示和输出,这也是作为信息系统应具备的功能。

(1)数据输入:也称数据采集,是GIS中数据的生成过程。

Gis使用的数据常常来自很多源,数据来源主要包括:人工数字化输入、航拍图片和纸质地图的扫描输入、现存的数字化数据集等,远程遥感的卫星图像和GPS将是未来Gis数据源的主要提供者。

该过程中数字化操作是指将纸质地图的形式转换成可在计算机中存储的数字形式,主要由两种方法用于数字化操作:人工数字化和扫描数字化。

(2)数据编辑:随着地图要素的数字化操作,用户需要完成将所有的空间要素关联到其对应的属性数据,清理并改正在数据转换过程中产生的错误,这就是数据编辑的工作职能,编辑的结果是要产生一系列数据集,其中的每条记录都准确无误的表示了原来地图中的空间要素及其关联属性,确保两项事情:一是产生的数据和原来地图相比准确无误,二是建立的空间数据与属性数据的关联准确无误。

(3)数据存储:当数据经过数字化、编辑后,数字化的地图数据需要存储在磁盘或其他存储设备上,存储使用的数据模型最常用的包括:栅格格式和矢量格式。

两种格式都将原有地图数据简化为一种容易存储的通用格式。

(4)数据操作:当数据在系统中存储后,用户就可以对数据进行一系列的操作,
GIS操作通常以一个工具包的形式提供给用户,工具包中包括基本的数据操作和分析功能,如:数据检索、面积周长测量、坐标转换、投影变换、图幅接边等。

(5)数据分析:GIS的核心在于其强大的分析能力,空间分析能力是GIS区别与其他信息系统重要特征,尽管数据采集输入是最耗时的操作,但真正使用的是数据分析功能。

GIS通过对现实世界的处理过程建模,利用模型对实际处理过程进行模拟分析、统计,得到一系列有用的信息,作为分析的结果以地图或者其他形式输出给用户。

如对距离某一事故地点一定范围内各种空间要素的搜索,并对相关的信息进行统计分析,为事故处理提供所需要的信息。

(6)数据显示和输出:数据经过分析、统计处理,需要以地图等可视化的形式输出,这也是GIS区别于其他信息系统的重要特征,满足用户对数据更加直观、方便、快捷的需要。

GIS需提供空间分析、统计结果的可视化输出、多种数据格式的输出以满足用户后续处理需求。

2. 2 GIS发展趋势
2. 2. 1 G I S发展历程
自20世纪60年代GIS诞生起至今,GIS的体系结构经历了GIS模块、集成式GIS,模块化GIS、核心式GIS、组件式GIS和WebGIS几种形式[7],如图2.2所示。

20世纪60年代至70年代,随着计算机图形学的发展,计算机辅助制图在地图量算、分析处理中具有快速、准确、灵活的特点,同时对应自然资源和环境保护的管理需求增加,大量的空间环境数据需要处理,因此需要一种更加快速、方便、准确的方式,计算机由于其在辅助制图中的出色表现,自然而然成为替代者首选,一些满足特定功能需求的GIS模块产生了,这时的GIS理论研究还不成熟,应用也是出于起步阶段,GIS的体系结构以一些独立的功能模块为主,还不具备协同工作的能力。

20世纪70年代末至80年代中期,由于得到了政府的大力支持,各大高校也纷纷建立实验室参与GIS理论和技术的研究,这时期是GIS发展的快速阶段,GIS的组织形式不再停留于GIS模块,而是向一系列可通信模块组织的集成式GIS 发展,到80年代初,已有商用GIS产品产生,如:GIS商用产品巨人ESRI在80年代初发布了ARC/INFO等是集成式GIS的代表,这种体系结构式GIS发展的一个里程碑代表,因为它第一次完整的实现了GIS应具有的各项功能,形成独立的系统,但由于其臃肿的身躯、复杂的系统和专业的使用使得它使用要求很高,也无法与其他系统进行集成。

随着软件开发技术的不断发展,模块化的思想逐渐成为软件设计的主导,把它引入到GIS领域,同时为了解决集成式GIS的种种缺点,便诞生了另一种结构组织—模块化GIS,它把GIS按照不同功能划分一些列模块,使用者可以根据需
要选择所需模块进行开发应用,但是模块化GIS也存在无法与其他信息系统集成的缺点,原因在于它也是基于一个复杂的基础平台之上。

随后产生的核心式GIS就是为了解决集成式GIS和模块化GIS的缺点,它本质上也是模块化的设计思想,将一系列GIS功能作为操作系统的扩展库提供给开发者使用,这样开发者在系统开发中就可以通过调用这些库来实现所需的GIS功能。

这种以动态库的形式提供的GIS功能使得开发者拥有较大的自主性和灵活性,使得GIS可以与其他信息系统集成开发,但其接近底层的操作也加大了其开发的难度,开发者需精通其开发库中的功能函数及其接口才能开发出性能良好的应用。

进入20世纪90年代以来,随着互联网的迅猛发展,网络成为GIS发展的又一块肥沃的土壤,各科研机构及商业GIS厂商都陆续展开了网络GIS的理论和技术研究。

近年来,组件式软件结构模型以其跨平台、灵活组织、便捷开发的接口优势成为开发人员的新宠,目前组件式平台有Microsoft的COM(Component Object Model,组件对象模型)/DCOM(Distributed Component Object Model,分布式组件对象模型)和OMG的CORBA( Common Object Request Broker Architecture,公共对象请求代理体系结构),以分布式计算为基础的分布式应用系统逐渐成为网络应用的主流结构形式,它解决了传统的客户端—服务器模式中出现的一系列负载均衡问题,特别适合需要大量空间数据访问和分析处理操作的GIS应用。

基于CORBA,Java推出了RMI技术作为分布式对象的一种实现,基于RMI技术可以开发出灵活、易用、真正跨平台的网络GIS应用。

WebGIS与组件式GIS不是无关的两种分类,而是紧密相关的,它俩都是基于WWW技术发展起来,核心思想是分布式计算,在WebGIS的构建方式中,组件式GIS的思想随处可见,通过WebGIS可以实现分布式计算应用。

在未来的GIS 应用中,WebGIS和组件式GIS将占据重要地位,可以说,WebGIS是组件式Gls 在现实中的实现方式,组件式GIS是WebGIS发展的核心理论基础。

新世纪以来,地理信息系统在政府、企业中的应用更加广泛,GIS与其他信息系统的集成为政府、企业提供决策、分析的支持;与此同时,WebGIS的发展为大众提供越来越多丰富多彩、简单实用的地理空间位置服务。

这阶段的GIS产业更加注重GIS与其他信息系统进行无缝集成的方式、地理空间信息的开放与共享、三维GIS实现技术的研究。

2.2.2G15发展的基石
近年来,GIS发展势头迅猛,在政府、企业和大众生活中都有重要的应用,这主要得益于以下几个方面l8l。

(1)信息技术的发展:包括计算机技术、遥感技术、全球定位技术的发展成熟,
使得基于计算机技术,而与遥感技术、全球定位技术紧密相关的地理信息系统也得到了快速发展,目前遥感技术、全球定位技术与地理信息系统合称为“35”技术,是新世纪信息发展的重要方向,三种技术的整合及应用将在国民生产生活中发挥巨大的推动作用。

(2)通信技术的发展:可以说90年代计算机网络的出现使得互联网成为新世纪的宠儿,也使我们逐步步入信息化社会,网络的发展离不开通信技术强有力的支撑,随着通信带宽、通信质量的不断提高,使得在网络上传输大规模数据逐渐成为可能,这也促进了基于海量数据大规模存储的地理信息系统的发展,使得网络GIS逐步成为GIS应用的新的方式。

(3)计算机硬件价格下降与处理能力的提高:随着计算机硬件制造水平的不断。

相关文档
最新文档