莫里航海图 最早的大数据实践

2023-11-22 13:00

本文主要是介绍莫里航海图 最早的大数据实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

马修·方丹·莫里(Matthew Fontaine Maury)是一位很有前途的美国海军军官。1839年,在他前往双桅船“合奏号”(Consort)接受一个新任务时,他乘坐的马车突然滑出了车道,瞬间倾倒,把他抛到了空中。他重重地摔到了地上,大腿骨粉碎性骨折,膝盖也脱臼了。当地的医生帮他复位了膝盖关节,但大腿受伤过重,几天后还需要重新手术。直到33岁,他的伤才基本痊愈,但是受伤的腿却留下了残疾,变得有点儿跛,再也无法在海上工作。经过近三年的休养,美国海军把他安排进了办公室,并任命他为图表和仪器厂的负责人。

马修·方丹·莫里(Matthew Fontaine Maury)

谁也想不到,这里竟成了他的福地。作为一位年轻的航海家,莫里曾经对船只在水上绕弯儿不走直线而感到十分不解。当他向船长们问及这个问题时,他们回答说,走熟悉的路线比冒险走一条不熟悉而且可能充满危险的路线要好得多。他们认为,海洋是一个不可预知的世界,人随时都可能被意想不到的风浪困住。

但是从他的航行经验来看,莫里知道这并不完全正确。他经历过各种各样的风暴。一次,他听到来自智利瓦尔帕莱索扩展港口的预警,亲眼目睹了当时刮成圆形的风就像钟表一样;但在下午晚些或日落的时候,大风突然结束,静下来变成一阵微风,仿佛有人关了风的开关一样。在另一次远航中,他穿过墨西哥蓝色海域的暖流,感觉就像在大西洋黑黢黢的水墙之间穿行,又好像在密西西比河静止不动的河面上挺进。

当莫里还是一个海军军官学校的学生时,他每次到达一个新的港口,总会向老船长学习经验知识,这些经验知识是代代相传下来的。他从这些老船长那里学到了潮汐、风和洋流的知识,这些都是在军队发的书籍和地图中无法学到的。相反,海军依赖于陈旧的图表,有的都使用了上百年,其中的大部分还有很重大的遗漏和离谱的错误。在他新上任为图表和仪器厂负责人时,他的目标就是解决这些问题。

他清点了库房里的气压计、指南针、六分仪和天文钟。他发现,库房里存放着许多航海书籍、地图和图表;还有塞满了旧日志的发霉木箱,这些都是以前的海军舰长写的航海日志。他的前任们都觉得这些是垃圾,但当他拍掉被海水浸泡过的书籍上的灰尘,凝视着里面的内容时,莫里突然变得非常激动。

这里有他所需要的信息,例如对特定日期、特定地点的风、水和天气情况的记录。大部分信息都非常有价值。莫里意识到,如果把它们整理到一起,将有可能呈现出一张全新的航海图。这些日志是无章可循的;页面边上尽是奇怪的打油诗和乱七八糟的信手涂鸦,与其说它们是对航海行程的记录,还不如说它们是船员在航海途中无聊的娱乐而已。尽管如此,仍然可以从中提取出有用的数据。莫里和他的20台“计算机”——那些进行数据处理的人,一起把这些破损的航海日志里记录的信息绘制成了表格,这是一项非常繁重的工作。 

莫里整合了数据之后,把整个大西洋按经纬度划分成了五块,并按月份标出了温度、风速和风向,因为根据时间的不同这些数据也有所不同。整合之后,这些数据显示出了有价值的模式,也提供了更有效的航海路线。

这些数据显示出了有价值的模式,也提供了更有效的航海路线

有经验的海员有时依靠经验能安全航海,但有时也会陷入危险之中。在从纽约到里约热内卢这条繁忙的航线上,水手们往往倾向于与自然斗争而不是顺应自然。美国船长一直被劝导前往里约热内卢不能通过海峡,因为那样存在很大风险,所以船长会选择在东南方向的航线上航行,再穿过赤道驶向西南方向。而这样一来,船只必须两度穿越大西洋,距离甚至相当于横穿了三次。这是很荒谬的,其实直接向南航行就可以了。

通过分析这些数据,莫里知道了一些良好的天然航线,这些航线上的风向和洋流都非常利于航行。他所绘制的图表帮助商人们节省了一大笔钱,因为航海路程减少了三分之一左右。一个船长感激地说:“我在得到你的图表之前都是在盲目地航行,你的图表真的指引了我。”有一些顽固的人拒绝使用这个新制的图表,而当他们因为使用旧方法航行到半路出了事故或者花费的航行时间长很多的时候,他们反而帮助证明了莫里系统的实用性。

1855年,莫里的权威著作《关于海洋的物理地理学》(The Physical Geography of the Sea)出版,当时他已经绘制了120万数据点了。莫里写道,在这些图表的帮助下,年轻的海员们不用再亲自去探索和总结经验,而能够通过这些图表立即得到来自成千上万名经验丰富的航海家的指导。

他的工作为第一根跨大西洋电报电缆的铺设奠定了基础。同时,在公海上发生了一次灾难性的碰撞事件之后,他马上修改了他的航线分析系统,这个修改后的系统一直沿用至今。他的方法甚至应用到了天文学领域,1846年当海王星被发现的时候,莫里有了一个好点子,那就是把错把海王星当成一颗恒星时的数据都汇集起来,这样就可以画出海王星的运行轨迹了。

这个土生土长的弗吉尼亚人在美国历史上并不受关注,这也许是因为他在美国内战期间不再为海军效力,而是摇身一变成为了美国联邦政府在英国的间谍。但是多年前,当他前去到欧洲为他绘制的图表寻求国际支持的时候,四个国家授予了他爵士爵位,包括梵蒂冈在内的其他八个国家还颁给了他金牌。即使到今天,美国海军颁布的导航图上仍然有他的名字。

原文发布时间为:2014年05月16日
本文作者:大数据时代
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

这篇关于莫里航海图 最早的大数据实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410329

相关文章

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行