如何在 OpenLayers 中调用中间件发布的WGS84卫星影像

2017-11-9 11:50:22 0人评论 0次浏览 分类:技术文章

一、概述

《水经注地图发布服务中间件》发布的谷歌卫星影像瓦片数据支持在OpenLayers中调用,这里以“杭州市”谷歌卫星地图作为调用示例,旨在说明如何在OpenLayers中调用中间件发布的卫星影像。


二、如何下载杭州市谷歌卫星地图

万能地图下载器中,选择地图类型为“谷歌地球”,数据类型为“卫星”地图,如下图所示。


1选择地图类型.jpg


选择下载任务范围时,可以通过框选、多边形选择或按行政区划的方式下载影像数据,这里选择按“杭州市”的行政区划范围下载,点击“下载”可以显示“新建任务”对话框。


2选择下载范围.jpg


在“新建任务”对话框中,分别作出以下参数设置。

1)设置下载类型

选择“影像+标签:分别下载影像和路网”将影像和路网分开下载。

2)设置下载级别

由于需要在缩放时每一级都显示下载影像,因此在下载数据时建议选择1-19级(如果范围在省以上,建议分成多个块下载),这里以第4到14级为例。

3)设置导出选项

由于我们只需要任务文件,不需要导出为大图片或瓦片,因此这里取消勾选“下载完成后导出图片”选项。


3新建下载任务.jpg


数据下载完成后,可以在下载列表中预览下载结果,由于影像和路网是分开下载的,因此会有“杭州市”和“杭州市_标签”两个任务。

在任务例表中双击任务名称,会打开任务文件存储目录。


4查看下载结果.jpg


在下载结果目录中,可以看到有dat、idx和kml三种类型的文件。其中,DAT文件中存储的是卫星影像瓦片数据,IDX存储的是卫星影像瓦片的索引,KML文件为任务的下载范围。


5下载结果目录.jpg


三、如何发布杭州市谷歌卫星地图

《水经注地图发布服务中间件》安装后会自带全球第1到7级谷歌卫星地图影像,可以通过点击“WGS84 影像一键发布”查看,该卫星影像数据存放在中间件的安装目录“C:\Program Files (x86)\RiverMap\水经注地图发布服务中间件 X3\cache\wgs84”中。

点击“配置”按钮显示“服务器配置”对话框,可以为中间件配置新的谷歌地球卫星地图下载器数据源。


6中间件管理界面.jpg


由于下载的杭州市谷歌地球卫星地图为WGS84经纬度投影,保存的文件路径为“D:\SGDownload\杭州市”,因此在“服务器设置”对话框中作以下参数设置。


7服务器配置.jpg


点击“确认”完成服务器参数设置后,点击“重启”按钮重启中间件“WeServer”系统服务,确保重启成功,所设置的参数才可以生效。


8重启服务.jpg


服务重启成功之后,可以在“服务器配置”中查看中间件发布的瓦片URL地址。


9获取URL.jpg


瓦片地址可以在浏览器中单独打开,如果地址正确,会显示一张256x256大小的瓦片图片。


10查看瓦片.jpg


URL中的参数说明:

127.0.0.1              服务器IP地址

8080                     端口号

getImage             表示请求影像格式瓦片

getLabel               表示请求地名路网瓦片

getDem                表示请求数字高程瓦片

Z                            级别

X                            列号

Y                            行号


四、如何调用杭州市谷歌卫星地图

经过上述一系列的准备工作,中间件已经成功发布了杭州市的谷歌卫星地图,这里将说明如何在OpenLayers中调用中件间发布的谷歌地球卫星地图的方法。

可以用任何一款开发工具打开 OpenLayers 开发源码,这里以Visual Studio Code为例,在文件菜单中选择“打开文件夹”菜单。


11vscode.jpg


选择 OpenLayers 开发源码所在目录,这里的路径为“e:\API\openlayers”,点击“选择文件夹”可以打开源码。


12选择源码目录.jpg


打开源码后,双击“map.js”文件,将第566和567的URL地址更改为:

var ImageURL = 'http://127.0.0.1:8080/getImage?z={z}&y={y}&x={x}';

var LabelURL = 'http://127.0.0.1:8080/getLabel?z={z}&y={y}&x={x}';


13源码修改.jpg


保存更改后,双击 OpenLayers 开发源码中的“map.html”文件可以查看结果。


14打开地图页面.jpg


用 OpenLayers离线 API 调用中间件发布的杭州市谷歌卫星地图的最终效果,如下图所示。


15查看调用结果.jpg


相关文档,请参阅:

水经注地图发布服务中间件服务配置功能说明

如何安装WebGIS开发工具Visual Studio Code