毕业设计大数据全国疫情数据分析与3d可视化-python大数据(代码片段)

DanCheng-studio DanCheng-studio     2023-03-17     144

关键词:

文章目录


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 大数据全国疫情数据分析与3D可视化

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:2分
  • 工作量:3分
  • 创新点:4分

🧿 选题指导, 项目分享:

https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md

1 课题背景

基于大数据的新型冠状病毒疫情三维可视化,借助3D工具实现新冠病毒的可视化分析。

2 实现效果

全球柱状图

全国和分省的面着色

全国城市热力图

3 设计原理

如何用EarthSDK构建一个简单的三维App

构建步骤
1下载EarthSDK
地址:https://earthsdk.com/v/v1.1.0.zip

2.在本地创建一个文件夹,将EarthSDK放入文件夹内,并新建一个index.html文件。
3.index.html文件写入以下代码:

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta name="xbsj-labels" content="Earth起步"></meta>
    <title>创建地球</title>
    <!-- 0 引入js文件 -->
    <script src="./v1.1.0/XbsjEarth/XbsjEarth.js"></script>
    <style>
        html,
        body 
            width: 100%;
            height: 100%;
            margin: 0px;
            padding: 0px;
        
    </style>
</head>

<body>
    <div id="earthContainer" style="width: 100%; height: 100%; background: grey">
    </div>
    <script>
        var earth;

        function startup() 
            earth = new XE.Earth('earthContainer');

            earth.sceneTree.root = 
                "children": [
                    
                        "czmObject": 
                            "name": "默认离线影像",
                            "xbsjType": "Imagery",
                            "xbsjImageryProvider": 
                                "createTileMapServiceImageryProvider": 
                                    "url": XE.HTML.cesiumDir + 'Assets/Textures/NaturalEarthII',
                                    "fileExtension": 'jpg',
                                ,
                                "type": "createTileMapServiceImageryProvider"
                            
                        
                    ,
                ]
            ;
        

        // 1 XE.ready()会加载Cesium.js等其他资源,注意ready()返回一个Promise对象。
        XE.ready().then(startup);            
    </script>
</body>

</html>

4.在myApp目录下执行命令hs -p 81,从而建议一个本地的http服务。

5.打开chrome浏览器,输入http://127.0.0.1:81,即可访问刚才创建的三维App。

index.html文件代码讲解

1.head节点下需要引入XbsjEarth.js文件。

<script src="./v1.1.0/XbsjEarth/XbsjEarth.js"></script>

XbsjEarth.js内部会自动调用Cesium相关的js和css文件,因此不需要再引入其他Cesium相关的js和css文件。

2.body节点下需要增加一个div

<div id="earthContainer" style="width: 100%; height: 100%; background: grey">

这个div用来承载三维App。

3.创建App

earth = new XE.Earth('earthContainer');

XE.Earth是EarthSDK提供的用来创建三维App的基础类,其参数’earthContainer’实际上是上一个步骤创建的div的id。这样就相当于基于这个div创建了一个三维App。
4 三维场景的基本配置

earth.sceneTree.root = 
    "children": [
        
            "czmObject": 
                "name": "默认离线影像",
                "xbsjType": "Imagery",
                "xbsjImageryProvider": 
                    "createTileMapServiceImageryProvider": 
                        "url": XE.HTML.cesiumDir + 'Assets/Textures/NaturalEarthII',
                        "fileExtension": 'jpg',
                    ,
                    "type": "createTileMapServiceImageryProvider"
                
            
        ,
    ]
;

通过配置earth.sceneTree.root,来给地球表面贴上一层离线影像。

earth.sceneTree代表整个三维App的场景树,这里可以通过简单的JSON配置来达成。这里面只增加了一个CzmObject类型的对象,它的类型xbsjType是Imagery,即影像。

前两不创建App和三维场景配置的代码是写在startup这个函数里面的。我们可以通过:
XE.ready().then(startup);
来调用startup执行相应地创建操作。
那么为何需要通过XE.ready()来操作呢。因为XE.ready()函数会自动加载Cesium.js和相关的css文件,当加载完成以后才能进行Cesium的相关操作。

XE.ready()的返回值是一个Promise,我们可以通过then回调,等到Promise执行完成以后再执行startup操作。

4 部分代码

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
//import ViewUI from 'view-design';
//import 'view-design/dist/styles/iview.css';

Vue.config.productionTip = false;

/* eslint-disable no-new */
// XE.ready()用来加载Cesium.js等相关资源

XE.ready().then(() => 
    // 加载标绘插件
    return XE.HTML.loadJS('../static/XbsjEarth-Plugins/plottingSymbol/plottingSymbol.js');
).then(() => 
    // 加载标绘插件
    return XE.HTML.loadJS('../static/XbsjEarth-Plugins/customPrimitive/customPrimitive.js');
).then(() => 
    // vtxf g_app赋值,方便调试
    window.g_app = new Vue(
        el: '#app',
        router,
        data() 
            return 
                currentArea: 'china',
                mousemoveArea: '',
                //修改 currentDay 为 currentTime 表示整形,DataServer的所有数据查询接口 具有 ut 参数,表示查询的截至时间, 为0 表示取最新值
                currentTime: new Date().getTime(),
                intervalID: undefined
            
        ,
        components: 
            App
        ,
        template: '<App/>',
        mounted() 
            this.startGlobeUpdate();
        ,
        methods: 
            startGlobeUpdate() 
                this.currentTime = new Date().getTime();
                if (!this.intervalID) 
                    var self = this;
                    this.intervalID = setInterval(() => 
                        self.currentTime = new Date().getTime();

                        console.log('globe update', self.currentTime);
                    , 60000);
                
            ,
            stopGlobeUpdate() 
                if (this.intervalID) 
                    clearInterval(this.intervalID);
                    this.intervalID = undefined;
                
            
        
    )
);
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta name="xbsj-labels" content="Earth起步"></meta>
    <title>创建地球</title>

    <!-- 强制提前加载Cesium.js,其中Cesium相关路径可以换成自定义的 -->
    <!-- <script src="../../XbsjCesium/Cesium.js"></script> -->
    <!-- <link rel="stylesheet" href="../../XbsjCesium/Widgets/Widgets.css"> -->

    <!-- 0 引入js文件 -->
    <script src="../../XbsjCesium/Cesium.js"></script>
    <link rel="stylesheet" href="../../XbsjCesium/Widgets/widgets.css">
    <script src="../../XbsjEarth/XbsjEarth.js"></script>
    <style>
        html,
        body 
            width: 100%;
            height: 100%;
            margin: 0px;
            padding: 0px;
        
    </style>
</head>

<body>
    <div id="earthContainer" style="width: 100%; height: 100%; background: grey">
    </div>
    <script>
        var earth;
        var bgImagery;

        function startup() 
            // earth = new XE.Earth('earthContainer');
            earth = new XE.Earth('earthContainer', 
                // 这里设置Viewer的配置,和new Viewer(container, options)中的options一致
                homeButton: true,
                timeline: true,
            );

            earth.sceneTree.root = 
                "children": [
                    
                        "czmObject": 
                            "name": "默认离线影像",
                            "xbsjType": "Imagery",
                            "xbsjImageryProvider": 
                                "createTileMapServiceImageryProvider": 
                                    "url": XE.HTML.cesiumDir + 'Assets/Textures/NaturalEarthII',
                                    "fileExtension": 'jpg',
                                ,
                                "type": "createTileMapServiceImageryProvider"
                            
                        
                    ,
                ]
            ;
        

        // 1 XE.ready()会加载Cesium.js等其他资源,注意ready()返回一个Promise对象。
        XE.ready().then(startup);            
    </script>
</body>

</html>

5 最后

毕业设计-题目:基于大数据的疫情数据分析及可视化系统(代码片段)

文章目录1前言2开发简介3数据集weibo.json新浪微博实时热搜前50的数据ProvinceData.json省市疫情详情4实现技术4.1系统架构4.2开发环境4.3疫情地图4.3.1填充图(Choroplethmaps)4.3.2气泡图4.4全国疫情实时追踪4.6其他页面5关键代码1前言Hi,... 查看详情

简单几行代码实现全国疫情数据可视化(python课程设计)(代码片段)

...面我们通过python对疫情数据进行一个简单的爬取整理以及可视化。#导入模块importpandasaspdimportrequests#首先这是爬取数据和整理数据我们需要用到的第三方库,疫情数据来自腾讯新闻#实时更新:新冠肺炎疫情最新动态https://... 查看详情

计算机毕业设计之springboot+vue.js国内疫情实时追踪可视化系统疫情可视化疫情数据分析平台

特色/创新点websocket实时前后端数据交互显示数据可视化-百度echarts的使用springboot微服务架构java爬虫数据库大表查询优化 开发技术前端技术:vue.js、百度echarts、websocket、axios后端技术:springboot、mybatis数据库:mysql5.7++ 运... 查看详情

计算机毕业设计python新冠疫情数据分析可视化平台

参考技术A前端开发:VUE、ElementUI、ECharts、Maptalks、D3js后端web开发:Flask、Mysql爬虫开发:request数据分析:pandas、numpy数据可视化、爬虫、数据清洗、大数据、3D视图 查看详情

全国疫情数据可视化展示(详细介绍,含完整源码)

一、全国疫情数据爬取1.数据表共有两个,分别为details和history,表结构如下:2.爬取全国疫情数据代码如下:importrequestsimportjsonimporttimeimportpymysqlimporttracebackdefget_details 查看详情

毕业设计python+大数据构建疫情可视化分析系统(代码片段)

...码3.1数据爬虫3.2可视化部分4最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统... 查看详情

用python爬取全国和全球疫情数据,并进行可视化分析(过程详细代码可运行)(代码片段)

...何爬取实时疫情数据,并且分析数据,作出数据可视化的效果。报告梗概:对中国疫情分析1.1展示各省疫情具体情况(包括各省的城市)1.2找出国内新增疫情的城市1.3展示各省这次疫情感染的总人数1.4绘制中... 查看详情

课堂练习-全国疫情统计可视化地图(代码片段)

1第一阶段目标:导入全国疫情数据库payiqing.sql(MySQL数据库)。可以按照时期查询各个省市的疫情统计表格。以折线图或柱状图展示某天的全国各省的确诊人数。1.首先完成数据库的导入,然后编写数据库代码。建立DBUtil.java。... 查看详情

大数据毕设选题-flask疫情数据可视化系统(python)(代码片段)

...;各个学校对毕设的要求越来越高,难度也越来越大…毕业设计耗费时间,耗费精力࿰ 查看详情

数据大屏python爬取全国及北京疫情数据实现可视化大屏(代码片段)

前言Python:print("Python祝程序员元旦快乐!")PHP:echo"PHP祝程序员元旦快乐!";JavaScript:document.write("JavaScript祝程序员元旦快乐!")Go:fmt.Printf("Go祝程 查看详情

全国疫情防控监控平台开发

...包括疫情动态,疫情地图,实时疫情图表,疫情数据统计可视化界面,定点医院的追踪,定点医院信息管理,新闻资讯的展示,分类管理,疫情数据的上报和展示,用户登陆登出,信息及权限的管理,实时天气预报等功能。前端... 查看详情

python根据json数据画疫情分布地图(代码片段)

...录一.基础地图使用1.掌握使用pyecharts构建基础的全国地图可视化图表二.疫情地图——国内疫情地图1.案例效果代码三.疫情地图——省级疫情地图 四.数据集 注:数据集在文章最后一.基础地图使用1.掌握使用pyecharts构建基础... 查看详情

python|新冠肺炎疫情数据的爬取与可视化分析(代码片段)

前言这两年,新冠肺炎肆虐而来,随着确诊人数的不断上升,全世界的人都陷入了恐慌中。我们经常能在手机、电视上看到各个地区疫情的情况,但那些数据大多数都是零碎的,我们不可能去记住每个数据,但我们可以用爬虫爬... 查看详情

毕业设计大数据公交数据分析与可视化-大数据pythonfalsk(代码片段)

1前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能... 查看详情

h5+echarts模拟全国程序员可视化大数据附完整源码(代码片段)

...#x1f345;文末免费获取源码🍅 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业ÿ 查看详情

h5+echarts模拟全国程序员可视化大数据附完整源码(代码片段)

...#x1f345;文末免费获取源码🍅 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业ÿ 查看详情

毕业设计基于大数据的抖音短视频数据分析与可视化-python大数据可视化(代码片段)

...存率5深度分析客户价值判断5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统... 查看详情

数据大屏python爬取全国及北京疫情数据实现可视化大屏(代码片段)

...家又收获多少?Python爬取全国及北京疫情数据、实现可视化大屏每一个企业向“云”端加速转型,他们同时利用“云”便捷、灵活、安全且前期投资少的优势,快速地实现价值,然后再扩大规模。对于我们个人来... 查看详情