3小时挑战:小白如何借助AI完成GIS数据爬取到可视化


2024年,无论你对人工智能是什么态度,但几乎所有行业都在谈论它的潜力。然而,真正开始使用AI提升工作效率的人并不多。作为一个与GIS和数据打交道的创业者,受启发与你分享一个实际工作中人人都能用得上的小例子,展示如何在AI的助力下,仅用3小时完成一个看似复杂的数据可视化项目。

前天,微博红人@牛津-小裁缝,王老师发布了一张日本2023年县级人口增长情况的地图,引发了大家的讨论:难道只有东京人口增长?大阪呢?名古屋呢?

作为数据可视化爱好者,我们当然不甘示弱:能否制作一张更深入、更全面的日本人口数据地图?

我不想多耗费精力,打算用一小会儿就搞定这个任务。挑战在眼前,必须借助AI,特别是Claude 3.5 Sonnet,来实现这个目标。

第一步:数据获取

首先,我们需要从可靠来源获取数据。经过传统的Google搜索,发现有人口数据的日本网站还挺多的,我也没有仔细看哪家更贴心,就选了排在搜索结果前面的日本帝国书院的统计数据网站

都已经是表格了,非常容易拷贝粘贴。也可以找个chrome的插件拖拉下来csv,但是既然要想到和人工智能配合了,而且我这次打算试试最近很红的编程环境:Cursor,那就让Cursor带着claude来帮我写爬虫好了。

大白话Prompt:

“我需要从https://www.teikokushoin.co.jp/statistics/prefecture/ 获取2020-2023年日本47个县的人口数据。请帮我编写一个Python脚本来实现这个任务。”

当然,你的任务是一步步要将你看到的情况,出错的问题,用不引起歧义的语言反馈给claude。

经过一点点小挫折,一个小时内还是搞定。

Claude不仅生成了完整的Python脚本,还贴心地解释了每一步的作用,甚至考虑到了网站可能的反爬虫机制,建议添加适当的延迟。

左边的代码你不用管,只要老老实实将错误信息add到chat(增加到聊天对话)里面,补充你的信息和要求。cursor能够将claude生成的代码自动更正左边的代码块,太贴心了。

第二步:数据处理

有了原始数据,下一步是将其整理成适合地图可视化的格式。这时,我们再次向Claude寻求帮助。

大白话Prompt

“我已经获取了原始数据,现在需要将它处理成适合地图可视化的格式。具体来说,我需要计算每个县2020年到2023年的人口变化率。请提供处理这些数据的Python代码。”

Claude提供了一个简洁而高效的数据处理脚本,完美地满足了我们的需求。

第三步:地图制作

最后,我们将处理好的数据可视化到地图上。Claude自动就想到了怎么绘制,并结合GADM的日本行政区划数据来制作最终的地图。

大白话Prompt

“请使用我已经下载的GADM数据gadm41_JPN_1.shp和gadm41_JPN_2.shp,结合我们处理好的人口数据,使用你处理好的数据做关联。”

虽然也有些小波澜,比如matplotlib使用本地字体的问题等,但还是可以通过报错信息一起讨论解决。另外,关于颜色该怎么配,增长和降低该怎么表达,你都可以反复尝试。

反思与启示

整个过程从构思到完成,仅用了3小时(不包括写作本文时间)!这充分展示了AI如何大幅提升工作效率。对于我这样对代码一点都不专精,也不求甚解的前GIS工程师,让我有开心的感觉,好像并没有被年龄击败,我还可以通过写程序完成一些有意思的任务。

  • AI提升了职场基准线:像这样的工作,若没有AI辅助,GIS小白、分析师小白可能需要老师的指导、配合才能完成。
  • 人机协作的力量:AI不会取代人类的创造力和专业判断。在整个过程中,我们仍需要选择合适的指标、地图样式,并解释数据背后的含义。
  • AI提高了高手的上限:虽然初级程序员可以借助AI完成一些基本任务,但这些代码离一个真正的工程化高手还差太远了。那些难爬的网站,完全不是三言两语就能破解的。但真正的专家也能够更好地利用AI,完成更复杂、更有创意的项目。Ta们在AI的加持下,更加放大了Ta们与普通工作者的差距。

这其中,对于所有职场人来说,最最关键在于如何提出正确的问题。与AI的有效沟通,要求我们对问题有清晰的理解,并能够将复杂任务分解成具体的步骤。

结语

AI正在改变我们的工作方式,但它并不是万能的。真正的价值在于人机协作,将AI的效率与人类的创造力和专业知识相结合。希望这个案例能激励你,在工作中探索如何更好地利用AI工具。记住,工具在变,但学习和创新的重要性永远不变。让我们躺平一会儿,再起身一起拥抱这个时代,用这些、那些很小很小的试验,让自己获得自我效能感,从而不断鼓励、提升自己,创造更多精彩!