基于Hadoop的海洋气象数据分析可视化体系的设计与实现 ...

打印 上一主题 下一主题

主题 503|帖子 503|积分 1509

1 绪论
  1.1研究配景与近况
  1.2国内外研究近况
  1.2.1国内研究近况
  1.2.2国外研究近况
  1.3论文重要研究工作
  2 技术总述
  2.1 基于Scrapy的网络爬虫技术
  2.2 Hive技术
  2.3 Flask技术
  2.4 Echarts前端可视化技术
  2.5 本章小结
  3 海洋气象信息大数据分析体系实现
  3.1体系功能
  3.2可行性研究
  3.3 体系实现流程
  3.4 海洋气象数据爬虫设计
  3.5 Hive分析程序设计
  4 后台体系实现
  4.1 开发环境与设置
  4.2 数据库的设计
  4.3 体系功能模块实现
  4.4 本章小结
  5 总结与展望
  5.1 体系开发遇到的问题
  5.2 总结与展望
  参考文献:
  致 谢
  

  
   
基于Hadoop的海洋气象数据分析可视化体系的设计与实现

  

  摘要: 海洋气象数据在防灾减灾、应对气候变化、国民经济建设、科学研究、军事国防等方面都具有紧张的作用,满足不同阶段、不同用户的功能需求,为海洋气象动态监管、气象猜测、水文分析、环境保护、生态建设等应用场景提供数据底子和决策依据,扩展海洋气象水文数据利用场景,发掘相关数据深层价值,提高技术投入产出效益等方面具有紧张意义。
  与此同时,可以收集环球海洋气候变化的相关信息,以便更好地理解环球气候变化的过程,以及海洋对环球气候变化的响应。海洋观测可以收集海洋表层温度、海洋深度温度、海水体积、海洋流速、海洋物质及能量的变化信息,以及海洋的潮汐、风、季候变化等信息,从而帮助人们更好地理解海洋对环球气候变化的响应,有助于猜测未来气候变化的可能性,并订定有用的应对措施。
  本文先容了一个基于Hadoop的海洋气象数据分析可视化体系。该体系包括数据收罗、数据洗濯和转换、数据存储、数据分析和可视化展示等模块。
  数据收罗模块通过从海洋气象数据源中收罗数据,并将数据存储在Hadoop分布式文件体系中,实现了大规模数据的收集和存储。同时,该模块还思量了数据源的多样性和复杂性,能够顺应不同类型和格式的数据源。
  数据处理模块负责对数据举行洗濯、转换和处理,以便后续的分析和可视化。通过利用Hadoop生态体系中的工具和技术,该模块能够高效地处理大规模数据,同时保证数据的质量和准确性。
  数据存储模块利用Hive数据堆栈,将处理后的数据存储在分布式数据库中,以便后续的分析和查询。该模块支持复杂查询和分析,可以满足不同用户的需求。
  数据分析模块负责基于Hive数据堆栈中的数据举行海洋气象分析,如风速、海温、风向等方面的统计分析和趋势分析。该模块支持多种分析方法和算法,能够天生全面和准确的分析结果。
  可视化模块负责将数据分析结果以图表、地图等形式举行可视化展示,利用户能够直观地了解海洋气象数据的变化和趋势。该模块支持多种可视化方式和交互方式,能够满足不同用户的需求。
  总之,该体系具有高效、准确、全面和可视化的特点,能够满足用户对海洋气象数据的分析和可视化需求。
  
关键词:大数据;Hive; Flask;海洋气象信息

  

  
   
Design and Implementation of a Hadoop based Visualization System for Marine Meteorological Data Analysis

  
  Abstract: Marine meteorological data plays an important role in disaster prevention and reduction, climate change response, national economic construction, scientific research, military and national defense, etc. It meets the functional needs of different stages and users, provides data foundation and decision-making basis for dynamic supervision of marine meteorology, meteorological prediction, hydrological analysis, environmental protection, ecological construction and other application scenarios, and expands the usage scenarios of marine meteorological and hydrological data, Exploring the deep value of relevant data and improving the input-output efficiency of technology are of great significance.
  At the same time, relevant information on global ocean climate change can be collected to better understand the process of global climate change and the response of the oceans to global climate change. Ocean observation can collect information on changes in ocean surface temperature, ocean depth temperature, seawater volume, ocean flow velocity, ocean material and energy, as well as information on ocean tides, winds, seasonal changes, etc., thereby helping people better understand the response of the ocean to global climate change, predicting the possibility of future climate change, and formulating effective response measures.
  This article introduces a Hadoop based visualization system for ocean meteorological data analysis. The system includes modules such as data collection, data cleaning and conversion, data storage, data analysis, and visual display.
  The data collection module collects data from marine meteorological data sources and stores the data in the Hadoop distributed file system, achieving large-scale data collection and storage. At the same time, this module also considers the diversity and complexity of data sources, which can adapt to different types and formats of data sources.
  The data processing module is responsible for cleaning, transforming, and processing data for subsequent analysis and visualization. By using tools and technologies in the Hadoop ecosystem, this module can efficiently process large-scale data while ensuring the quality and accuracy of the data.
  The data storage module uses a Hive data warehouse to store processed data in a distributed database for subsequent analysis and querying. This module supports complex queries and analysis, which can meet the needs of different users.
  The data analysis module is responsible for conducting ocean meteorological analysis based on the data in the Hive data warehouse, such as statistical analysis and trend analysis of wind speed, sea surface temperature, wind direction, etc. This module supports multiple analysis methods and algorithms, and can generate comprehensive and accurate analysis results.
  The visualization module is responsible for visualizing the data analysis results in the form of charts, maps, etc., enabling users to intuitively understand the changes and trends of marine meteorological data. This module supports multiple visualization and interaction methods, which can meet the needs of different users.
  In summary, the system has the characteristics of efficiency, accuracy, comprehensiveness, and visualization, which can meet the analysis and visualization needs of users for marine meteorological data.
  Keywords: big data; Hive; Flask; Marine meteorological information
  
   1 绪论

  1.1研究配景与近况

  海洋气象数据在防灾减灾、应对气候变化、国民经济建设、科学研究、军事国防等方面都具有紧张的作用,满足不同阶段、不同用户的功能需求,为海洋气象动态监管、气象猜测、水文分析、环境保护、生态建设等应用场景提供数据底子和决策依据,扩展海洋气象水文数据利用场景,发掘相关数据深层价值,提高技术投入产出效益等方面具有紧张意义。
  与此同时,可以收集环球海洋气候变化的相关信息,以便更好地理解环球气候变化的过程,以及海洋对环球气候变化的响应。海洋观测可以收集海洋表层温度、海洋深度温度、海水体积、海洋流速、海洋物质及能量的变化信息,以及海洋的潮汐、风、季候变化等信息,从而帮助人们更好地理解海洋对环球气候变化的响应,有助于猜测未来气候变化的可能性,并订定有用的应对措施。
  
  1.2国内外研究近况

  1.2.1国内研究近况

    随着大数据期间的到来,海洋气象数据可视化正在逐渐受到重视。目前,国内外对于海洋气象数据可视化的研究重要集中在以下几个方面:
  数据可视化工具的研发。各个国家的气象机构、科研机构和企业都在研发海洋气象数据可视化工具,例如国内的浙江大学开发了一款名为“船舶自顺应海洋气象预告体系”的数据可视化工具,能够根据用户需求动态天生气象预告图像等。
  可视化技术的应用和美满。包括大数据可视化、虚拟现实、增强现实、人工智能等领域的技术正在被应用到海洋气象数据可视化中,以提高气象数据的可视化结果和用户交互体验。
  数据分析与猜测模子的集成。通过将数据分析与猜测模子集成到海洋气象数据可视化工具中,能够较为准确地猜测海洋气象变化的趋势和规律,以便用户更好地举行决策。
  总的来说,由于海洋资料交汇机制以及种种客观因素,海洋数据整合结果欠佳,目前在海洋信息领域仍然存在大量“信息孤岛”,体系分散、数据独立是广泛征象,国内外对于海洋气象数据可视化的研究目前还处于发展阶段,未来将会有更多的技术应用到此中,以满足用户对于气象数据的需求。
  1.2.2国外研究近况

  基于Hadoop的海洋气象数据分析可视化体系在国外的研究近况相对较多。以下是一些相关的国外研究进展和应用案例:
  美国国家海洋和大气管理局(NOAA):NOAA是美国的一个紧张机构,致力于气象和海洋科学的研究。他们利用Hadoop技术来处理和分析大规模的海洋气象数据,并开发出了许多涉及可视化的数据分析平台和工具。
  欧洲气象卫星组织(EUMETSAT):EUMETSAT负责欧洲地域的气象卫星观测任务,并拥有大量的气象数据资源。他们利用Hadoop和相关技术来处理和分析这些数据,并开发出了一些基于云盘算和大数据技术的数据分析和可视化平台。
  澳大利亚海洋数据中央(Australian Ocean Data Centre):该中央是澳大利亚海洋研究的一个紧张机构,专门负责收集、管理和分发海洋数据。他们利用Hadoop和相关技术构建了一个海洋气象数据的分析和可视化体系,以支持科学研究和政策订定。
  加拿大国家气象局(Environment and Climate Change Canada):该机构负责加拿大的气象和环境科学研究。他们利用Hadoop和其他大数据技术来处理和分析海洋气象数据,并开发出了一些用于数据可视化和猜测的体系和工具。
  这些国外研究机构和相关项目在海洋气象数据分析可视化方面取得了一些突破,并提供了一些有用的工具和平台。这些体系和工具可以帮助科学家、政府机构和其他利益相关者更好地理解和利用海洋气象数据。
  
  1.3论文重要研究工作

  基于Hadoop的海洋气象数据分析可视化体系的重要研究内容如下:
  数据收罗: 利用Python爬虫技术从海洋气象网站收罗举动数据。通过编写爬虫程序,可以自动获取海洋气象数据并存储到Hadoop集群中。利用Hadoop的并行处理能力,可以加快数据收罗和存储的速度,提高效率。
  数据预处理: 利用Hive作为数据堆栈,利用HiveQL举行海洋气象数据的处理、转换和存储。通过HiveQL语句,可以对海洋气象数据举行洗濯、过滤、格式转换等操作,以顺应后续的数据分析需求。同时,利用Hive的分布式盘算能力,可以举行数据的查询和分析,提供更快的响应时间。
  数据分析: 利用Hive举行海洋气象数据的统计分析和趋势分析。通过编写HiveQL查询语句,可以对风速、海温、风向等海洋气象数据举行聚合盘算、排序、分组等操作,得到数据的统计特征和变化趋势。这些分析结果可以帮助用户了解海洋气象数据的变化规律,猜测未来的气候情况。
  数据可视化: 采用前端可视化开发框架Echarts,结合后端数据服务,实现海洋气象数据的可视化展示。通过Echarts提供的图表和地图组件,可以将海洋气象数据以直观、易懂的方式展示给用户。用户可以通过交互操作,自定义展示的时间范围、数据类型等,以便更全面地了解海洋气象数据的变化和趋势。同时,体系还可以支持数据的导出和分享,方便用户举行进一步的分析和应用。
  综上所述,基于Hadoop的海洋气象数据分析可视化体系重要包括数据收罗、数据预处理、数据分析和数据可视化四个功能模块。通过这些功能,用户可以方便地获取、处理、分析和展示海洋气象数据,从而更好地理解和利用海洋资源。
  

  2 技术总述

  2.1 基于Scrapy的网络爬虫技术

  Scrapy是目前较为成熟的爬虫技术框架,一般采用Python语言开发程序,Scrapy用途广泛,可以用于数据发掘、监测和自动化测试。
  在本设计中,由于需要利用到海洋气象网站的原始数据,因此需要开发相应的网络爬虫程序完成对海洋气象原始数据的收罗,图2-1为爬取海洋气象网网站的海洋气象数据的原理流程图。
  

  
图2-1 海洋气象网网站爬虫原理流程图

  2.2 Hive技术

  Hadoop是一个由Apache基金会所开发的分布式体系底子架构,重要办理海量数据的存储和海量数据的分析盘算问题,广义上来说,HADOOP通常是指一个更广泛的概念,即HADOOP生态圈。
  Hive是一个构建在Hadoop上的数据堆栈框架。最初,Hive是由Facebook开发,后来移交由Apache软件基金会开发,并作为一个Apache开源项目。
  Hive是基于Hadoop的一个数据堆栈工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
  其本质是将SQL转换为MapReduce的任务举行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更进一步可以说hive就是一个MapReduce的客户端。
  

  
图2-2 Hive原理图

  
  2.3 Flask技术

  Flask是一个基于Python语言编写的轻量级Web应用框架,其核生理念是简朴而灵活。Flask提供了底子的Web应用组件(如路由、请求和响应管理等),并可与其他第三方库集成,以实现更高级别的Web应用开发。
  以下是Flask的重要特点:
  轻量级和灵活性:Flask设计的目的是提供一种简朴而灵活的方式来构建Web应用,因此它只提供了底子的Web应用组件,可以根据需求举行自定义扩展。
  易学易用:Flask的API非常简洁易懂,上手难度较低,开发者可以很快地了解其基本利用方法,并开始举行Web应用的开发。
  可扩展性:Flask可以集成许多第三方库,如SQLAlchemy、WTForms等,以实现更高级别的Web应用开发。
  RESTful支持:Flask可以方便地实现RESTful API,使得开发者能够快速构建RESTful服务。
  单位测试支持:Flask内置支持Python标准库unittest,使得开发者可以方便地举行单位测试。
  Jinja2模板引擎:Flask默认利用Jinja2模板引擎,该模板引擎具有良好的模板继续和自定义过滤器等功能,可以快速构建出美观且高效的用户界面。
  总体而言,Flask是一个轻量级、易学易用、可扩展性强的Web框架,实用于构建中小型Web应用。它的灵活性使得开发者可以根据需求举行自定义扩展,同时其集成了许多有用的第三方库,使得开发者可以快速地构建出有用的Web应用。
  2.4 Echarts前端可视化技术

  
Apache ECharts 是一款基 于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts 开源来自百度商业前端数据可视化团队,基于htm15 Canvas, 它是一个纯Javascrint,图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重盘算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据举行发掘、整合的能力。

  2.5 本章小结

  
本章重要分析了体系开发过程中利用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括海洋气象信息收罗的爬虫技术,数据持久化存储技术,Hive分析,以及基于Flask框架的体系后台技术,通过预研上述技术点并加以应用从而开发出基于大数据的海洋气象数据分析体系。

  
  
  3 海洋气象信息大数据分析体系实现

  
  3.1体系功能

  通过前面的功能分析可以将基于大数据的海洋气象信息分析平台的研究与实现的功能重要包括用户登录、海洋气象信息管理、数据分析等内容。后台管理是针对已登录的用户看到满意的海洋气象数据分析而设计的。
  3.2可行性研究

  通过对体系研究目标及内容的分析审察后,提出可行性方案,并对其举行论述。重要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。
  3.2.1 经济可行性
  开发体系所涉及到的资料,一般是在图书馆查阅,或是在网上举行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发本钱是几乎为零。但是开发出来的体系,还是具有高效率,低本钱,较高质量的。所以,从经济可行性的角度,该体系符合标准。
  3.2.2 技术可行性
  技术可行性是思量在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件设置是否能满足开发的需求。而本体系采用的是Hadoop开发框架,并非十分困难,所以在技术上是绝对可行的。别的,盘算机硬件设置是完全符合发展的需要。
  3.2.3 运行可行性
  当前盘算机信息化的知识已经十分遍及了,现在的操作人员也都是对体系环境有很强的顺应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。
  3.2.4 时间可行性
  从时间上看,在大四的末了一个学期,在实习工作与完成毕设两件大事相交织的时间里,结合之前学习的相关知识,并开发体系,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的积极功能基本实现。
  
  3.3 体系实现流程

  基于Hadoop的海洋气象数据分析可视化体系,实在现流程大致可分为以下几个步骤:
  数据收罗:收集和获取海洋气象数据,包括气象站、卫星遥感、船只观测等多个来源。数据收罗的方式可以通过手工录入或自动化收罗等方式实现。
  数据洗濯与预处理:对收罗到的原始数据举行洗濯、去除异常值、重复值、缺失值等处理,使数据变得干净可用。同时,根据需求举行数据格式转换、统一标准化等预处理操作。
  数据存储:将洗濯和预处理后的数据存储到Hadoop分布式文件体系(HDFS)中,以便后续分布式盘算和处理。数据通常以文件的形式存储在HDFS上,以方便后续的MapReduce盘算和其他分布式处理任务。
  分布式盘算:对存储在HDFS中的数据举行分布式盘算和处理,利用MapReduce、Spark等技术举行数据分析、发掘和建模等操作。通过分布式盘算技术,可以加速数据分析和处理的速度,提高处理效率。
  数据可视化:将分析和处理后的结果以图表、地图等形式展示出来,从而方便用户理解和利用。通过可视化技术,可以使数据更加生动、直观,帮助用户更好地理解和分析数据。
  体系测试和优化:对整个体系举行测试和优化,包括性能测试、功能测试、用户体验测试等多个方面。通过测试和优化,可以提高体系的稳固性、可靠性和用户满意度。
  3.4 海洋气象数据爬虫设计

  创建Scrapy项目:利用Scrapy框架创建一个新的项目,可以通过以下下令在下令行中执行:
  scrapy startproject ocean_weather
  定义Item:在Scrapy项目中,定义一个Item类来存储要爬取的数据。在ocean_weather/items.py文件中创建一个新的Item类,根据需要定义Item的字段,例如:
  import scrapy
  class WeatherItem(scrapy.Item):
      date = scrapy.Field()
      temperature = scrapy.Field()
      wind_speed = scrapy.Field()
      humidity = scrapy.Field()
    编写Spider:在Scrapy项目中,编写一个Spider来实现详细的爬取逻辑。在ocean_weather/spiders目次下创建一个新的Spider文件,例如weather_spider.py,并编写爬虫代码。下面核心代码:
  
表3-1 海洋气象网爬虫核心代码

  
import scrapyfrom ocean_weather.items import WeatherItem
class WeatherSpider(scrapy.Spider):
    name = "weather"
    start_urls = [
        'http://example.com/weather',  # 要爬取的起始URL
    ]
    def parse(self, response):
        # 解析网页内容,提取数据
        # 利用XPath或CSS选择器提取需要的数据
        date = response.xpath('//div[@class="date"]/text()').get()
        temperature = response.xpath('//div[@class="temperature"]/text()').get()
        wind_speed = response.xpath('//div[@class="wind-speed"]/text()').get()
        humidity = response.xpath('//div[@class="humidity"]/text()').get()
       # 创建一个Item对象,并将提取的数据存入此中
        item = WeatherItem()
        item['date'] = date
        item['temperature'] = temperature
        item['wind_speed'] = wind_speed
        item['humidity'] = humidity
        yield item
  
  设置Pipeline:在Scrapy项目中,可以利用Pipeline对爬取到的数据举行处理和存储。打开ocean_weather/settings.py文件,找到ITEM_PIPELINES设置项,并启用Pipeline:
  python
  ITEM_PIPELINES = {
      'ocean_weather.pipelines.WeatherPipeline': 300,  # 启用自定义的Pipeline,并设置优先级
  }
  编写Pipeline:在Scrapy项目中,编写一个自定义的Pipeline来处理爬取到的数据。在ocean_weather/pipelines.py文件中创建一个新的Pipeline类,例如:
  python
  class WeatherPipeline(object):
      def process_item(self, item, spider):
          # 处理数据,例如存储到数据库或写入文件等
          # 这里只是简朴地打印数据
          print(item)
          return item
  运行爬虫:在下令行中运行Scrapy爬虫,执行以下下令:
  scrapy crawl weather
  3.5 Hive分析程序设计

  原始的海洋气象信息数据一般信息较为冗杂,且很难看出规律,因此我们需要数据存储在HDFS上,数据在多台呆板上保存了n份,保证了原始数据的高可用。然后通过Hive框架开发程序,将海量的原始数据盘算过程分成一个个的
  job提交到yarn上管理执行。
  
表3-2 海洋气象Hive分析代码

  
-- 创建天气数据表CREATE TABLE weather_data (

  date STRING,

  temperature INT,

  humidity INT,

  wind_speed INT

)ROW FORMAT DELIMITED

FIELDS TERMINATED BY ','

STORED AS TEXTFILE;

-- 加载天气数据

LOAD DATA INPATH 'hdfs://path/to/weather/data.csv' INTO TABLE weather_data;

-- 查询最高温度和最低湿度SELECT MAX(temperature) AS max_temperature, MIN(humidity) AS min_humidityFROM weather_data;

-- 查询每个月的平均风速SELECT MONTH(date) AS month, AVG(wind_speed) AS avg_wind_speedFROM weather_dataGROUP BY MONTH(date);

  海洋天气数据是指收集和分析有关海洋环境和睦象状态的数据。Hive是一种基于Hadoop的数据堆栈工具,可以用于管理和分析大规模数据集。对于海洋天气数据的Hive分析,可以按照以下步骤举行:
  数据洗濯:利用Hive举行数据洗濯,包括去除重复数据、处理缺失值和异常值等。可以利用Hive的数据转换和过滤功能来完成这些操作。
  数据存储:将洗濯后的数据存储到Hive表中。可以根据数据特征和需求设计符合的表结构,并利用Hive的数据导入功能将数据加载到表中。
  数据查询与分析:利用Hive的SQL-like查询语言(HQL)举行数据查询和分析。可以编写HQL查询语句来获取特定时间范围内的海洋天气数据,大概举行数据聚合和统计分析。
  数据可视化:将查询结果举行可视化展示,可以利用工具如Tableau、Power BI等将Hive查询结果导入并天生图表、地图等形式的可视化报表。
  
  4 后台体系实现

  
  基于大数据的海洋气象信息分析平台的基本业务功能是采用Flask框架实现的, 前端采用Echarts技术,数据 存储采用关系型数据库Mysql。在本文的第四章将详细先容后台体系的实现部分,包括详细阐述了体系功能模块的详细实现,并展示阐明确部分模块的功能界面。
  4.1 开发环境与设置

  4.1.1 开发环境
  本体系设计基于B/S架构,此中服务器包括应用服务器和数据库服务器。这种架构模式,利用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于大数据的海洋气象信息分析平台利用Pycharm集成开发工具。本体系的重要开发环境以及开发工具如表4-1所示。
  
表4-1 体系开发环境和工具

  
项目
体系环境及版本
硬件环境
Windows 64 位操作体系
Python版本
3.5
数据库
MySql
开发工具
Pycharm
项目架构
Hive+Flask+Scrapy
  4.1.2 框架设置先容 
  
表4-2 体系设置代码

  
from flask import Flask


app = Flask(__name__)

# 设置对象class Config:

    DEBUG = False

    SECRET_KEY = 'your_secret_key'

    DATABASE_URI = 'your_database_uri'

# 加载设置

app.config.from_object(Config)

# 路由和视图函数@app.route('/')def index():

    return 'Hello, World!'

if __name__ == '__main__':

    app.run()

  
  上述代码中,我们起首定义了一个名为Config的设置对象,此中包含了一些常用的设置项。你可以根据自己的需求添加、修改或删除设置项。在这个示例中,我们添加了DEBUG、SECRET_KEY和DATABASE_URI三个设置项。
  接着,我们利用app.config.from_object(Config)方法加载设置对象,将其应用到Flask程序中。
  然后,我们定义了一个名为index的路由和视图函数,用于处理根路径的请求。在这个示例中,当用户访问根路径时,浏览器将显示Hello, World!消息。
  末了,通过app.run()方法启动Flask应用程序。
  你可以根据自己的需求,添加更多的路由和视图函数,并在设置对象中定义得当的设置项。例如,你可以添加数据库毗连信息、日记设置、文件上传限制等。需要注意的是,SECRET_KEY是用于加密session数据的密钥,你应该利用一个随机的、安全的字符串来设置它。
  另外,你还可以将设置信息存储在独立的设置文件中,并利用app.config.from_pyfile('your_config_file.py')方法加载设置文件。这样可以将设置与代码分离,方便在不同环境下举行设置切换。
  4.2 数据库的设计

  数据库设计是体系设计中特别紧张的一部分。数据库的优劣决定着整个体系的优劣,并且,在之后对数据库的体系维护、更新等功能中,数据库的设计对整个程序有着很大的影响。
  根据功能模块的划分结果可知,本体系的用户由于利用账号和暗码举行登录,因此在本体系中需要分别举行数据记载。起首根据如下6个数据实体:用户、海洋气象信息等数据库表。
  用户的属性包括用户编号、用户名、暗码和性别、注册账号的时间。用户实体属性图如图4-2所示:
  
  

  
图4-2 用户实体属性图

  
  根据以上分析,各个实体之间有肯定的关系,使实体与实体可以接洽起来,建立成整个体系的逻辑结构,本体系中,平常用户通过对海洋气象信息的管理,使海洋气象信息与用户实体存在对应关系。
  
表4-3 海洋气象类代码

  
# 创建海洋气象数据表

cursor = conn.cursor()

cursor.execute('''

    CREATE TABLE IF NOT EXISTS jobs (

        id INTEGER PRIMARY KEY AUTOINCREMENT,

        title TEXT,

        company TEXT,

        location TEXT,

        salary INTEGER

    )

''')

conn.commit()

# 插入海洋气象数据def insert_job(title, company, location, salary):

    cursor.execute('INSERT INTO jobs (title, company, location, salary) VALUES (?, ?, ?, ?)', (title, company, location, salary))

    conn.commit()

# 查询海洋气象数据def query_jobs():

    cursor.execute('SELECT * FROM jobs')

    return cursor.fetchall()

# 更新海洋气象数据def update_job(id, title, company, location, salary):

    cursor.execute('UPDATE jobs SET title=?, company=?, location=?, salary=? WHERE id=?', (title, company, location, salary, id))

    conn.commit()

# 删除海洋气象数据def delete_job(id):

    cursor.execute('DELETE FROM jobs WHERE id=?', (id,))

    conn.commit()

# 关闭数据库毗连def close_connection():

    cursor.close()

    conn.close()

  
  
  4.3 体系功能模块实现

  4.3.1登录认证
  用户登录时需要在登录界面输入用户名、暗码举行身份认证,要求必须是表单认证、校验。其设置文件中设置了相应的工具类,当用户登录体系举行身份认证和权限控制时,会在该类中从数据库获取到用户信息及其具有的权限信息,并 且比较用户输入的账号是否存在大概输入的暗码与数据源中的暗码是否匹配。详细流程如时序图如4-2所示。
  
  

  
图4-2登录认证流程图

  海洋气象信息大数据分析体系的用户登录界面如下图所4-3所示:
  

  
图4-3用户登录界面

  登陆乐成后,体系会乐成跳转至首页,在首页中,位于上方的横栏是对本体系的基本信息的形貌和欢迎登录结果,另外登录用户的用户名也会显示在首页中,可直接表明用户己乐成登录。左侧则是本体系的导航菜单,可折叠展示,较为方便,右方则为欢迎页结果。海洋气象信息大数据分析体系的首页界面如下图所4-4所示:
  

  
图4-4海洋气象信息大数据体系首页界面

  
  4.3.2海洋气象信息管理功能
  海洋气象信息管理功能是对海洋气象信息举行查询,删除等操作的功能聚集,海洋气象信息管理功能利用到了海洋气象信息表海洋气象信息大数据分析体系的海洋气象信息管理功能界面如下图所4-5所示:
  

  

  
图4-5海洋气象信息管理菜单界面

  海洋气象信息管理
  

  功能流程功能图如图3-6所示:
  
图4-6 海洋气象信息管理功能流程图

   通过“海洋气象信息管理”按钮,进入海洋气象信息管理界面,用户可以看到海洋气象信息列表,例如:
  时间:记载观测数据的时间戳或时间段。
  经纬度:记载观测点位的地理位置坐标,用于定位观测点地点的海洋地区。
  风速和风向:记载海洋表面风的强度(通常以米/秒或节计量)和风向(通常以度数或罗盘方位表示)。
  海浪高度和周期:记载海浪的高度(通常以米计量)和周期(通常以秒计量)。
  海水温度:记载海洋表面或特定深度处的水温(通常以摄氏度或华氏度表示)。
  相对湿度:记载空气中的湿度水平(通常以百分比表示)。
  气压:记载大气压强的数值(通常以帕斯卡或百帕计量)。
  能见度:记载能够在海上或空中看到的最远距离(通常以米或海里计量)。
  降水量:记载降水的量度(通常以毫米或英寸表示)。
  天气状态:形貌当前海洋地区的天气状态,如晴朗、多云、阴天、暴风雨等。 警报信息:如有海洋劫难或突发天气变乱,记载相应的警报级别和详细信息。
  通过此界面,用户可以对海洋气象信息举行删除管理操作。
  4.3.3海洋气象信息可视化分析功能
  数据可视化模块就是对我们收罗和盘算的分析结果的展示。数据分析模块的
  数据举行一个精美而又直接的展示,我们采用大屏的方式举行展示,展示数据结构分明,配景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式举行展示,从而形象直观地表达数据蕴含的信息和规律。
  海洋气象信息大数据分析可视化开发的难点并不在于图表类型的多样化,而在于怎样能在简朴的一页之内让用户读懂海洋气象数据之间的层次与关联,这就关系到布局、色彩、图表、动效的综合运用。如排版布局应服务于业务,避免为展示而展示;配色一般以深色调为主,注重整体配景和单个视觉元素配景的一致性。本文利用Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有用的信息。
  
  4.4 本章小结

  本章重要分析了基于大数据的海洋气象信息分析体系开发过程中利用到的技术和详细的实现步骤,这此中重要先容了基于Hive的海洋气象信息大数据分析体系的搭建环境和开发步骤,包括程序中的一些数据库设置等。前端页面采用的是Echarts和html实现。
  5 总结与展望

  5.1 体系开发遇到的问题 

  由于基于大数据海洋气象信息分析平台是由本人独立开发,因此在体系设计和业务逻辑方面更多地借鉴了目前市场上较为盛行的框架和技术点,包括大数据技术,许多是不认识没接触过的,在开发过程中不停学习新知识。另外由于本人的时间和精力的缘故起因,在体系开发过程中有许多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。
  5.2 总结与展望 

  大数据海洋气象信息体系是在对相关管理范畴举行详细调研后,确定了体系涉及的领域,包括数据库设计、界面设计等,是一个具有现实应用意义的管理体系。根据本毕业设计要求,颠末四个多月的设计与开发,大数据海洋气象信息体系基本开发完毕。其功能基本符合用户的需求。
    为保证有足够的技术能力去开发本体系,起首本人对开发过程中所用到的工
  具和技术举行了认真地学习和研究,详细地钻研了基于Python的网络爬虫技术
  以及Echarts, CSS, HTML等前端开发技术,同时还研究了大数据开发技术Hadoop, HDFS, Hive等。
  
参考文献:
  [1]瞿洋.海洋环境数据管理与军事应用[J].电子技术与软件工程,2019,(14): 171-172.
  [2]侯雪燕,洪阳,张建民等.海洋大数据:内涵、应用及平台建设[J].海洋转达,2017,36(04):361-369.
  [3]黄波,胡龙平,汪荣幸等.海洋气象智能预告体系的设计与研制[J].信息与电脑(理论版),2020,32(14):140-145.
  [4]常志刚.网络化配景下农业气象服务需求探究[J].农夫致富之友,2017(21):146.
  [5]黄彬,赵伟.国家级海洋气象业务近况及发展趋势[J].气象科技进展,2017,7(04):53-59.
  [6]宋玲芝,宋志明,程有英等. 海洋气象环境的可视化技术研究[C]//中国造船工程学会电子技术学术委员会.中国造船工程学会电子技术学术委员会2011年海战场电子信息技术学术年会论文集.《舰船电子工程》杂志社,2011:5.
  [7]王倩, 李天柱,刘小琴.环球大数据研究的历史演进:1993-2016 年[J].中国科技论坛,2017(7).
  [8]李国君.海洋气象调查资料处理技术的研究与应用[D].天津大学,2021.DOI:10.27356/d.cnki.gtjdu.2019.001931.
  [9]王天巍,陈有龙,冯文.泛南海气象服务平台的应用与效益分析[J].气象科技进展,2020,10(04):133-136.
  [10]汪光骅,王晨宇.网络化配景下农业气象服务需求探究[J].新农业,2018(17):56-57.   
  [11]安邦.基于用户偏好的短视频肴杂保举体系研究与实现[D].西安石油大学,2023.DOI:10.27400/d.cnki.gxasc.2023.000806
  [12]史得道,吴振玲,高山红,等.海雾预告研究综述[J].气象科技进展 ,2016,6(2):49-55
  [13] Rajkumar Buyya,Cloud Computing Principles And Paradigms[M].Indianaplis[M]
  .Indianapolis:Wiley Publishing Inc,2011.
  [14] Eben Hewitt,Cassandra:The Definitive Guide[M].Sebastopol:O’Reilly Media Inc,2011.
  [15]Geoinformation; New Findings in Geoinformation Described from Nanjing University (A Spatial Lattice Model Applied for Meteorological Visualization and Analysis)[J].Politics Government Week,2017,
  

  
致 谢

  时光飞逝,四年的本科生生存即将竣事。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。履历了许多的事变,自己也在不知不觉中成长了许多,心中充盈最多的还是感激。
  起首感谢我的导师,她严谨的治学态度深深地影响每位同砚。我要感谢我的父母,他们总是默默的付出,在生存上给与我最大的帮助,在学习上也给我许多建议。
  末了,由衷的感谢各位评审老师在百忙之中抽出时间来到场我的论文评审和答辨。
  
  
  
  
   参考文献

  

  • 邓嘉诚,黄贺声,杨林,等.车辆牌照辨认技术近况[J].现代信息科技,2019(16):78-83.
  • 李洁,李登刚,曾文亮.基于BP神经网络的车牌辨认方法研究[J].电子测试,2022(16):38-40
  • 聂文都,蔡锦凡.基于OpenCV与SVM的车牌辨认方法[J].盘算机与数字工程,2021(6):1244-1247,1268.
  • 王汝心,马维华.结合HOG特征的车牌辨认方法[J].盘算机期间,2021(7):1-5.
  • 陶星珍,李康顺,刘玥.基于深度学习模子LeNet-5-L的车牌辨认算法[J].盘算机测量与控制,2021, 29(06):181-187.
  • ZHAI W F, GAO T, FENG J. Research on pre-processing methods for license plate recognition[J]. International Journal of Computer Vision and Image Processing (IJCVIP), 2021, 11(1):47-79.
  • 高艳,刘海峰.基于OpenCV和卷积神经网络的车牌辨认研究[J].软件工程,2022,25(05):1-3
  • 李驰. 智能交通中的车牌辨认算法研究 [D]. 华中科技大学 ,2012.
  • 陈学保 . 车牌字符辨认算法的研究 [D]. 重庆大学 ,2013.
  • 刘博. 基于YOLO的车牌定位辨认体系研究[D].东北石油大学,2022.DOI:10.26995/d.cnki.gdqsc.2022. 000278.
  • 杨国亮,杨浩,余帅英,王吉祥,聂子玲.改进YOLOv5的交通标志检测算法[J/OL].盘算机工程与应用:1-10[2023-02-24]
  • 华春梦,臧艳辉,马伙财.一种基于CRNN的车牌辨认算法研究与应用[J].现代信息科技,2021,5(20):2
  • LIU S, HUANG D, WANG Y. Learning spatial fusion for single-shot object detection[J]. arXiv preprint arXiv:1911.09516, 2019.
  • XIAO J, ZHAO T, YAO Y, et al. Context augmentation and feature refinement network for tiny object detection[J]. ICRL 2022. submitted. 2022.
  
  
  
致谢

转眼间,四年的大学生存即将竣事,回顾已往的时光,顿时感慨不已。四年的时光里,劳绩了知识和朋侪,并且顺利地完成大学学业,在此谨向帮助过我的全部老师和朋侪表示最衷心的感谢!
起首要感谢我的导师郝王丽老师,在学术研究上郝老师给予了我极大的帮助,给我提供了许多资源,带着我们举行了各种呆板学习,深度学习算法的学习。
另外还要感谢我的朋侪们,感谢学委李梦菲,不管是在学习中还是在生存上给我提供了很大的帮助,感谢已经毕业的学长周健,曹程晖,他们在技术上、学业上支持我,十分感谢。祝你们前程光明,前程似锦。还要感谢我的舍友在我大学四年的生存上对我的帮助与照顾。
我还要感谢我的父母,谢谢你们对我无私的帮助与鼓励,你们赋予了我生命。我将会是你们的得意。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表