cesium加载离线地图_echarts离线地图

cesium加载离线地图_echarts离线地图Cesium加载谷歌离线地图


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

步骤1:获取谷歌离线影像数据

通过谷谷GIS地图下载器下载拼接影像数据,下载拼接后的数据为.tif格式的栅格数据。

cesium加载离线地图_echarts离线地图

cesium加载离线地图_echarts离线地图 

 

步骤2:处理成影像切片(即瓦片数据,最后有关于瓦片数据的简介)

利用CesiumLab2软件进行影像切割,处理成分级分行分列的.png格式的图像文件(即为瓦片数据)。文件层级:级数/列/行.png。级数每增加一级,分辨率减少为上一级的1/2,例如16级数据的分辨率是2米,17级数据的分辨率是1米,18级数据的分辨率是0.5米。

cesium加载离线地图_echarts离线地图

cesium加载离线地图_echarts离线地图

经过CesiumLab2处理之后输出的数据,按照级数分类,如下图所示,

cesium加载离线地图_echarts离线地图

 

展开1级数据文件夹,里面的文件夹是按照列数分类,如下图所示:

 cesium加载离线地图_echarts离线地图

 

展开第0列文件夹,里面的图片是按照行来排列的,如下图所示:

cesium加载离线地图_echarts离线地图

 

步骤3:通过Nginx发布瓦片数据

找到nginx.conf文件,使用记事本打开,然后将瓦片数据所在路径配置到服务器,如下图所示。浏览器上输入120.0.0.1:8080/data/tiles,如果可以访问到数据,说明发布成功。

cesium加载离线地图_echarts离线地图

 

cesium加载离线地图_echarts离线地图

 

cesium加载离线地图_echarts离线地图

 

步骤4:Cesium3D地图引擎加载谷歌离线瓦片

核心代码如下:

 this.viewer = new Cesium.Viewer(‘cesiumContainer’, {

        animation: false, // 是否显示动画控件

        baseLayerPicker: true, // 是否显示图层选择控件

        geocoder: true,  //是否显示位置搜索

        timeline: false,  //是否显示时间轴

        sceneModePicker: true,  //是否显示2D、2.5D、3D切换按钮

        navigationHelpButton: false,  //是否显示帮助按钮

      

        // 加载离线瓦片数据

        imageryProvider: new Cesium.UrlTemplateImageryProvider({

          url: ‘http://127.0.0.1:8080/data/tiles/{z}/{x}/{y}.png‘,   //发布到nginx上的URL,其中{z}代表级数、{x}代表列、{y}代表行

          fileExtension: ‘png’  //图片格式

        })

      })

加载结果如下图所示

cesium加载离线地图_echarts离线地图

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191307.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 解决Warning: scandir() has been disabled for security reasons in…的问题

    解决Warning: scandir() has been disabled for security reasons in…的问题

    2022年2月10日
  • vue 父组件调用子组件的方法_vue子组件修改父组件值

    vue 父组件调用子组件的方法_vue子组件修改父组件值我们都知道通过$ref可以获取到某个DOM,但是它也可以用来获取子组件的实例,调用子组件的方法例:子组件:<template><div></div></template><script>exportdefault{methods:{c

    2022年10月2日
  • Unity Cinemachine插件全功能详解

    Unity Cinemachine插件全功能详解实现电影级别的分镜,推拉式镜头等,需要2017以上的版本才能使用,配合TimeLine一起使用,和Animator一起.虚拟摄像机不支持AlignwithView【有BUG】还是手动拖比较好1:实现简单的相机跟随效果使用TimeLine实现,由于这次不同于“Unity动画系统案例1”那样需要对人物进行控制。这个项目只是单纯的做CG效果。所以不需要指定动画状态机【但必须挂在Animator…

    2022年6月8日
  • c语言必备100代码(代码大全)

    一个完全入门初学者如何学代码,读代码和写代码,,我想学代码不知道方向谁能给我指明一个方向?1、学代码:前提是你的复有一个比较系统的学习.认真完成每一个课程中的案例.2、读代码:分制两步走:前期能读懂自己写的代码.2113后期能读懂他人写的代码和大致的知道底层的某些源码的含义.多去5261看开发文档(开发文档建议使用官方提供的4102英文版、不要使用中文自己害自己)3、写代码1653:前提是你要有…

    2022年4月18日
  • python的变量名命名规则_python的变量命名规范

    python的变量名命名规则_python的变量命名规范一.python变量名命名规则:1.变量名通常由字母,数字,下划线组成;2.数字不能作为变量名开头;3.不能以python中的关键字命名;4.变量名要有意义;5.不要用汉字和拼音去命名;6.变量名要区分大小写;7.推荐使用驼峰型(GuessAge或guessAge)和下划线(guess_age)来命名;8.常量通常使用大写来定义.二.注释代码的方法1.单行(当行)注释:用#2.多行注释通过三引号完…

    2022年5月1日
  • 数据运营系列(二):如何用合成控制法判断策略实施效果

    数据运营系列(二):如何用合成控制法判断策略实施效果1.合成控制法合成控制法最开始是经济学家用来研究评估某个政策实施在某国家或地区的效果,原理即是反事实框架,假想该地区没有受政策干预会怎样,并与事实上受到干预的结果做对比。二者之差即为“…

    2022年5月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号