张超
(江西理工大学建筑与测绘工程学院,江西 赣州 341000)
气温是最重要的气象因子之一,对于生态系统的结构和人类的生产生活都具有十分重要的影响[1]。随着GIS技术的不断发展和应用,研究人员将GIS空间插值的方法应用于气温研究[2]。空间插值常用于将离散点的测量数据转换为连续的数据曲面,以便与其他空间现象的分布模式进行比较[3]。国内外许多学者和研究人员采用空间插值的方法对气温变化进行一定的研究。针对不同气温插值算法的效率研究,彭彬[4]等对于气温插值中不同空间插值方法的适用性进行了分析,从其分析结论看,普通的克里金值方法较适用于安徽省月平均气温点数据的插值,其精度较其他插值方法更高。针对平均气温插值方法研究,李军[5]等利用空间插值的方法研究了中国1961年~2000年月平均气温空间分布。另外,对于空间插值得到的结果,需要采用一定的可视化方法进行表达,而GIS空间可视化方法在各行业信息表达和传递中发挥着越来越重要的作用。庾露[6]在2010年基于WebGIS的地震灾情数据可视化系统设计与研究中,使用了WebGIS中的可视化方法对地震灾情数据进行了可视化的表达。此外,学者王丽颖[7]实现了气象预报格点信息在WebGIS中的可视化。通过这些研究的实现[8,9],WebGIS可视化方法已经被广泛运用于气象预报、灾情数据服务等各行业中。
本研究基于WebGIS平台,结合GIS空间插值模型,设计实现了安徽省气温变化监测管理系统,利用GIS强大的数据分析能力,进行数据管理,生成气温变化信息专题图,将气温变化信息通过折线图和柱状图等统计图更加直观地反映到图表中,为气象相关部门对气温变化规律的预测和气温信息的实时有效发布提供科学依据,也为有效帮助用户充分了解区域的气温信息奠定基础,为区域气温变化的监测管理提供有力的平台支撑和技术服务。
(1)克里金插值算法
研究根据各个气象站的温度数据以及各个气象站的具体点位信息采用克里金插值法,把气温数据插值成相应的等温线和等温面。模型在ArcMap中的具体构建情况如图1所示。其中地理数据库Scratch用来存放模型生成的数据,数据库Schema用来存放模型生成的数据,Tool Data用来存放模型需要用到的数据Station和city,Contour Service模型是等温线生成模型,surface模型是等温面生成模型。
图1 等温线数据及数据库结构
在等值线模型中,首先将处理范围设置成city图层,输入的点要素在属性中设置数据类型为要素类,数据选择station图层,并且设置成模型的输入参数。在栅格数据生成等值线的操作中,把等值线的距离设置成输入参数,并设置好默认值0.3。最后将生成的等值线按照city要素层的范围裁切出最后需要的等温线矢量数据,并且将此数据设置为输出参数,如图2所示。
在等值面模型中,生成栅格数据的操作和模型处理范围与等值面模型中设置一致。之后对得到的栅格数据进行裁剪,裁剪的矢量数据选择city要素层,最后得到安徽省区域范围内的栅格数据,并且将其设置为模型的输出参数,如图3所示。
图2 等温线模型
图3 等温面模型
(2)ArcGIS Server地图服务与GP服务
基于ArcGIS Server发布地图服务和GP服务。安徽省气象专题地图服务发布收集了安徽省17个气象站的具体点位和安徽省行政区划图的矢量空间数据,包括各个气象站的具体坐标位置和安徽省各个市的名称和ID数据,在Arc Catalog中发布成地图服务;针对本文数据特征,采用克里金插值算法,并在ArcGIS Server中发布成为GP服务,如图4、图5所示。
图4发布的安徽省行政区划图图5 GP服务相关信息
(3)技术路线
系统采用了WCF服务、GP服务,基于.NET平台,结合ArcGIS API实现克里格插值算法,具体包括将有限的温度数据插值成等温线和等温面。其中WCF服务用于连接SQL Server数据库与Silverlight页面业务。另外,还实现了对温度数据的查询,折线图、柱状图的展示等具体功能。系统的具体流程及功能如图6所示:
一方面,通过收集气温、气象站点位数据,将收集到的数据整理入库;另一方面,结合行政区划数据、遥感影像数据将地图数据矢量化。处理完研究区所需数据后,开始搭建系统平台界面,借助于前端框架技术搭建人机交互性好、较人性化的系统操作界面。再结合系统设计的具体功能需求设计功能类,主要包括数据查询、专题图展示和数据统计分析。数据查询包含对气温的年平均气温、月平均气温和气象站坐标的查询管理;专题图展示主要是针对气温年际变化、月季变化和日变化的等温线和等温面的制作展示;数据统计分析通过柱状图、饼状图和折线图等方式对气温变化进行相应的数据统计并直观地表达在图表中。进而是API的详细设计,通过调用对应的API功能服务,完成系统的开发和实现,最终对系统实现效果进行系统功能测试。
图6 技术路线图
(1)系统架构和功能设计
安徽省气温变化监测与管理系统采用B/S系统架构模式,系统用户使用客户端访问服务端,服务端通过WCF服务访问气象数据库,并获取气象数据;服务端访问GP服务,调用空间插值算法实现气象数据插值,并结合GIS空间分析生成气温等值线和等值面,总体架构如图7所示。
图7 系统结构图
系统将安徽省气温变化监测与管理系统分为三个模块:基本GIS功能模块、气温查询与展示模块、气温统计分析模块。其中,三个模块具体的功能如下:
基本GIS功能模块包括了导航工具、放大缩小、全屏显示、地图浏览、图例展示、地图切换、气象站坐标显示以及区域定位功能。
气温查询与展示模块包括:根据地区、年份、月份查询,支持查询结果的图表展示,折线图和柱状图。
气温统计分析模块则包括:针对气温变化数据经过GIS空间分析生成某个月的等气温线专题图以及等气温面专题图并且以合理的渲染方式展现出来。
(2)数据库设计
属性数据库采用SQL Server作为数据存储,建立安徽省气温数据库,命名为Temp,其中包括以年份命名的温度数据表11张,具体有2005年~2015年这11张表;用户信息表(register_info)、气象站点位信息表(Station)。空间图形库首先在Catalog中新建个人数据库,命名为Temperature,再在数据库中新建要素集Tem,并且设置空间坐标为Beijing_1954_3_Degree_GK_CM_117E,最后在要素集中新建两个要素层:Station(气象站点状数据层)、city(安徽省各个市行政区划图所构成的面数据层)。将两个要素层添加到Arc Map中,做好Station和city要素层的矢量化工作。然后再在Station的属性表中添加字段staname(即气象站的名称),按照气象站点位的具体名称信息为其赋值。同样地,在city图层中添加cities(城市的名称)字段,根据具体的图形名称信息进行赋值。具体的矢量数据及其属性如图8、图9所示:
图8 气象站矢量图 图9 安徽省政区图
安徽省气温变化监测管理系统界面的总体色调以深蓝色为主,主界面主要分为三栏:第一栏,标题栏:包括了系统的名称以及有关安徽省的插图;第二栏,功能栏:用来存放系统的主要功能按钮;第三栏,地图展示栏:主要用来展示安徽省的地图数据以及一些相关的专题图、温度数据。三大模块包括基本GIS功能模块、气温查询与展示模块、气温统计分析模块。
基本GIS功能主要包括:导航工具、放大镜、全屏显示、地图浏览、图例展示、地图切换、气象站坐标显示,如图10~图15所示。导航工具主要用来对地图进行放大、缩小、上下左右平移、全屏显示等操作;放大镜是对地图进行放大操作,此外还有全屏显示的结果;地图浏览的功能是显示当前地图显示窗口的地图数据范围在整个地图中的位置,也能够通过此窗口的平移改变当前地图数据的显示范围;图例展示功能是用来说明当前显示的地图数据的信息;地图切换是通过点击按钮来实现对底图的切换;气象站坐标显示功能当鼠标靠近具体的气象站点时显示该站点的空间坐标,功能实现如图14所示。系统还包括了安徽省区域内各个市的定位和高亮显示功能,这是功能的实现其实是对ArcMap中单个地图要素的Zoom to layer功能的调用。这个功能在系统中的具体实现情况如图15所示:
图10 地图浏览功能展示
图11 地图图例 图12 图层切换工具 图13 导航工具 图14 坐标显示
图15 定位结果展示
气温查询检索模块在系统功能中包括统计图的展示和温度数据的查询两个大块。统计图的展示:主要是柱状图和折线图的展示。这一功能的实现是通过调用Visifire for Silverlight插件中的图表功能完成的。在本系统中,统计图查询有三种方式,分别是:按地区查询,即使用相同年份、相同月份各个地区的温度数据生成统计图;按年份查询,即使用相同地区、相同月份各个年份的气温数据生成统计图;按月份查询,即使用同一地区某一年的各个月份的气温数据生成统计图。温度数据查询,这一功能的实现是通过Silverlight与SQL Server数据库的连接,将数据库中的数据按照查询方式的不同展示在系统的DataGrid框中供用户查看。温度数据的查询在系统中主要是三种方式:按各个地区查询,即查询各个地区同一年份、同一月份的所有温度数据;按各个年份查询,即查询同一地区同一月份、各个年份的所有温度数据;按各个月份查询,即查询某一地区某个年份、各个不同月份的温度数据,具体实现如图16~图18所示。
图16 2000年2月各市气温变化柱状图查询
图17合肥市各年气温数据查询结果图18 2015年各市气温数据查询结果
气温专题图模块主要是等温线专题图的生成和等温面专题图的生成,在系统中选择所要插值的年份和月份之后,再点击专题图的类型即等温线或等温面,就可以在地图展示窗口中看到应用克里金插值法得到的对应时间经过渲染的等值线或等值面。专题图生成的核心思路:在ArcGIS中建立气温数据的插值模型,包括等值线生成模型和等值面生成模型,再将模型都发布成GP服务,最后在Silverlight中调用对应的模型生成相应的专题图。在系统中选择2015年1月查询条件进行气温专题图的查询,查询得到的结果如图19~20图所示:
图19等温线2015年1月查询结果
图20 等温面2015年1月查询结果
以研究区域气温信息变化监测与管理作为系统开发背景,针对研究区域气温信息特征和特定的监测管理要求,基于ArcGIS Server平台对研究区域气温信息系统进行集成和开发,通过构建克里金插值模型并将模型发布成GP服务,再调用GP服务将安徽省连续11年各个气象站的气温变化数据在研究区范围内插值成等温线和等温面。借助于GIS强大的数据处理分析能力和可视化表达手段对空间及气温属性数据进行科学管理、分析和展示。通过相应的统计分析和空间分析更加直观地展示研究区气温的变化趋势,便于向社会公众更为及时准确地传达气温变化情况,也为安徽省相关部门的研究工作提供数据依据和技术参考。
系统在完成相应的核心功能外,也存在一些不足之处。系统所使用的空间插值模型不够优化,在今后的开发工作中,将进一步改进空间插值算法,寻找更为合适的插值模型,优化数据结构,提高系统数据存取效率。