Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
正因如此,Java语言被运用到各种学科和软工开发当中。
本系列文章主要分为三个部分:
第一部分:使用Java对气象数据读,存,分析
第二部分:将第一部分中存入数据库的内容,通过springboot+vue+nuxt的方法将数据可视化展示到网页端
第三部分:制作移动端App,更加方便预览。
具体包括:
对气象数据(风云,COSMIC,ECMWF,探空气球)进行读取,并存入(Excel,txt)
对数据进行绘图(matlab/python),分析等
开发前后端分离项目,构建个人博客网站,将我们上诉步骤得到的数据,可视化图形接入博客,部署到公网,供其他人浏览。点击查看网页端
开发移动端项目,在Android(java/kotlin/flutter)端进行展示,方便在移动端预览。点击下载App
看上去是不是很简单,哈哈哈。实际上,聪明如你我,这些都不算什么!!!
在这一系列文章里,我会尽量将代码写的足够优雅。注释写的详细一点。并降低不同模块之间的耦合性,增加代码的复用性。为气象事业做出一些微小的贡献。但是由于对Java语言本身的理解问题,我可能在很多地方并不能使用最好的算法来实现相应的功能,另外,本系列文章较少涉及多线程开发,因为我对多线程开发暂时了解的较少,在代码执行效率上,存在较大问题,所以可能有些地方在高手眼里,显得极为可笑。后续将会学习相关知识,改正相应问题。也请各位看官多多指教,互相学习。
本文也是该系列文章的开篇,简单介绍一下该系列的任务与目标,并构建我们的Maven工程。
为了记录整个学习新技术的过程,避免日后忘记。说实话,现在我的记忆属实有点差。
为了构建相应的工具类,并将其打包到我们的工程当中。打包后,可以极大的方便我们以后的工作,减少代码量。开源后,也可以更好的帮助其他的小伙伴学习。做到良好的前人种树,后人乘凉的良好循环。
为了装逼,炫技。为了装逼,炫技。为了装逼,炫技。如果学习新技术不是为了装逼,那将毫无意义了!!!
声明:由于本人能力有限,难免会有错误出现,在喷我的时候,尽量轻一点。还请各位大佬批评指正,共同进步。
声明:由于本人能力有限,难免会有错误出现,在喷我的时候,尽量轻一点。还请各位大佬批评指正,共同进步。
声明:由于本人能力有限,难免会有错误出现,在喷我的时候,尽量轻一点。还请各位大佬批评指正,共同进步。
下文将默认读者了解以上相关知识。如果不了解,也可以浏览一波,看着玩玩也行啊。
工欲善其事必先利其器!本文使用到的开发工具是地表最强IDE编辑器IDEA。
IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一。Intellij IDEA 最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
下载安装请参考百度or谷歌。
在构建之前,我们要了解什么是Maven工程。这里我引用一段网上看到的话:Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。用过python的同学可能知道,在使用一些模块时我们会使用import的操作。pom文件中的dependency就类似于python中导入的模块。
那么接下来让我们一步一步构建maven工程吧。
点击finish,完成项目构建。第一次使用时,会需要较长时间下载各种依赖包,请耐心等待。以后就会快起来。等待系统加载完成后,我们打开pom文件夹,加入下面代码,再次等待构建完成
<dependencies>
<dependency>
<groupId>edu.ucargroupId>
<artifactId>netcdf4artifactId>
<version>4.5.5version>
dependency>
<dependency>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-simpleartifactId>
<version>1.7.25version>
<scope>compilescope>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>1.18.12version>
<scope>providedscope>
dependency>
dependencies>
上述代码,我们一共引入了三个jar包,前两个是针对Nc数据解析使用的。第三个是一个log工具
等待pom文件构建完成后,我们在包下面创建一个roDataDemo包,在其下再创建utils文件夹和一个ReadNcData类,用来存放我们将会使用到的工具类。再创建一个ReadNcData类进行对工具类的操作。
此时整个项目结构大致如下所示:
至此,我们的工程已经构建完毕,接下来就让我们愉快的开始操刀各种气象数据吧!!!
下一篇文章,我们将开始对FY-3C/GNOS数据进行解析,读取。