在港中文读博,我用代码看懂整个地球

puppy

嗨,你有没有想过,在港中文读博的日常,除了看文献和做实验,还能是什么样?对我来说,就是和代码死磕,把一行行Python脚本,变成俯瞰地球的“上帝视角”。刚开始我也超迷茫,但当我用代码第一次“看见”亚马逊雨林的呼吸、城市扩张的脉络时,感觉整个世界都在我屏幕上展开了。这篇文章想跟你聊聊,我如何把枯燥的数据变成酷炫的地球故事,分享一个普通博士生用代码探索世界、也找到自己的小经历。如果你也走在科研的路上,或许能在这里找到一点共鸣和微光。

温馨提示
这篇文章不是高深的技术教程,更像是一个博士生的碎碎念和心路历程分享。如果你也曾在海量数据面前感到迷茫,或者对用代码探索世界有点好奇,那我们就是朋友啦!

在港中文读博,我用代码看懂整个地球

嗨,我是Lina,一个在香港中文大学读博的普通学生,研究方向是地理与资源管理。

还记得博一的某个深夜,我一个人窝在图书馆9楼的角落,窗外是吐露港温柔的灯火,屏幕上却是一片冰冷的数字。那是一个关于全球森林覆盖率的数据库,密密麻麻的经纬度和数值,像一堵墙,把我死死地堵在了论文的开头。导师说:“数据里有故事,你要把它挖出来。”可我当时的感觉是,数据里只有bug,和我快要“bug掉”的大脑。

那种感觉,我想很多在海外读研读博的朋友都懂。我们漂洋过海,一头扎进学术的海洋,以为自己是来探索新大陆的,结果发现大多数时间都在扮演一个“数据搬运工”和“文献翻译器”。迷茫、焦虑,怀疑自己到底在干嘛,这些情绪就像香港潮湿的春天,无孔不入。

改变发生在另一天凌晨三点。在经历了无数次失败后,我用Python写的一段蹩脚代码终于跑通了。屏幕上,一张世界地图缓缓加载出来,上面用深浅不一的绿色标记着森林的密度。我把时间轴拉到2000年,再缓缓拖到2022年。就在那一瞬间,我亲眼“看见”了亚马逊那块巨大的绿色心脏,边缘像被啃食一样,出现了一片片刺眼的黄色和灰色。我甚至能定位到某个具体的区域,看到一条公路的修建,如何像一把尖刀,撕开了雨林的皮肤,随后, câncer般的砍伐沿着道路向四周蔓延。

那一刻,我没觉得自己在做研究,我感觉自己像个宇航员,在空间站里静静地看着地球的呼吸和伤疤。那些冰冷的数字,突然变成了有生命、会呼吸的故事。也是从那一刻起,我找到了读博的另一面——用代码,去拥有一个俯瞰世界的“上帝视角”。

当亚马逊雨林在我屏幕上“呼吸”

我们总是在新闻里听到“亚马逊雨林正在消失”。这句话听多了,就像“多喝热水”一样,变得有点麻木。但当你亲手处理这些数据时,感觉完全不一样。

我的第一个练手项目,就是分析亚马逊的森林砍伐情况。我用的数据来自巴西国家空间研究院(INPE)的PRODES项目,这是全球最权威的森林监测系统之一。你可能不知道,他们每天都在用卫星“站岗”,追踪着每一片被砍伐或烧毁的森林。数据显示,仅在2022年8月到2023年7月这一年间,巴西亚马逊地区就有超过9001平方公里的森林消失了。这是什么概念?相当于每小时就有超过一个香港岛面积的森林从地球上被抹去。

一开始,我面对的是成千上万个TIF格式的卫星影像文件,每一个都巨大无比。如果手动去处理,可能博士读完都处理不完。这时候,代码就成了我的超能力。我用到了一个叫 `rasterio` 的Python库,它可以让我像切蛋糕一样,轻松地读取和处理这些栅格数据。我写了一个简单的脚本,让电脑自动帮我完成几件事:

1. 对齐图像: 把不同年份、不同卫星拍的图片,像叠罗汉一样,像素对像素地精确对齐。
2. 识别变化: 对比前后两年的图像,找出那些从“绿色”(森林)变成“棕色”或“灰色”(裸地/建筑)的像素点。
3. 计算面积: 把这些变化的像素点数量,乘以每个像素代表的实际面积(比如30米 x 30米),就能得出砍伐的总面积。
4. 可视化: 最后,用 `matplotlib` 这个绘图库,把这些变化的区域在地图上用醒目的红色标记出来。

当我把从2001年到2022年的年度砍伐地图做成一个动态GIF时,我真的被震撼了。你看到的不只是一个下降的曲线图,而是一片绿色的肺,正在逐年萎缩、溃烂。你甚至能看到非法金矿像一个个小洞,慢慢侵蚀着完整的林地。这种视觉冲击力,是任何文字报告都无法比拟的。那一刻我才明白,代码不仅是工具,它更是一种翻译器,能把复杂的数据“翻译”成人类最直观的视觉语言。

在香港,我看到了城市扩张的“脉络”

在香港这个寸土寸金的地方,你更能体会到人类活动对地表形态的改造有多剧烈。我的另一个小项目,就是研究香港的城市扩张,特别是填海造地。

从飞机上俯瞰香港,你会惊叹于维多利亚港两岸的摩天大楼。但很少有人知道,我们脚下踩的很多土地,在几十年前都还是大海。根据香港地政总署的数据,自1887年以来,香港通过填海获得的土地总面积超过70平方公里。这相当于在海上硬生生造出了一个新的九龙半岛。

用代码怎么看这个过程呢?我找到了美国地质调查局(USGS)发布的Landsat系列卫星数据,这个项目从上世纪70年代开始,就孜孜不倦地为地球拍照,给我们留下了宝贵的时间胶囊。

我下载了香港地区从1980年代到现在的影像。这次,我用了一个更强大的工具——`geopandas`。你可以把它想象成一个会处理地理信息的Excel。通过它,我可以轻松地识别出图像中的水体和陆地。我的思路很简单:

1. 提取海岸线: 对于每一年的卫星影像,我用算法自动识别出水和陆地的边界,也就是当年的海岸线。
2. 叠加对比: 我把1980年、1990年、2000年、2010年和2020年的海岸线,用不同的颜色画在同一张地图上。

结果出来的时候,就像在看一幅城市生长的年轮图。你能清晰地看到,中环的海岸线是如何一步步向维港中心推进的,现在的国际金融中心(IFC)脚下的土地,在80年代都还是海水。你还能看到,赤鱲角机场是如何从两个小岛,通过填海,“长”成一个巨大的空港平台。整个过程就像在玩一个慢放了40年的模拟城市游戏。

更有趣的是,你还能发现一些隐藏的故事。比如,你会看到将军澳的发展,从一片荒芜的海湾,变成一个人口密集的新市镇,它的海岸线变化,完美记录了这个区域的城市化进程。这些由代码绘制出的“脉络”,让我对每天生活的这座城市有了全新的认识。它不再只是一个繁忙的金融中心,而是一个不断与海洋争夺空间、充满生命力的有机体。

北极的冰,正在我眼前“无声地融化”

博士研究有时会让人感觉很无力,因为你研究的问题往往非常宏大,而你个人的力量又如此渺小。气候变化就是这样一个话题。

为了让自己的感受更真切一些,我决定亲手分析一下北极海冰的变化数据。这次我找的是美国国家冰雪数据中心(NSIDC)的数据。他们从1979年开始,就利用卫星微波传感器监测海冰的范围。这些数据是公开的,任何人都可以下载。

我下载了过去四十多年每个月的海冰范围数据。数据本身就是一堆数字,每一行代表一个时间点和对应的海冰面积。我做的第一件事,就是用Python把这些数据画成一张简单的折线图。横轴是年份,纵轴是每年9月份的海冰最小范围(因为北极海冰通常在9月达到年度最小值)。

那条向下倾斜的曲线,比任何环保宣传片都更有说服力。数据显示,北极海冰范围的消退速度约为每十年13%。2023年9月的海冰范围,是卫星记录史上的第六低值。虽然不是最低,但整体的下降趋势是无可否认的。当我把鼠标放在1980年的数据点上,再移动到2023年的数据点,那种海冰大面积消失的失落感,是真实可感的。

但代码能做的,远不止画一条线。我进一步用代码做了一些探索:

季节性对比: 我把3月份(海冰最大值)和9月份(海冰最小值)的趋势线放在一起对比。发现虽然冬季海冰的最大范围也在减少,但夏季最小值的减少速度要快得多。这说明北极的夏天越来越“名副其实”了,冰层更薄,也更容易融化。

制作热力图: 我把每个月的数据都做成一张网格图,用颜色深浅代表海冰面积。这样一来,过去四十多年的季节性循环和整体下降趋势就一目了然。你能看到,代表夏季的色块,颜色正变得越来越浅。

做这个分析的过程,对我来说是一种情感上的冲击。我仿佛能听到冰川崩裂的声音,能感受到北极熊失去家园的彷徨。这不再是遥远的新闻,而是我亲手验证的事实。做科研的意义,或许就在于此吧——不仅仅是发表论文,更是通过严谨的数据分析,去触摸这个世界的脉搏,去感受那些正在发生的、无声的巨变。

代码是一种语言,也是一种思维方式

走到现在,代码对我来说,已经不只是一个冷冰冰的工具了。它更像是我学会的一门新外语,一门可以和数据直接对话的语言。

学习这门语言的过程,当然是痛苦的。我到现在还记得,为了解决一个编码格式的错误(`UnicodeDecodeError`,过来人应该都懂),我熬了整整两个通宵,翻遍了Stack Overflow的每一个帖子,最后发现只是因为读取文件时少加了一个参数 `encoding='utf-8'`。当时那种想把电脑扔出窗外的冲动,和问题解决后那种巨大的成就感,形成了奇妙的对比。

但正是这种不断试错、不断调试的过程,塑造了一种新的思维方式——计算思维(Computational Thinking)。它教我如何把一个复杂的大问题,拆解成一个个可以执行的小步骤;教我如何去寻找规律,如何去优化流程。这种思维方式,不仅能用在写代码上,也能用在写论文、做实验,甚至规划自己的生活上。

在港中文,我身边有很多这样的同学。有学社会学的,用代码做文本分析,研究社交媒体上的舆论风向;有学金融的,用代码做量化交易模型,预测市场波动;有学历史的,用代码构建历史人物关系网络,挖掘被遗忘的关联。我们都在用这门新的语言,在各自的领域里,讲出全新的故事。

我们不再仅仅是知识的消费者,我们成了知识的创造者。我们提出的每一个问题,都可以尝试用数据去寻找答案。这种感觉,酷毙了。

如果你也走在科研的路上,或者对这个世界还充满好奇,或许可以试试看,推开代码这扇门。它背后可能不是一帆风顺,但一定有一个更广阔、更清晰的世界在等你。

别怕那些看不懂的符号,从“Hello, World!”开始,谁不是呢?

找一个你真正关心的问题,无论是你家乡的空气质量,还是你偶像的社交媒体热度,让好奇心做你的第一个老师。

把你的第一个“烂作品”——那张丑丑的图,那个跑得超慢的程序——分享给朋友看。你获得的反馈和鼓励,会比你想象的多得多。

我们这一代留学生,拥有前所未有的资源和工具。我们眼前的屏幕,不应该只是刷剧和看文献的窗口。它也可以是一个望远镜,让我们看到遥远的星辰和冰川;它也可以是一个显微镜,让我们洞察城市肌理和社会变迁的细节。

从香港这个小小的山城望出去,我用代码,看到了整个地球。希望你也能找到你的那扇窗,看到属于你的那片风景。

辅成AI一键生成论文系统

匿名一键生成|真实参考文献|真实图表公式|免费无限改稿

立即体验

puppy

留学生新鲜事

366962 博客

讨论