1. 引言
地面沉降是自然因素和人类工程经济活动因素作用下,由于地下松散地层固结压缩,导致区域性地面标高降低的一种地质灾害现象,具有覆盖范围广、破坏程度高、监测难度大的特点。大面积的地面沉降,对人民的生命和财产构成严重的威胁,直接影响着国民经济持续发展和社会安定 [1]。浙江省绍兴市上虞区地处浙江省四大沉降易发平原中的宁绍平原中部,属于地面沉降地质灾害易发区域,且人口密集,经济发达,大型基础设施较多,嘉绍跨江大桥、杭甬高铁、沪甬杭高速从区内穿过,极易发生地面沉降地质灾害并引发其它次生灾害,给上虞地质灾害防治带来了很大困难,迫切需要开展全区大范围地面沉降监测和信息管理,提高防灾减灾水平。
InSAR(Synthetic Aperture Radar Interferometry,合成孔径雷达干涉测量)技术是近年来地面沉降监测的新方法,可有效克服水准测量和GPS网测量等传统方法的缺陷,实现大范围地面沉降的高精度密集监测 [2] [3] [4] [5]。另一方面,随着互联网技术的发展,将GIS与Web技术相结合的WebGIS系统越来越受到人们的重视,具有强大网络化的数据管理、空间分析、空间信息可视化功能,在各类GIS专题信息Web发布和管理中得到了广泛应用 [6] [7] [8]。现有主流的基于B/S(Brower/Server)模式的WebGIS系统均具有良好的GIS信息网络发布服务功能,但当传输数据量很大或者开发复杂模块的时候,尤其是在海量、多维、时序InSAR地面沉降信息网络动态更新的情况下,容易造成网络和服务器传输负担过重、速度减慢等问题。而.NET框架具有跨平台、组件化、松散耦合、执行效率高等优点,结合.NET技术、WebGIS系统和高效时空数据库索引技术,开发出的Web信息服务系统具有并发能力强、功能强大且方便移植等特点。
本文在上虞地区实施地面沉降长期动态InSAR监测基础上,基于ArcGIS for Server平台,采用当下较为先进的.NET技术,针对上虞区地面沉降信息发布和管理需求,同时考虑到地面沉降信息具有多源、密集、海量等特点,建立基于WebGIS的InSAR地面沉降信息实时发布系统,实现大范围、多尺度、高动态地面沉信息的数据库建设、实时查看、属性查询、统计分析等功能。
2. 监测区概况
本次监测区为浙江省绍兴市上虞区,该区地处绍兴市东部,东经120˚36'23''~121˚6'9''、北纬29˚43'38''~30˚16'17'',南北最长约60公里,东西最宽约46公里,面积约1403平方公里。重点针对沉降易发平原区域,如上虞城市规划区及北面崧厦镇、沥海镇、小越镇、道墟镇、谢塘镇、盖北镇等大片平原区块,杭州湾上虞工业园区块,永和镇、丰惠镇及其周边平原区块,章镇周边平原区块等进行监测。
自2015年以来,该区开展InSAR地面沉降四期监测,先后利用意大利宇航局Cosmos-SkyMed卫星和欧洲空间局Sentinel-1卫星SAR获取时间序列SAR数据,采用时序InSAR技术获取了2015~2017年间地面沉降速率和累积沉降量,监测点达300万个,共约45次观测。
3. 系统设计
3.1. 总体架构
系统采用.NET技术体系,利用B/S(Browser/Server,浏览器/服务器)模式实现。地面沉降监测信息发布服务系统的总体架构包括:表现层、业务层和数据层,总体架构如图1。
表现层由UI(User Interface)和UI控制逻辑组成。UI是客户端的用户界面,负责从用户方接受命令、请求、数据,传递给业务层处理,然后将结果呈现出来。UI控制逻辑包括JS、AJAX等技术。JS作为前端脚本,负责系统的具体实现。AJAX是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,这使得使用了AJAX技术后的界面比传统的网页加载速度更快,浏览更流畅。
业务层封装了实际业务逻辑,包括图层数据加载、成果展示、沉降信息查询、统计分析、表格查看、图件报表输出等,它是整个系统的核心,用户的各类交互操作也都是在该模块完成。
数据层是系统中唯一进行数据访问、数据控制和数据安全校验的部分,实现对系统数据“进出”、管理与维护,是系统正常及有效运行的保障。数据层主要包括InSAR监测值数据、水准测量值数据、SAR

Figure 1. The frame of the land subsidence information distribution system
图1. 地面沉降信息发布系统总体框架
影像数据、图件成果数据、地理单元数据、上虞天地图底图数据、表格数据等,是整个系统的基础部分。其中,InSAR监测值数据同时带有时间、空间和沉降值信息,是系统数据部分的核心。
3.2. 数据库结构设计
在地面沉降的应用中,除了要求我们提供当前静态的地面沉降信息外,更希望我们提供区域地面沉降的时空分析功能,能够反映监测区域地面沉降的历史状态,并预测未来发展的趋势。所以本系统采用多维度时空数据库对InSAR地面沉降监测数据进行组织。获取InSAR地面沉降结果后,在时间维度和空间维度上分别记录数据属性信息。时间维度上,记录SAR影像的拍摄时间和每期次相对于第一期时间的沉降信息;空间维度上,记录相干点目标的经纬度坐标和相对于SAR影像的行列号。
数据库结构设计包括数据库概念模型、逻辑模型和物理模型。
1) 概念模型
概念模型主要是指系统各类数据之间的关系。本项目系统中所涉及的各类数据,其组织关系如图2所示。
本系统中数据类型主要包括InSAR监测值数据、地理单元数据、历年水准数据、查询统计分析数据、上虞天地图数据、SAR影像底图数据及其WFS服务数据、图件成果数据及其WMS服务数据、表格数据等。其中,InSAR监测值数据是指通过InSAR地面沉降软件处理并进行入库处理后获取的成果数据,地理单元数据是指依据行政区划(乡镇级)划分的地理统计单元,历年水准测量数据是指通过搜集及测量获取的上虞区水准数据,查询统计分析数据是指对InSAR监测值数据、地理单元数据、历年水准数据等数据进行查询统计分析后形成的成果数据,主要包括InSAR沉降时间曲线图、年平均沉降速率图、沉降基本统计分析图、沉降分布曲线图、沉降分布统计图等数据。SAR影像底图数据是纠正好的SAR影像幅度图,通过ArcGIS Server将其发布成服务后形成SAR底图WMS服务数据;图件成果是项目形成的各类图件,

Figure 2. The relationship of the various data in the system
图2. 系统数据组织关系
包括平均速率图、累积沉降图等,通过ArcGISServer将其发布成服务后形成图件成果WMS服务数据;表格数据是指项目形成的各类统计表格,将其在系统中展示后,形成表格展示数据,主要乡镇年沉降统计表、乡镇年平均沉降速率表等。
2) 逻辑模型
系统逻辑模型主要包括表信息表、期次表、区块InSAR信息表、区块水准表、ArcgisServer表、行政区表、行政边界表等表结构设计。表1给出区块InSAR信息表结构的示例。
3) 物理模型
数据库利用MySQL进行组织,MySQL将数据保存在不同的表中。本系统的数据库名称为InSAR_shangyu,其它数据库表命名约定如下:数据库表命名都是以“具体表_info库的英文词汇组成,多个单词之间以英文分割”,数据表字段则采用驼峰命名方式。
4. 关键技术
4.1. 流模式数据加载技术
当前主流的WebGIS系统主要支持图层全要素载入模式,在系统初始化时加载全部图层数据,包括各类矢量图层、栅格影像和模型数据等。该模式在数据量较少或以栅格数据主时,对系统资源需求较少,但当数据量较大且结构复杂时,由于整个系统运行过程中数据信息统一保存在内存中,系统初始化需要较长时间并且耗费大量内存。本文借鉴SkyLine系统的流模式载入原理 [9] ,设计了流模式与WFS(WebFeatureService)混合的数据载入模式。采用所见即所得方式,根据提前设置的参数确定可视范围和图层,按照缩减区域进行动态加载。海量时序InSAR地面沉降信息以流模式发送数据给客户端/浏览器,而水准资料、天地图数据、影像底图数据等图层以WFS方式进行发布,这种混合模式既降低了系统初始化的时间,又减少了系统内存的占用,从而有效解决了海量数据快速加载的问题。
4.2. 空间数据缓存技术
为了提升用户交互体验以及数据发布的时效性,WebGIS系统采用多层结构的分布式系统,即空间数据可分布式缓存在服务器端和客户端 [10]。服务器端缓存通常适用于缓存数据量比较大、缓存需要被多个用户进行共享的情况。某些应用系统中有些数据不需要被其他用户进行共享,但建立缓存可以提高单个客户端数据请求的响应速度,这种情况下通常采用客户端缓存。本文客户端和服务器端局部数据存储

Table 1. The structure of the block InSAR information
表1. 区块InSAR信息结构列表
采用AJAX技术实现。AJAX的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化 [11]。客户端脚本语言采用JavaScript,通过AJAX技术提供与服务器异步通信的能力,使用户可从请求-响应的循环中解脱出来,灵活实现局部的数据快速刷新和存取操作。
4.3. 时空数据库索引技术
以时序InSAR为主的地面沉降信息具有多维、异构、海量、动态等显著的大数据特征,对WebGIS空间数据的表达、存储、管理和检索提出了更高要求。现有的大多数空间数据库索引技术都是基于R树的变体,这些单一的索引技术按照不同的方式对时态和空间数据进行组织以支持不同的时空查询,目前已不能满足复合空间数据的快速查找,且其性能随着数据量的巨增及索引数据的不断更新而急剧下降。因此,本文引入一种近期发展起来的时空数据库索引技术(IDynamic Packing Trajectory Index,IDPTI) [12] ,这种面向移动对象的索引技术采用R树和链表组合而成的混合索引结构,其中,链表用于存储形变时间序列数据,解决快速变形对象索引的时效性问题,采用动态紧缩的R树查询能够在保证高效更新操作的同时,显著地提高查询操作效率并降低存储开销。这种两层索引结构实现了较高的查询效率和较低的存储开销 [13]。
5. 系统实现
5.1. 开发环境
本文GIS服务器采用ArcGIS Server,地图模块客户端基于ArcGIS API For JS开发,主要负责地图服务的管理和发布;数据库采用Oracle MySQL标准版,主要负责海量数据的存储与管理。服务器端操作系统采用Windows server系列,主要负责Web站点的管理和信息发布。基于.NET框架的众多优点和特性,服务器端编程语言选用Visual Studio 2008平台下C#面向对象语言,选用Visual Studio.NET 2008作为开发工具。
5.2. 系统功能
系统实现了数据加载、成果展示、沉降值查询、统计分析、表格查看和报表图件输出等功能(图3)。
5.2.1. 图层加载模块
图层加载模块需要加载的数据主要包括:底图数据、SAR影像数据、InSAR监测值数据和水准测量值数据。其中,底图数据利用上虞天地图数据,通过服务调用这些数据作为本系统的底图数据。SAR影像数据是获取的上虞区SAR影像平均幅度图,通过对原始SAR影像数据进行地理编码和几何纠正等处理后,再发布成服务供系统调用。InSAR监测值数据和水准测量值数据是项目成果数据,按照特定的格式要求存入数据库中,供系统查询统计和分析等。其中,数据库数据在系统后台加载,数据库利用MySQL进行组织。
5.2.2. 成果展示模块
成果展示模块主要实现各类图件成果的展示,主要图件成果包括:上虞InSAR沉降速率图、上虞InSAR累积沉降图、上虞沉降等值线图、上虞水准测量分布及验证图等。
上述各类成果图件都通过Arcgis Server发布服务提供,点击查看相应成果图件后,可自动将该成果图件叠加在底图上显示(图4)。
5.2.3. 查询模块
查询模块包括点查询和面查询。其中,点查询:InSAR点目标沉降值查询、水准测量点沉降值查询;

Figure 3. The main functional modules in the system
图3. 系统主要功能模块框架

Figure 4. The average of land subsidence rate in 2015-2017
图4. 2015~2017地面沉降年均速率结果
面查询:主要是指面遍历查询,可根据指定范围(地理单元)、指定时间段和沉降值范围,查询该条件下的所有符合要求的面。依据上述任意组合关系查询,可查询出符合指定条件的所有面信息,这些面在图上高亮显示。
5.2.4. 统计分析模块
统计分析模块包括点目标统计分析、面统计分析。其中,点目标统计分析:InSAR沉降时间曲线图、年平均沉降速率图;面统计分析:对指定地理单元进沉降基本统计分析、沉降分布曲线图统计、沉降分布统计图统计。
如图5,显示的为上虞百官小学附近点目标统计分析情况,曲线图显示的是该点沉降值随时间变化信息。
5.2.5. 表格查看和报表输出模块
主要是指各类统计表格查看显示,包括乡镇年沉降统计表、乡镇年平均沉降速率表等。上述各功能模块提供的图件及统计结果都提供输出打印接口。

Figure 5. The statistic sketch of land subsidence points
图5. 沉降点统计结果示意图
6. 结语
以时序InSAR为主的地面沉降专题信息具有多维、异构、海量、动态等显著的大数据特征,因此对WebGIS空间数据的表达、存储、管理和检索等GIS网络信息服务提出了更高要求。本文采用流模式数据加载、空间数据分布式缓存和时空数据库混合索引等关键技术,基于.NET技术体系,在Arc GIS Server平台和MySQL数据库平台上开发了浙江省绍兴市上虞区地面沉降InSAR监测信息网络发布系统,实现了地面沉降范围、沉降幅度、沉降速率等海量信息的准实时发布、查询和GIS分析等功能,为城市建设及防灾减灾提供了重要的信息服务和决策支持。