江苏经济地理信息的互联网发布方案
李明巨 徐建刚 2005-12-09
摘要:本文介绍了江苏省经济地理信息互联网发布的解决方案和实现方法。该方案采用MapXtreme平台,利用ASP技术和脚本语言JavaScript,VbScript及HTML技术,响应浏览器端的动态请求,诸如信息查询、显示和图形的缩放、漫游,并根据用户请求完成属性数据的可视化表达。
关键词:经济地理;信息;互联网;发布;江苏
An Internet Release Plan for Economic Geographic Information of Jiangsu Province LI Ming-ju, XU Jian-gang
以Internet为基础的Internet GIS技术为地理信息资源的充分利用和社会化共享提供了可能。众多的厂商推出了Internet GIS解决方案,从其运行机制来看,一般可以分成两类:(1) 基于服务器的应用系统,如ESRI公司的Map Objects Internet Map Server (IMS)和ArcView Internet Map Server (IMS),MapInfo公司的MapXtreme,其早期同类产品为MapInfo ProServer;(2) 基于客户端的应用系统,如AutoDesk公司MapGuide, InterGraph公司的GeoMedia WebMap。 1998年12月,江苏省科技信息网对外发布了江苏省经济地理信息(http://www.sti.js.cn)。该应用提供了江苏省行政区域划分,叠加了市、县、乡镇和村级人口、GDP、工农业产值以及第一、二、三产业产值等社会经济数据,以及江苏省4条高速公路(沪宁高速公路、宁连高速公路、宁通高速公路及南京机场路)和最新国省道,展现了江苏省国民经济发展和交通建设的最新成就。系统除了提供地图的缩放、漫游、距离丈量等图形操作功能外,通过数据可视化方法,可采用专题表达手段表达社会经济发展的统计和对比;同时,地理信息的查询可以为各政府网站或相应的互联网网站提供看得见的链接。这里对该应用系统的基本方案及其实施过程中的几个问题作一归纳。
一、构网方法与系统方案
系统运行和开发环境采用MicroSoft的Internet解决方案,即服务器主机操作系统平台为Windows NT 4.0, IIS 4.0 Web服务器,SQL-Server数据库,程序开发语言为HTML,ASP,和VBScript,JavaScript等。 MapXtreme是MapInfo公司的地图网上发布产品,是一个典型的基于服务器端的应用系统,它的核心是MapX控件。安装MapXtreme后可以添加MapX控件。MapXtreme由3大部分组成:(1) 地图服务器管理,完成服务器的配置和地图引擎的设定,它指定了浏览器端所显示的地图表现形式;(2) 基准地图数据管理是一个管理无缝地图图层的工具,指定了基准地图数据所在目录和路径;(3) 地图对象管理,由多个地理对象按选定的投影方式以适当的显示比例构成地理对象集合(Geoset),并根据不同的地理对象设置相应的缩放显示范围。这种由上至下的设置方式实现了地图对象的逐级分类显示,可以保证图面的清晰和整洁,还允许系统设置标注属性、增减图层或改变图层属性设置。 采用ASP环境生成一个基于MapXtreme的地理信息网上发布系统,还需规划一个应用系统的工作目录。在Web-Server上,利用微软管理组(MicroSoft Management Console)等工具创建一个虚拟目录指向该工作目录,并使虚拟目录的“Executable”项选中(Checked)。 浏览器端采用帧组(FrameSets)方式划分为两帧,一帧为地图及相应的表单提交控制窗口,用来显示地图对象并提供地图对象的操作按钮及其他相关的表单控制键;另一帧为信息显示窗口。用户通过统一资源定位器URL定位到本应用后,首先获取一个地图引擎(mapengine),在地图显示窗口输出地图,点击查询操作后信息窗口显示相关查询信息。
二、使用动态服务器网页ASP
ASP(Active Server Pages)是微软公司的新一代开发动态网页的技术。它是一个Web服务器端的开发环境,利用它可以生成和运行动态的、交互的、高性能的Web服务应用程序。ASP属于Active技术中的Server端技术,与常见的Client端实现动态主页的技术(如JavaScript等)不同,ASP中的命令和Script(脚本)语句都是由服务器端来解释执行的,执行的结果产生动态生成的Web页面,并送给浏览器,因此不必考虑浏览器是否支持ASP。 ASP具有以下特征:(1) 完全和HTML集成;(2) 易于生成,无须手工编译和链接;(3) 面向对象,可扩展Active Server组件;(4) 可使用任何Script语言,只要提供相应的脚本驱动(engine)即可。ASP自身提供了VBScript和JavaScript的驱动,VBScript为其缺省的Script语言。 ASP的5个内建对象可提供更高一级的Web功能。 (1) Request——从浏览器端获取信息。本对象的一个重要方法是Form(),其作用是用来提取浏览器端的用户请求信息。例如,本应用为用户提供地图显示比例设置,系统使用Form()方法完成对用户设置的请求,参考代码为 If Request.Form(FRM-LAST-ZOOM).Count=1 Then fZoom=Request.Form(FRM-LAST-ZOOM) If IsNumeric(fZoom) Then bResult=SetMapZoom(fZoom) End If End If (2) Response——将信息回馈给浏览器,它的一个重要方法是Write(),用来向浏览器输出一条消息;对应于用户查询请求,系统将查询结果信息组织到进程变量SESN-HTML中去,然后使用Write()方法在信息显示帧显示查询结果: Response. Write Session(SESN-HTML) (3) Server——提供Web-Server工具。 (4) Session——存储在一个进程内使用的信息,本进程采用以下代码初始化用户所请求的地图对象: Set Session(SESN-MAPPER)= Session(SESN-COURIER).GetMapFromNewServer(miMapName) (5) Application——在一个ASP应用内让不同的用户使用这共享信息。
三、请求—响应方式
通过JavaApplet生成一个Web页面(HTML),它首先定义如何装载Applet,ASP代码完成为GIF文件输出,并将GIF文件的URL传递给JavaApplet,JavaApplet显示由ASP代码产生的GIF文件。(JavaApplet在客户端运行,而ASP脚本命令在服务器端运行)。ASP的余下部分定义了表单域的分类,它允许用户完成多种任务如查询,设置显示比例,专题统计图制作等。一旦请求装载完成后,用户就可以与MapApplet交互。 交互的方式有2种渠道: (1) 直接的地图操作。如果用户点击工具板按钮(如缩放、漫游、文字注记、信息查询、丈量距离等),系统由一个Java小程序负责处理这些请求。Java小程序针对具体的请求完成相应的动作,并将处理结果回馈用户。 (2) 使用表单域进行非直接的地图交互,如定位查询、图层控制、专题图制作等,点击这部分表单引起应用重置。
四、进程控制
系统以进程的方式向用户分发请求响应。用户启动浏览即开始一个进程,系统给每一个进程分配一指定的时间,如果在指定的时间内用户没有“活动”(Activity),则发生用户进程超时。进程超时后,系统自动调用一个子例程来释放本进程,以减少服务器端的开销,更好地满足其他用户的进程请求和速度需求。
如果进程超时后,用户再次激活系统应用,这时会再次引起一个新的表单提交,系统再次为响应用户请求而初始化一个新的进程。系统设计了隐式表单(Hidden-form fields),通过调用隐式表单的方法来获取用户上一进程的状态参数。新的进程自动使用这些状态参数来“恢复”为上次进程状态,因此用户不会体会到进程超时的问题。
五、数据的可视化表达
江苏省经济地理信息系统的互联网发布方案采用了我省1∶25万地图数据,经适当处理后对外公开发布,内容主要包含县级以上行政区域,村、乡(镇)行政驻地,以及道路、航道、水系等基本框架地理数据。对于村级以上行政区划分别对应叠加了如人口、GDP值、工业总产值、农业总产值、第一产业、第二产业、第三产业等社会经济属性数据,对道路、航道则叠加了对应的描述性数据;这些数据为有关用户提供了各级行政区域的经济信息及基本的道路交通信息,构成了各种专题的可视化表达基础。
系统提供了诸如范围取值、直方图、饼图、等级符号、点密度和独立值等多种地图专题类型,用户可以选取多个属性数据,按照系统缺省风格制作地图专题,直观了解江苏不同地区的经济发展状况。同时系统允许高级用户依个人喜好定制专题。系统提供的定制专题选项在信息窗口的下面,通过拖动帧的分界线可以看到,因此不影响整个界面的布置。■
[1]龚健雅,等.当代GIS的若干理论与技术[M].武汉:武汉测绘科技大学出版社,1999. [2]鲍泓,等.WINDOWS NT组网技术[M].北京:电子工业出版社,1998.