1、基于 OpenLayers 的地质资料可视化查询系统研究 秦丽娟 湖北省地质调查院 摘 要: 为提高地质资料信息化服务水平 , 丰富网络服务方式 , 通过图形化方式在线检索、展示和利用地质资料 , 采用基于 Open Layers 的技术开发了湖北省地质资料在线检索可视化服务系统。 关键词: Web GIS; OpenLayers; 地质资料在线服务 ; 前言 目前湖北省国土资源资料馆目前馆藏成果地质资料 8045档 , 共计 19万余件 , 按照国家大数据发展战略和 “ 互联网 +” 行动计划要求 , 地质信息服务要面向社会大众 , 多元化创新服务方式 , 特别是在网络服务模式上要以用户需求
2、为出发点进行创新和深化。由于地质资料数据是具有空间位置信息和空间属性的数据 , 传统的列表浏览和关键字查询的检索方式无法展示地质资料数据的空间特征与属性。为更好的提供基础地质信息服务 , 进行了地质资料可视化查询系统的开发研究工作 , 系统主要面对地质行业工作人员和社会公众 , 向用户提供更加直观的可视化展示与查询服务。 1 系统总体架构 本系统采用基于 B/S 模式的三层架构 , 即界面层 (User Interface layer) 、业务逻辑层 (Business Logic Layer) 、数据访问层 (Data access layer) 。三层架构中业务逻辑层响应界面层的用户请求
3、, 执行逻辑任务并从数据访问层获得数据 , 将处理后的数据按照一定的格式发送给界面层。三层架构的优点是 :在牺牲一定性能的前提下 , 项目结构更清楚 , 分工更明确 , 提高了系统的安全性 , 既便于团队协作 开发 , 也为系统后期维护和扩展打下良好基础。 界面层 , 采用 Open Layers 框架实现多源地图数据叠加显示 , 采用 AJAX 技术与业务逻辑层之间进行数据交互 , 实现客户端浏览器页面的无刷新更新 , 优化用户体验。 业务逻辑层采用 ASP.NET 提供的 ashx 一般处理程序向界面层提供数据服务 , 采用 Map GIS IGServer 平台架设地图服务器 , 发布
4、MAPGIS 格式的地质专业地图服务。 数据访问层通过微软提供的 OLEDB 接口访问 SQL Server 数据库存储的地质资料目录数据 , 向业务逻辑层提供数据。 2 关键技术 2.1 通过 Open Layers 实现多源地图数据叠加 Open Layers 是轻量级的实现交互式 Web 地图的开源 Java Script 类库 , 用于在Web GIS 客户端上实现标准格式发布的地图数据访问与用户交互。 Open Layers支持 Open GIS 协会制定的 WMS (Web Mapping Service) 和 WFS (Web Feature Service) 等网络服务规范 ,
5、 可以通过远程服务的方式 , 将以 OGC 服务形式发布的各类地图数据加载到基于浏览器的客户端显示。 Open Layers 支持 OGC 标准地图服务、多种数据格式、多种网络地图。既支持各种瓦片地图 , 例如 OSM、 Map Box、Bing、 Stamen、 Google maps、百度地图、天地图等等 , 也支持各种矢量格式地图 , 比如 KML、 GML、 Geo JSON、 Topo JSON 等等。 本系统通过 Open Layers 框架实现了多源地图数据的叠加显示 :加载国家测绘地理信息局发布的天地图网络地图服务作为底图图层 , 加载通过 Map GIS IGServer 发
6、布的 MAPGIS 格式的地质专业地图服务作为叠加分析图层 , 加载 SQL Server 数据库存储的地质资料空间位置信息数据生成位于最上层的标注点图层。 Open Layers 向多来源、多格式、多比例尺的地图数据分别进行请求和传输 , 最后在客户端浏览器页面上完成全部图层的渲染和叠加。 2.2 SQL Server 数据库对空间数据的支持以及空间运算的具体实现方法 湖北省国土资源资料馆地质资料数据目前采用 SQL Server 数据库存储 , 每档地质资料的拐点坐标使用符合 WKT (well-known text) 格式的文本字段类型来存储。 SQL Server 作为主流的关系型数据
7、库系统 , 为满足 空间数据应用的需求 , 从2008 版本开始 , 新增两个用于支持空间数据存储与运算的字段类型 :几何平面向量空间类型 (geometry) 和大地向量空间类型 (geography) , 同时提供了相关的空间运算的方法。 SQL Server (2008 及以上版本 ) 提供了方法 geography:STGeom From Text 实现由 WKT 文本格式向 geography 格式数据类型的转换。 SQL Server (2012 及以上版本 ) 提供了 STContains 方法判断 geography 对象之间是否存在包含关系。基于上述方法本系统实现了地质资料信
8、息的空间检索功能 , 用户在浏览器的地图上自由绘制任意空间范围 , 系统将该范围的坐标拐点 WKT 格式字符串传递到数据库 , 从数据库中筛选并显示包含在该范围内的地质资料信息。 2.3 AJAX 技术 Web GIS 应用属于大流量应用 , 因此要求不能频繁的刷新重载整个浏览器页面 , 因此本系统采用 AJAX 技术来实现服务器端与客户端的数据交互。 AJAX 技术在服务器端与客户端之间增加一个 AJAX引擎 , 客户端的请求先发送到 AJAX引擎 , 然后由 AJAX 引擎向服务器端发起请求 , 服务器端只返回必要的数据 , 而不是整个页面 , AJAX 引擎根据返回的数据局部更新客户端页
9、面 , 实现了浏览器的无刷新更新。 2.4 使用 JSON 格式进行数据交换 JSON 作为一种轻量级的文本方式数据交换格式 , 具有通用性好 , 格式简单 , 便于传输等诸多优点 , 而且 Open Layers 和 AJAX和都对 JSON 格式数据有良好的支持 , 因此本系统的服务器端与客户端之间使用 JSON 格式进行数据交换。 2.5 通过 Map GIS IGServer 发布地图服务 因为已经拥有比较丰富的 MAPGIS 格式地图成果数据资源 , 所以本系统采用 Map GIS IGServer 平台作为地图服务器发布 MAPGIS 格式地图数据服务 , 可以充分利用已有的地图与
10、数据库资源 , 缩短开发周期 , 减少图件处理的工作量。 Map GIS IGServer 支持 MAPGIS6.7 和 MAPGIS10 格式的图件直接发布为地图服务。 Map GIS IGServer 可以将 MAPGIS 格式文件发布为 MAPGIS 格式的矢量地图服务和瓦片地图服务 , 还可以发布为符合 OGC 标准的 WMS 和 WFS 等规范的地图服务。 图 1 系统客户端界面 下载原图 3 系统实现 系统客户端界面如图 1 所示 , 浏览器窗口分为地图显示模块和地图查询模块 , 右边的地图显示模块提供了地图的显示、缩放、平移、复位、切换底图和叠加地图等基础功能。左边的地图查询模块
11、既提供了传 统的基于各类检索条件的字符串组合检索的方式 , 也提供了基于空间位置信息的查询方式。用户可以在当前地图显示窗口范围内查询 , 也可以在地图上自由绘制一个封闭区域范围查询。查询的结果既以传统列表的形式展示于地图查询模块 , 同时也以标注点的形式直接标记在地图上 , 点击标注点展开资料详细信息。 4 结束语 本文通过对基于 Open Layers的地质资料在线检索可视化查询系统的研究 , 实现了地质资料的检索展示从文本查询向图形化查询展示的进步 , 提供了准确 , 高效 , 形式丰富直观的地质资料在线查询功能 , 一定程度上提升了 地质信息化服务水平 , 向行业用户和社会公众提供了更好的基础地质信息服务。 参考文献 1杨鹏 , 邹时林 .基于 Open Layers 的 Web GIS 客户端的研发 J.测绘与空间地理信息 , 2012, 35 (3) :131-133. 2李新庆 , 等 .Open Layers 在宁夏区域自动气象站显示系统中的应用与研究J.宁夏工程技术 , 2015 (06) :14-2. 3吴信才 .Map GIS IGServer 原理与方法 M.电子工业出版社 , 2012. 4黄露 .基于 Map GIS IGServer 的地质灾害气象预警预报系统的研究与应用 A.第十届全国数学地质与地学信息学术研讨会论文集 C.2011.