【Cesium for Unreal】加载GeoServer上的地图资源

目录

效果

步骤

一、下载安装GeoServer 

二、在UE中加载GeoServer的World Map

三、在UE中加载GeoServer的Boundary Lines

四、在GeoServer中发布自定义影像数据


效果

步骤

一、下载安装GeoServer 

1. 访问Download - GeoServer,这里使用的是Maintenance版本

2. 点击Windows Installer开始下载

3. 下载后双击“GeoServer-2.25.5-winsetup.exe”开始安装

需要选择电脑上的JAVA环境,没有的话可以点击图中蓝色字体来下载(注意这里提示需要JRE或JDK版本是11或17)

下一步需要指定GeoServer的安装路径 

设置用户名密码

为避免端口占用,这里端口设置为8082

这里让GeoServer作为一个服务,而不是一个软件

点击Install开始安装

最后点击Finish

4. 安装完成后,在浏览器中就可以通过“http://localhost:8082/geoserver”来访问GeoServer了。

二、在UE中加载GeoServer的World Map

1. 成功访问GeoServer后,可以先登陆一下

2. 登录后点击“图层预览”

3. 找到标题为“World Map”的图层,然后点击“OpenLayers”

4. 此时浏览器会打开一个新的网页并显示世界地图

下面我们回到UE中,准备尝试加载这个地图。

5. 首先在UE中选中“Cesium World Terrain”,然后选中“Bing Maps Aerial”组件,可以看到这里的“Material Layer Key”设置为“Overlay0”,表示为最下方图层

6. 为“Cesium World Terrain”添加一个“CesiumWebMapServiceRasterOverlay”组件,这里设置“Material Layer Key”设置为“Overlay1”,表示图层在“Bing Maps Aerial”组件之上

7. 复制GeoServer中World Map的地址(http://localhost:8082/geoserver/ne/wms

将复制后的地址填入“CesiumWebMapServiceRasterOverlay”组件的“Base Url”一栏中

8. 可以看到还需要填写“Layers”

找到World Map的地址中Layers参数的值(这里是:ne%3Aworld)

需要将“%3A”改为“:”(这是因为0x3A对应的是冒号的ASCII码)

改后为:  ne:world

将“ne:world”填入“Layers”一栏中,可以看到Cesium地球发生了变化

9. 此时运行可以看到Cesium地球底图是Bing Map,上层是新加的World Map

三、在UE中加载GeoServer的Boundary Lines

1. 在GeoServer中的图层预览功能中,找到标题为“Boundary Lines”的图层,然后点击“OpenLayers”

打开后如下

可以看到Layers此时为ne%3Aboundary_lines

 

同样的方法,这里将“CesiumWebMapServiceRasterOverlay”组件的“Layers”一项中改为ne:boundary_lines

此时运行就可以看到国家的边界线

四、在GeoServer中发布自定义影像数据

1. 在GeoServer中点击Workspaces 

2. 点击添加新的工作空间

 设置Name和命名空间URL后保存 

此时可以看到添加了一个名为“UETest2”的工作空间

3. 点击“存储仓库”,然后点击添加新的存储仓库

点击添加栅格数据源

设置存储仓库的基本信息和连接参数 

4. 点击发布

确认一遍是否有误后点击保存

5. 在图层预览中找到名为“全球7级..”的图层,然后点击“OpenLayers”

此时就可以用浏览器访问地图