第二十三篇:UE Ceisum开发之如何加载本地地形及经纬度、空间坐标相互转化

2023-10-30

本篇是基于Cesium for Unreal这个插件,基本入门我这里就不多说了,不会的人可以先跟着这个教程学习一下
Cesium for Unreal快速入门
本篇重点讲述一下如何加载本地地形

1、准备工作
安装最新的Cesiumlab软件和ArcGIS软件
在这里插入图片描述
2、准备数据
(1)、在地理空间数据云上下载所需的高程数据,根据你所需的经纬度选择其中一个下载,下载完会得到一个压缩包,解压后会得到一个.img的文件
地理空间数据云
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
(2)、ArcGIS转化数据
通过ArcGIS软件将得到的.img文件转换为.tif格式的文件,这么做的原因是因为下一步的cesiumLab软件并不能处理.img格式的文件,只能处理.tif格式的,打开ArcGIS软件,打开.img文件,TOC列表中右击.img文件,“数据”——“导出数据”,“导出栅格数据”窗口中格式选择tif,选择保存开始转换。
在这里插入图片描述
在这里插入图片描述

(3)CesiumLab处理地形数据
打开CesiumLab软件,选择数据处理----地形切片----添加tif文件----选择散列文件----选择输出文件夹----确认----之后等待进度条结束----点击分发服务----地形服务,就会看到地形的url和经纬度范围
在这里插入图片描述
在这里插入图片描述

(4)UE加载地形
将地形服务的URL填入Cesium World Terrain的URL中,将经纬度填入到CesiumGeoreference-1中的经纬度中
在这里插入图片描述
在这里插入图片描述

这样,本地地形就加载出来了,前提是需要开着cesiumlab软件,如果不想每次打开这个软件,可以用tomcat在本地开启一个服务,这里给大家提供一个参考
CesiumLab地形处理成果在Tomcat和IIS上发布

(5)经纬度和空间坐标相互转化
打开主关卡蓝图,引用CesiumGeoreference-1和DynamicPawn两个对象
Inaccurate Transform Ue to Longitude Latitude Height:ue坐标转化为经纬度坐标
Inaccurate Transform Longitude Latitude Height to Ue:经纬度坐标转化为ue坐标
在这里插入图片描述

(6)百度、高德坐标转化为谷歌坐标
因为cesium for unreal用的是谷歌地图,也就是WGS84坐标系,而国内的高德地图是火星GCJ02坐标系,百度用的是BD09坐标系,所以我们一般开发拿到百度或者谷歌的坐标之后需要转化为谷歌坐标。
新建一个C++类,命名为CoordinateTrans,.h文件和.cpp文件如下

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "CoordinateTrans.generated.h"

UCLASS()
class CESIUMDEMO_API ACoordinateTrans : public AActor
{
   
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	ACoordinateTrans();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

public:
	UFUNCTION(BlueprintCallable, Category = "Cesium"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第二十三篇:UE Ceisum开发之如何加载本地地形及经纬度、空间坐标相互转化 的相关文章

随机推荐

  • Java中的OIO和NIO详解(含代码)

    简介及示例 Java NIO New I O 和OIO Old I O 是Java提供的两种不同的I O模型 OIO Old I O 是传统的阻塞I O模型 也称为同步I O 在OIO模型中 每个I O操作 如读写操作 都会阻塞当前线程 直
  • 随手记录(日历)

    日历
  • 7.最大最小距离算法与最大最小距离

    7 最大最小距离算法与最大最小距离 最大最小距离算法 最大最小距离算法是一种聚类算法 算法描述 1 任意选取一个样本模式作为第一聚类中心K1 2 选择离Z1最远欧氏距离的模式样本作为第二聚类中心K2 3 逐个计算每个模式样本与已确定的所有聚
  • 哈希表(散列表)原理详解

    什么是哈希表 哈希表 Hash table 也叫散列表 是根据关键码值 Key value 而直接进行访问的数据结构 也就是说 它通过把关键码值映射到表中一个位置来访问记录 以加快查找的速度 这个映射函数叫做散列函数 存放记录的数组叫做散列
  • Kibana启动Kibana server is not ready yet

    问题 页面访问Kibana路径显示 Kibana server is not ready yet 原因1 启动Kibana时指定ElasticSearch地址错误 http 116 62 19 81 9200 需要改为自己本机服务器的ip和
  • python调用GPT实现:智能用例生成工具

    工具作用 根据输入的功能点 生成通用测试点 实现步骤 工具实现主要分2个步骤 1 https请求调用Gpt 将返回响应结果保存为 md文件 2 用python实现 将 md文件转换成 xmind文件 3 写个简单的前端页面 调用上述步骤接口
  • zabbix-server仪表板出现: 不

    1 检查配置文件 vi etc zabbix zabbix server conf 里面的配置项是否还是原始的 如果是 请修改如下 2 检查第二个配置文件 vi etc zabbix web zabbix conf php 修改之前的原始配
  • 未转变者怎么调服务器难度,Unturned——作弊模式下的各项数值微调【较实用的已详细描述】...

    您尚未登录 立即登录享受更好的浏览体验 您需要 登录 才可以下载或查看 没有帐号 注册 register x 本帖最后由 Crazy Zombie 于 2017 8 11 10 31 编辑 如标题所示 在下发一个关于Unturned模式下各
  • 区块链与哈希函数

    目录 哈希函数 定义 性质 发展 常见攻击方法 1 穷举攻击 2 生日攻击 3 其他攻击 构造方法 1 利用对称密码体制来设计哈希函数 2 直接设计哈希函数 编辑 常用哈希函数简介 1 SHA 256算法 编辑 2 Keccak算法 3 S
  • Rust 学习心得<3>:无栈协程

    Rust 学习心得 lt 3 gt 无栈协程 有栈协程 vs 无栈协程 Go 有栈协程 Rust 协程 绿色线程 GreenThread 无栈协程 协程解决的问题 Rust作为一门新兴语言 主打系统编程 提供了多种编写代码的模式 Rust在
  • 虚幻引擎入门_框架

    虚幻引擎所提供的GamePlay框架可谓是虚幻引擎最为重要的一部分内容也不为过 虚幻引擎的设计希望开发人员在使用引擎之前是准备好了的 并且有充足的能力去理解游戏设计意图 在此之上为我们提供了一套开发规则 我们称之为游戏框架 GamePlay
  • 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    1 给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 示例 2 输入 ra
  • 环形缓冲器

    环形缓冲器 ringr buffer 也称作圆形队列 circular queue 循环缓冲区 cyclic buffer 圆形缓冲区 circula buffer 是一种用于表示一个固定尺寸 头尾相连的缓冲区的数据结构 适合缓存数据流 中
  • 编译出错总结

    1 incompatible types in assignment of char to char 64 可以使用strcpy 解决 2 error assigning to an array from an initializer li
  • Unity PlayerPrefs记录时间

    static public void SaveDateTimeInPlayerPrefs string key DateTime dt string timeStr dt ToString yyyy MM dd HH mm ss Playe
  • 时序预测

    时序预测 MATLAB实现基于BP神经网络的时间序列预测 递归预测未来 多指标评价 目录 时序预测 MATLAB实现基于BP神经网络的时间序列预测 递归预测未来 多指标评价 预测结果 基本介绍 程序设计 参考资料 预测结果 基本介绍 Mat
  • IOS7手势识别

    添加一个view 给view加上各种手势查看效果 UIView gestureTestView UIView alloc initWithFrame CGRectMake 100 100 200 200 gestureTestView ba
  • AI开源项目分享:pytorch增强图像数据、Tensorflow 2.0实现...

    文末免费送电子书 七月在线干货组最新 升级的 名企AI面试100题 免费送 项目一 igel 无需编写代码即可训练 测试和使用模型 一个令人愉悦的机器学习工具 可让您无需编写代码即可训练 拟合 测试和使用模型 该项目的目标是为技术用户和非技
  • Windows server 2008 r2关于SMB签名未配置的漏洞修复

    一 漏洞描述 SMB签名未配置漏洞是指 远程SMB服务器上未配置需要签名 这将导致未经身份验证的远程攻击者可以利用此漏洞对SMB服务器进行中间人攻击 SMB是一个协议名 全称是Server Message Block 服务器消息快协议 用于
  • 第二十三篇:UE Ceisum开发之如何加载本地地形及经纬度、空间坐标相互转化

    本篇是基于Cesium for Unreal这个插件 基本入门我这里就不多说了 不会的人可以先跟着这个教程学习一下 Cesium for Unreal快速入门 本篇重点讲述一下如何加载本地地形 1 准备工作 安装最新的Cesiumlab软件