当前位置:网站首页>Unity获取真实地理地图应用Terrain笔记
Unity获取真实地理地图应用Terrain笔记
2022-04-23 06:29:00 【Allen7474】
unity获取真实地理地图转3D化笔记
思维导图笔记

软件、网站准备:
1、SAS.Splant:SAS天地图链接.txt-互联网文档类资源-CSDN下载(内网可用)
Sas planet free download(外网可用)
全能电子地图下载器破解版_全能电子地图下载器破解版下载[下载工具]-下载之家(全能电子地图下载器)
PS:这里用SAS完成项目推进。
2、GlobalMaper:Global Mapper(地图绘制工具)V22.0.2 免费无限制版软件下载 - 绿色先锋下载 - 绿色软件下载站 --
3、WorldMachine:World Machine最新中文汉化版下载-World Machine地形之家中文官网
4、地理空间数据云:地理空间数据云
一、SAS中获取卫星图:
-
1、(SAS)软件中获取卫星图:
选择卫星地图方式,天地图可用,这里我使用了MapQuest。(这个会有灰色路线网)。

-
2、(SAS)中框选地形范围:

框选完成之后会弹出窗口,这里我们在 下载 中,选择21 的细分缩放,并点击下载,开始下载被分割的细分地图。

点击开始按钮,开始下载。(如果跑流程,建议设置小一些的细分,比如18-20)。
下载完成后,窗口内的蓝色进度条会跑满,并且会在窗口中显示,任务完成。
这时候,需要点击③号标记,框选图标,带出以下窗口,进行拼接卫星图。

-
3、(SAS)中拼接全图:
窗口被激活后,选择 拼接 选项下的以下框选参数。
这里的缩放:需要和第二个步骤缩放一致,这里还是21的缩放。
质量设定为100%,参考文件.w。

完成设定后,点击开始,开始拼接卫星图。

-
4、(SAS)中导出ECW文件:
ECW文件导出完成。

二、GlobalMaper裁切卫星图:
-
1、在GM软件中裁切,导出图像:
打开GlobalMaper软件后,将ECW文件拖拽到软件中。


-
2、输出光栅图像设置:


选择PNG图像导出之后,也可以选择 输出边界,对输出部分进行裁切,这里整座山我都需要,所以就不进行裁切操作了,相应的输出图像大小也会增加。


确定后,开始导出。

-
3、导出PNG 和TXT坐标信息:
这里继续导出,不过需要选择JPG,我们的目的是导出TXT带有坐标信息的文本。


这里只需要选择TXT(文本)元数据。



框选的经纬度信息,才是我们需要拿到的重要信息,这直接影响到,高程图与卫星图匹配效果。
小知识点:
这里讲一个小知识点,如果你导出的经纬度信息与上图显示的经纬度数据格式不同,请在这里,设置输出经纬度的格式。

三、获取高程图:
-
1、在(地理空间数据云)中下载DEM高程图:
链接:地理空间数据云
打开网站后,先 选择数据集,在填写经纬度信息。


-
2、输入TXT中经纬度确认范围:
在填入数据集和输入经纬度后,点击检索,就会出现可下载的数据集,这时点击下载图标,进行高程图数据集下载。

-
3、下载高程图:
下载完成,并解压后会得到以下三个文件。

四、再进GlobalMaper导出HF2/HFZ:
-
1、再次进入GM,输入经纬度裁切:
将Dem文件拖拽如GM软件中

-
2、导出HF2/HFZ文件格式,并输入经纬度:
选择输出:输出高程网格格式。


输出设置,填入经纬度,设定具体区域。



-
3、再次导入GM-测量,记录 长,宽 数据:
导出HFZ文件后,再次通过GM打开精确经纬度后的HFZ文件。

选中标尺工具,测量长款数据,并记录进文本中。

关注左下角Len参数,并记录。

此处记录长,宽,是为后面导入到WM中所做的准备。

4、导出TIFF格式,在WorldMachine中打开。


五、World Machine 中调节效果:
-
0、WM项目设置,单位为KM,设置地形颜色。
1、项目设置单位。

2、设置地形颜色。

-
1、(HFZ)导入WM,设定长,宽:
1、创建节点,并双击打开节点设置

导入在上文中输出的TIF图像。

取消勾选Preserve Aspect Ratio(自动宽高比例)。
取消勾选后,可以充满整个选取。



2、长,宽,根据在文本中记录的参数,进行填入。
①、设定长宽
②、同步设置
③、自然海拔(真实海拔)

-
2、导入(PNG)卫星图,并设定长,宽:
1、使用相同File Input节点设置,并导入卫星图。
这里除了需要勾选Interpret as RGB (启用色彩)按钮外,其余一致。

PS:小知识点:这里如果导入的图像是黑的,很可能是因为没有启用图像模式的RGB颜色。
这个时候可以将图像导入PS,并修改模式,并输出。

2、修改完成,点击(Refresh From File)从文件刷新过来。

-
3、(WM)中正式处理:
-
创建公路:
1、创建Shapes节点,进行公路创建绘制。
-

创建完毕后,调节参数,设定线段宽度,和海拔高度。


2、右键>>曲线光滑和(Perform Curve Smoothing),公路沿山体绵延铺设(Drop Curve ToSurface of Selected Device)。

选择第二个命令后,即可得到下图效果。

-
-
绘制河流:
-
1、创建Shapes节点,进行河流创建绘制。

2、飞行破碎命令,勾选( Use Breakup)按钮,双击线段,

3、河道凹陷处理,使用Combiner组合设备节点进行凹陷。选择设备中设置为 相减, Subtract即可。


-
-
侵蚀细化地形:
-
1、使用侵蚀设备节点下的遮罩。
遮罩只选择的区域,其他区域正常处理侵蚀效果。

2、这里利用Combiner设备节点,进行对遮罩部分的相加。


3、添加Inverter反转设备节点(白选黑不选)。

4、将反转的设备添加到寝室设备下的Mask开口中。


-
-
添加地形材质:
-
1、利用 宏 创建材质,创建 宏 设备节点。


2、宏,与地形设备,和 侵蚀设备 链接。

这个时候打开平面显示窗口,即可看到贴图材质的效果。

3、显示预览3D下效果,利用Overlay View 设备节点进行预览。预览节点需要输入,高度域和贴图。


-
-
使用卫星贴图,并添加流图痕迹效果:
-
1、在侵蚀节点下,找到Flow Map输出口,连接到显示中可得到流图效果。


2、这里可以利用Color设备改变流图色彩,和利用Layout Generator自定义划线区域设备遮罩显示。


-
-
利用遮罩,为河道、道路添加材质:
-
1、添加Choooser设备为公路添加色彩。

2、创建后,需要向节点输入三个数据类型,A输入卫星图像,B输入其他沥青色图像,C添加高度域,也就是公路或河流高度域。



-
-
导出高度图和所需贴图:
-
1、高度图导出:Hight Output 节点出现细节设定窗口,对路径,格式,进行设定后,单机"Write to Disk"进行高度图生成。

2、Splatmap图导出:在地形导出纹理阶段,创建一个Basic Splatmap节点(RGBA通道设定节点),并配合BipMap Out节点进行输出。

3、Mask图导出:这里导出的SplatMap和Mask贴图相似,所以这里结合了我的上一篇文章
World Machine 地形制作导入Unity工作流笔记
中的流程,通过引用到的所有图像中增加透明通道(基本关于地形的左右贴图都需带通道)来控制,包括Color贴图栏(配合地形shader使用)。
ok,这篇文章以上就全部介绍完了,如何使用真实的地形数据的使用方法。

版权声明
本文为[Allen7474]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Allen7474/article/details/117032397
边栏推荐
猜你喜欢

SQL针对字符串型数字进行排序

int a = 1存放在哪

Scrapy 修改爬虫结束时统计数据中的时间为当前系统时间

How does Apache Hudi accelerate traditional batch mode?

Apache Hudi 如何加速传统的批处理模式?
![MySQL8. 0 installation / uninstallation tutorial [window10 version]](/img/9c/1acf153b410f0d2eb6a23dcdbabb88.png)
MySQL8. 0 installation / uninstallation tutorial [window10 version]

移动端布局(3D转换、动画)

Custom time format (yyyy-mm-dd HH: mm: SS week x)

Towords Open World Object Detection

js之预解析
随机推荐
FSM finite state machine
Online Safe Trajectory Generation For Quadrotors Using Fast Marching Method and Bernstein Basis Poly
Xamarin版的C# SVG路径解析器
NodeJS(四) 字符读取
Nodejs (VI) sub process operation
SVG中年月日相关的表达式
Protobuf 使用
快排的练习
读取修改resource文件夹下的json文件
js案例之求最大值,反转数组,冒泡排序
C# SmoothProgressBar自定义进度条控件
Nodejs (I) event driven programming
斐波拉去动态规划
防抖和节流
Custom time format (yyyy-mm-dd HH: mm: SS week x)
js之DOM学习获取元素
NodeJS(二)同步读取文件和异步读取文件
C# 读取注册表
Hot change scheme and dynamic update strategy of mobile game
Scrapy 修改爬虫结束时统计数据中的时间为当前系统时间