主体思路:先使用水经注软件下载瓦片数据,再使用Python转换瓦片数据格式(TMS),使用Nginx发布网络服务,最后将网络服务加载到UE中。
步骤:
使用水经注下载瓦片数据,这里下载的是全球七级地图存放在/map文件夹内
用python install GDAL(Whl文件下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal)
pip install GDAL-3.3.3-cp39-cp39-win_amd64.whl
再安装gdal2tiles
pip install gdal2tiles
运行如下代码:
import gdal2tiles
if __name__ == '__main__'
gdal2tiles.generate_tiles(r'D:\imageDir\全球7级WGS84卫星影像.tif', r'C:\Users\Desktop\tms', np_processes=2, zoom='7-9')
运行代码后得到如下文件:
点击其中生成的利用leaflet的预览文件
我创建了一个项目文件夹,其中map文件夹用于存放刚生成的tms数据,还有一个从网上下载的Nginx服务器,还有一个用于存放前端代码,这里可以不用管。
打开Nginx的配置文件,进行如下配置:
运行Nginx,访问127.0.0.1:8090/tms/,看到如下界面表示成功
再访问127.0.0.1:8090/tms/leaflet.html,可以看到该网页使用服务器成功发布
打开UE4导入Cesium插件
可以参考我的这篇文章:UE4 GIS Cesium for Unreal插件的使用 教程
删除 “Bing Maps Aerial”组件
选中“Cesium World Terrain”,点击添加组件,添加“Cesium Tile Map Service Raster Overlay”
填入URL
运行:
断网后还是可以加载地理信息,但是没有高度