Linux平台下基于矢量格式的WebGIS平台的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
地理信息系统(GIS)作为地理科学与计算机技术的结合,从诞生以来,其发展就与IT行业的发展息息相关。从20世纪90年代开始,随着以Internet为代表的网络技术的迅猛进步,WebGIS得以产生并在具体应用的推动下得到了飞速的发展,成为GIS服务的一种理想的实现方式。
     90年代后期,计算机行业中的操作系统的多元化进程明显加快。其中Linux操作系统以其开源免费、安全稳定等特点在服务器领域以及个人桌面应用领域内的迅速崛起,尤其引人关注。从传统的Windows平台向Linux平台的迁移,这不仅是一个技术话题,在信息安全、产业自主等因素的影响下,它甚至越来越具有浓厚的政治色彩。在这种大趋势的影响下,基于Linux平台的WebGIS平台研究自然而然地成为地理信息科学领域内一个新兴的课题。
     本论文在建设部和研究课题的支持下,对Linux平台下基于矢量格式的WebGIS平台进行了研究以及一个具体的应用实现。
     文章首先介绍了目前现有的几种基于矢量格式的WebGIS系统的实现,分析了它们在服务器端数据组织、客户端交互、应用逻辑的开发等几个方面的特点和彼此的不同,结合Linux平台下现有软件体系的特点,确定了选用数据库统一组织管理地理信息数据的总体思路。在可扩展、稳定性以及软件规模等因素的考虑下,选定开源数据库软件PostgreSQL作为具体实现时的后台数据库,并引入PostgreSQL的专用GIS扩展库PostGIS作为二次开发的基础。
     在系统的设计过程中,论文借鉴了主流GIS软件中的“工程”与“图层”的思路,针对性地设计了“WorkSpace”、“Layer”与“Skin”等概念对数据库中的GIS数据进行组织和规划,通过过程语言PL/pgSQL完成了对PostgreSQL的必要扩展,以内置SQL函数的方式实现了对WorkSpace、Layer以及Skin的建立、删除、相互引用等管理功能。并在“模块化”的指导原则下,基于服务器端脚本语言PHP设计开发了针对WorkSpace、Layer以及Skin的功能全面、内容丰富的操作函数库,以响应各种客户端查询操作,实现服务器端的应用逻辑。而客户端,本文则是采用Java Applet技术及以Javascript脚本实现在通用网络浏览器内对矢量格式电子地图的绘制以及各种放大、缩小、移动、选取、标注等操作,并与服务器端的数据完成交互查询以及动态的结果显示。
     最后本文对整个系统的设计思路以及实现方式进行了总结,并提出了这个基于Linux的矢量格式的WebGIS应用需要进一步研究和解决的问题以及前景展望。
As a combination of geography science and the information technology, the development of GIS has been closely related with the advancement of computer technology since its very beginning. In the 1990s, as the network technology developed quickly, WebGIS gradually took its shape and gained a booming development and gradually turned into an ideal form of geography information service.
    In the late 1990s, the diversification of the computer operating systems became more and more obvious especially at the server side. With the nature of open source and sound security, Linux has become a strong power both in server and PC market. The transition from Windows platform to Linux is not only a technical issue, given the factor of information security and the industry independence of a nation, it even bears much political meaning. Under such a trend, the research of WebGIS on Linux platform has naturally been a hot issue in GIS field.
    Supported by the Ministry of Construction, this paper just focuses on the research and implementation of a vertor format WebGIS system on the Linux platform.
    The paper firstly introduced several present methods to realize vector-formatted WebGIS and then made an analysis on the sever-side data organization, client interaction, application logic etc. Considering the characteristics of the software under Linux platform, the paper decides to use database to store and manage all the geographical data. Finally the open-sourse software of PostgreSQL was chosen due to its stability, extensibility and proper size. Also its exclusive GIS extention PostGIS was utilized as the base of application development.
    During the system design, the paper created the conception of Workspace,Layer and Skin to organize the data in database in accordance with the idea of Project and Layer in the mainstream GIS package. Extended functions for PostgreSQL are developed by PL/pgSQL in the form of embedded SQL functions to create, delete and manage the Workspace,Layer and Skin. Under the idea of moduliaztion, ahundant functions to interact with Workspace, Layer and Skin are coded in PHP language on the server side to handle all the map request. While on the client end, this implementation adopt Java Applet package and Javascript to achieve the map rendering, zooming, roaming, selecting and labeling and the interactive seaching on the server side.
    Finally the paper summarized the system design and the realization methods. Furthurly it presented the problems that need to be solved of this vector-formatted WebGIS in the future.
引文
[1]. Andre Skupin, History of Mapping&GIS on the Web, http://www.geog.uno.edu/-askupin/classes/webgis/index.htm
    [2] 张怀莉,王卫安 几种WebGIS解决方案综述,东北测绘,2000,23(3):3~5
    [3] 中国—新闻—IBM正式推出史上最强Linux超级计算机 http://www-900.ibm.com/cn/servers/eserver/xseries/news/0308_linuxsuper.shtml
    [4]. http://www.linuxaid.com.cn/forum/showdoc.jsp?1=1&i=76335
    [5] H-P to introduce Linux-based PCs in Asia http://msnbc.msn.com/id/4541556/
    [6] H-P to launch Linux-based PCs globally http://msnbc.msn.com/id/4594312/
    [7] GRASS Mirror Site http://www.geog.uni-hannover.de/grass/
    [8]. Using Linux in GIS http://gislounge.com/ll/iinux.shtml
    [9] 2002/5/15 ESRI Now Offers GIS Solutions for Linux Users http://www.esri.com/news/releases/02_2qtr/gissolutions-linux.html
    [10] MapServer Homepage http://mapserver.gis.umn.edu/
    [11] Maplnfo MapXtreme for Java 4.5 http://maptchina-gis.com/Maplnfo/Maplnfo%20MapXtreme%20for%20Java%204.5.htm
    [12] May 15, 2002 ESRI Now Offers GIS Solutions for Linux Users http://www.esri.com/news/releases/02_2qtr/gissolutions-linux.html
    [13] 首款支持红旗Linux操作系统的GIS基础平台问世 http://www.cas.ac.cn/html/Dir/2003/09/02/0397.htm
    [14] http://www.esri.com/iibrary/brochures/pdfs/arcview_spat_anal_bro.pdf
    [15] 科技部国家遥感信息中心,地理信息系统与管理决策,第一版,北京,北京大学出版社,2000年4月,68页
    [16] 边馥苓,地理信息系统原理和方法,第一版,北京,测绘出版社,1996年8月,101页
    [17] The Geometry Class Hierarchy http://dev.mvsql.com/doc/mysql/en/GIS_geometry_class_hierarchy.html
    [18] Well-Known Text (WKT) Format http://dev.mysql.com/doc/mysql/en/GIS_WKT_format.html
    [19] Well-Known Binary (WKB)Format http://dev.mysql.com/doc/mysql/en/GIS_WKB_format.html
    [20] 郭杰华等,基于Internet的地理信息系统(WebGIs)的研究和开发,中国图象图形学报 2000.7
    [21] 骆炎民,基于XML的WebGIS及其数据共享的研究,华侨大学硕士学位论文,2003
    [22] 王兴玲,基于XML的地理信息Web服务研究,中科院遥感所博士论文,2002
    [23] Production Feature http://usa.autodesk.com/adsk/servlet/index?sitelD=123112&id=2995585
    
    
    [24] Maplnfo MapXtreme for Java 4.5 http://maptchina-gis.com/MapInfo/Maplnfo%20MapXtreme%20for%20Java%204.5.htm
    [25] http://159.226.117.45/geobeans/geobeans4.5.htm
    [26] GNU计划简介 http://www.gouhuo.com/CLDP/gb/doc/gnu-introduction.html
    [27] Free=自由?免费?GPL! http://www.lslnet.com/linux/docs/linux-2974.htm
    [28] 许宏松,吴明行,廖世恩,Linux应用程序开发指南,第一版,北京,机械工业出版社,2000年,1-2页
    [29] 北京中科红旗软件技术有限公司http://www.redflag-linux.com
    [30] 龚健雅,地理信息系统基础,第一版,北京,科学出版社,2001年,199页
    [31] 关于Apache web服务器 http://www.ni8.com/host/apache.php
    [32] http://www.chinaunix.net/jh/27/16004.html
    [33] 网胜工作室,PHP4.0程序设计,第一版,北京,北京希望电子出版社,2000年,3页
    [34] 网胜工作室,PHP4.0程序设计,第一版,北京,北京希望电子出版社,2000年,4页
    [35][36][37][38] Linux下免费数据库PostgreSQL开发入门 http://www-900.ibm.com/developerWorks/cn/linux/i-pgsql/index.shtml
    [36] PostgreSQL 7.3文档 http://www.chinalinuxpub.com/doc/pgsqidoc-7.3c/datatype-geometric.html
    [37] PostgreSQL 7.4devei 文档 http://www.aspdotnet.cn/online/pgsqldoc_zh/