当前位置: 首页 > 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中创建并显示控件蓝图

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

相关文章:

  • 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)
  • 10m光纤做网站/厦门百度公司
  • 没有网站怎么做外贸/湘潭关键词优化公司
  • 一个网站两个域名百度商桥安装方法/广告电话
  • 宣武做网站/网络销售怎么聊客户
  • 交易所网站建设/百度广告投放平台
  • 医院网站建设与管理ppt/百度一下浏览器下载安装