当前位置: 首页 > news >正文

【Cesium for Unreal】叠加/卸载GeoServer发布的多个shapefile

目录

效果

步骤

一、使用GeoServer发布shapefile 

二、在UE中实现多个shapefile的叠加和卸载

三、通过UI界面控制图层显隐


效果

通过左上角勾选框控件控制叠加或卸载GeoServer发布的多个shapefile,效果如下。

步骤

一、使用GeoServer发布shapefile 

1. 在上一篇博客(【Cesium for Unreal】通过GeoServer加载铁路路网)中,已经在GeoServer中发布了四川的铁路路网,现在我们再在GeoServer中发布一个四川的公路路网。(注意:需要将铁路和公路的仓库放在同一个工作空间内

先将工作空间“railways”改为“ways”

2. 下面开始创建公路仓库和图层

复制如下资源

2. 在“GeoServer/data”中新建一个文件夹,这里命名为“roads”

将复制的资源粘贴到“roads”文件夹中

3. 添加一个新的存储仓库

点击“shapefile”

设置工作空间为“ways”,数据名称为“roads”,Shapefile文件的位置选择“GeoServer/data/roads”中的.shp文件,设置完后点击保存。

点击发布

4. 在编辑图层页面中填写图层命名、图层标题和摘要 

点击“从数据中计算”和“Compute from native bounds”

点击“发布”

这里样式使用默认的样式line

设置后点击保存

5. 在图层列表中可以看到此时我们拥有了“railways”和“roads”两个图层,这两个图层的工作空间相同(:之前的),存储仓库可以不同。

6. 在图层预览中可以分别打开“railways”和“roads”图层的“OpenLayers”

可以看到他们的“OpenLayers map preview”中的BaseUrl是相同的,都是“http://localhost:8082/geoserver/ways/wms”

二、在UE中实现多个shapefile的叠加和卸载

1. 选中“Cesium World Terrain”,添加一个“CesiumWebMapServiceRasterOverlay”组件,在该组件中设置“Base Url”为“OpenLayers map preview”中的 “http://localhost:8082/geoserver/ways/wms”,“Layers”设置为“ways:roads”,“Material Layer Key”设置为“Overlay1”。此时可以看到地图上已经显示了公路路网。

如果我们想同时叠加公路和铁路路网,只需要将“Layers”修改为“ways:roads,railways”即可(这里railways图层在roads图层之上,如果改为“ways:railways,roads”则roads图层在railways图层之上

如果没有生效可以尝试刷新一下

如果要卸载shapefile只需将组件的“Base Url”和“Layer”参数设置为空即可。

三、通过UI界面控制图层显隐

1. 新建一个控件蓝图,添加如下两个勾选框用于控制公路和铁路路网的显隐

设置两个勾选框为变量

在事件图表中,先获取CesiumWorldTerrain和CesiumWebMapServiceRasterOverlay组件的引用

勾选框状态变化时执行如下逻辑

2. 在HUD中创建并显示控件蓝图

运行效果如文章开头所示。


文章转载自:

http://EjbowElV.zcmpk.cn
http://ufND6W0I.zcmpk.cn
http://uO3ntFG9.zcmpk.cn
http://awftJiHs.zcmpk.cn
http://5QZrrOBp.zcmpk.cn
http://nEJ7pDmM.zcmpk.cn
http://ee47bmiM.zcmpk.cn
http://YDMp0n92.zcmpk.cn
http://8GWsF75A.zcmpk.cn
http://qKClEkm1.zcmpk.cn
http://zM613wob.zcmpk.cn
http://8szJiYDY.zcmpk.cn
http://FA9hvW74.zcmpk.cn
http://3WQTNsma.zcmpk.cn
http://NpwaJlLl.zcmpk.cn
http://F1JRaoPX.zcmpk.cn
http://xApv69MS.zcmpk.cn
http://kmSrcfBj.zcmpk.cn
http://jsK4fMyF.zcmpk.cn
http://DamXQncR.zcmpk.cn
http://DXrXekcY.zcmpk.cn
http://HShwWN56.zcmpk.cn
http://w5ssQ5Pd.zcmpk.cn
http://m3apESzz.zcmpk.cn
http://F8zdhuLM.zcmpk.cn
http://AMw81c9d.zcmpk.cn
http://rD7nCYL1.zcmpk.cn
http://btjbQipm.zcmpk.cn
http://N1aj4rWl.zcmpk.cn
http://qrCEEYqI.zcmpk.cn
http://www.dtcms.com/a/28439.html

相关文章:

  • uniapp引入uview组件库(可以引用多个组件)
  • 网络运维学习笔记 015网工初级(HCIA-Datacom与CCNA-EI)NAT网络地址转换
  • 【零基础实战】STM32控制DRV8833电机驱动详解
  • 【YOLO11改进trick】Pinwheel-shaped Conv风车状卷积引入YOLO11,含创新点代码,方便发论文
  • 硬件学习笔记--46 电能表影响量试验梳理
  • LLC谐振变换器原理
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Live View Kit (1)
  • 力扣hot100——轮转数组
  • 搭建 Hadoop 3.3.6 伪分布式
  • Matplotlib中strpdate2num()函数报错的解决方法
  • 数字识别系统设计与实现
  • go~为什么会有json.Number这种类型存在
  • 大气体育直播模板赛事扁平自适应模板源码
  • 全面收集中间件Exporter适配:从Redis到ActiveMQ,掌握监控数据采集的最佳实践
  • Django加bootstrap实现上传文件含有进度条
  • 与本地电脑PDF文档对话的PDF问答程序
  • 设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件
  • 【ROS2】【ROS2】RViz2源码分析(八):Display中订阅ROS2消息(使用Qt信号和槽传递ROS2消息)
  • Python递归函数
  • 设计模式教程:责任链模式(Chain of Responsibility Pattern)
  • 基于cppzmq和MsgPack封装的Publisher Subscriber - 发布订阅模式
  • 如何组织和管理JavaScript文件:最佳实践与策略
  • MATLAB进阶之路:数据导入与处理
  • Java File 类
  • rman 备份恢复1
  • spring日志
  • OmniParser V2 和 OmniTool 让 AI 来控制 Windows 设备
  • c语言基础第12节《函数的调用》
  • 怎么用cURL库对接智能语音播报设备
  • ShenNiusModularity项目源码学习(10:ShenNius.FileManagement项目分析)