如何利用GPS获取海洋数据?
发布网友
发布时间:2022-04-22 07:12
我来回答
共1个回答
热心网友
时间:2022-06-17 07:30
这个问题好大啊!GPS只能测量得到基于参考椭球的空间坐标,参考椭球就是个地球的数学模型化。因此得到的所测位置的高仅仅是椭球高,又叫大地高。而你说的海平面上升,也就是海平面变化,首先得有个参考面,一切测量得到的数据都是得有参照的是吧。这个参考面一般我们叫深度基准,跟地球椭球面之间还是有差距的,因此gps测量得到的高需要经过一系列的改正,最后落实到基准面上。所有测得的数据都转化到这个面上,再进行比较,才能知道是升还是降了。
比如,仅仅对GPS做一些简单的统计分析,程序就需要几个小时才能跑完一天的数据,完全达不到实时分析的要求,更无法对数据进行一些深层次的挖掘。
另外历史数据的存储也是一个亟待解决的问题,目前大多采用的方式是将日志文件进行压缩后上传到服务器上进行存储。
这种方式既原始又不可靠,一是需要作业员每天定时手动上传数据,操作不方便;二是一旦存储数据的服务器出现问题,可能会造成大量数据的丢失,造成不可挽回的损失。
随着大数据技术的成熟和普及,我们发现借助于大数据技术可以完美的解决上述问题。根据目前的需求和对大数据相关软件的掌握,我们对GPS日志分析系统做了初步的设计,架构如下图所示:
大数据日志分析主要是对开源大数据组件进行整合开发而成,分为:数据采集层、数据预处理层、数据存储层、数据处理层和数据分析层等5个层次。
01数据采集层
数据采集层主要利用开源组件Flume对日志文件进行采集。Flume是一个分布式、高可靠、高可用的海量日志采集软件,支持定制各类的数据发送方,在收集数据的同时能够对数据进行简单的处理,然后写到各种数据接收方。
目前我们是对Flume采集的日志文件做两个操作,一是直接发送给kafka进行缓存,二是将数据进行压缩后写入HDFS供之后的分析用。
02数据预处理
数据预处理主要对日志文件进行初步的简单处理。目前采用Storm从Kafka接收数据,然后对数据进行实时统计。
Storm是一个分布式、容错的实时计算系统。它的编程模型非常简洁,主要包括三个组件:Topology、Spout和Bolt。Topology是一个由多个计算节点构成的拓扑图,Spout和Bolt是两种结算节点,它们一起构成了一个完整的数据流向图。