安全的地图,平安的2024!

Feb 08, 2024

明天是除夕。过了17年的法定假期,2024年不法定了。时代总是在前进,过程中走走停停,变化常在,不变倒是罕见。

2024年,全球注定还会有大事儿发生。这个注定背后,有太多不稳定的因素在奔流着。本来我觉得特朗普同志是不是会卷土重来将是个巨大的不确定,结果呢?谁会二度成为白宫的主人反而成了确定性比较高的一件事。其它的?真的很难讲。比如,金价会不会继续上涨?A股还会不会跌?

全球今年居然有60多个国家和地区将要进行最高领导人或者最高议会选举。除了川建国同志,大部分国家谁会主政,我们着实也不关心,或者说,绝大部分『领导』,我们也不认识。现在看来,这其中的一些选举可能会对全球政治走向产生显著影响。例如,俄罗斯的总统选举,欧洲的议会选举等。数据记者Katharina BuchholzStatista上制作了一张超级选举年的地图,将今年已经举行和将要举行大选的国家标识为蓝色。

一共有62个国家和地区今年举行大选,这样的地图做起来非常简单,但是发布在中文互联网上就要谨慎一点了

在国内媒体上发布的地图,一定是要小心的。尤其是体制内单位发布的公开信息,如果处理不当,会给发布者带来想不到的麻烦。小编们要是对地图规则不熟悉,手里也没有什么趁手的工具,即便就是复制上面这张朴素的世界地图,也会让你小编们绕道而走。

可是地图又具有那么多的故事性!地图可以看作是最被常常用到的基础可视化图表。因为一点点边界表达的风险,就退避三舍,这是不是有点因噎废食呢?

其实全球地图的绘制使用,当代表国家一级行政单位发布信息时,世界上很多很多的政府都是很谨慎的。这种情况也不是就咱们过度要求。但没有到达这个层级的信息,比如一篇公号文章,一个短视频配图,只要处理好几个关键的点,大体安全无虞。最重要的是对岸湾湾不能出错,第二不能用麦克马洪线画中印边境线,第三最好将南海诸岛都绘制出来。其它国家的形状,用最常用的数据就可以了。

比如开源非商用的世界地图GADM,因为包含了六个级别的行政区划——国家(0 级)、州/省/同等级别(1 级)、县/区/同等级别(2 级)、乡/市/同等级别(3 级)以及更小的 4 级和 5 级,定期更新(最新版本是2022年的4.1)而深受世界地图的爱好者喜爱。当然了,GADM绝对不代表权威地图,因为行政区划的边界,在全球很多国家,并没有一个精确的划分。更何况全球有国土争端,边境冲突的地区太多了,谁敢说就一定能代表权威呢?

40万个行政区划全部绘制出来的世界地图

在GADM中,中国的边界就肯定属于『问题地图』。

如果将上图GADM中的虚线和我国官方发布的全国地图叠加,你就会看到常见的问题地图的『问题所在』。

你既想使用正确的中国地图,又要借力人家GADM已经整理好的全球各个国家的行政区划,怎么办?曾经这都是专业GIS工作者才能驾轻就熟的工作,有了ChatGPT,GIS的专业性绝对可以平权、普世化。

找一份官方认可的中国行政区划地图,你可以去自资部的官网下载。本文例子,使用的是遥感之家的锐多宝(宝哥)制作的2023年初全国行政区划矢量文件。现在就看你能不能将这个任务用简单的语言描述清楚,组成一个prompt了。其实最核心的就是用中国官方认可的数据替换GADM中中国部分,并解决边界冲突

我在准备这篇文章的时候,突然很好奇,如果将ChatGPT生成的代码『回喂』给ChatGPT,让它根据这段代码生成prompt会是怎样来写的?结果如下:

编写一个Python脚本,使用geopandas库,来处理全球地理数据和中国的特定地理数据。这个脚本应该包含一个函数,该函数执行以下步骤:
  1. 定义一个接收四个参数的函数:全球地理数据的路径,中国地理数据的路径,输出文件的路径,以及中国的国家代码。
  2. 使用geopandas读取全球地理数据(GPKG格式)和中国地理数据(Shapefile格式)。
  3. 在全球数据中,检查是否存在中国的记录,通过匹配提供的国家代码(例如,"CHN")。如果没有找到,打印一条消息说未找到并返回。
  4. 从中国数据中提取中国的多边形。
  5. 查找与中国多边形相交但不是完全相同的邻国记录。
  6. 对于每个找到的邻国,计算与中国的交集,并从邻国的多边形中减去与中国相交的部分。
  7. 更新全球地理数据集中的邻国边界。
  8. 替换全球地理数据集中中国的多边形为新的多边形。
  9. 将修改后的全球地理数据保存到新的GPKG文件。
  10. 打印一条消息,说明中国的多边形已经更新,邻国边界已经调整,并且文件已保存到指定的输出路径。
最后,设置适当的参数路径,并调用该函数。

看看人家写的,确实是细致、具体,没有歧义。用文字精确的描述任务,现在看来,这将是未来职场第一生产力。但这个能力或者技巧也没有那么不可掌握,同样的,怎么写prompt,ChatGPT也是一个好老师。

用生成的代码运行一下,随机配置一下其他国家的颜色,增加一个闪亮的九段线图层。一份安全的世界地图就制作好了。

剩下的故事,你想制作什么样的世界专题地图,都顺理成章了。只要你能找到对应的国家的数据即可。比如上面选举地图,从anchorchange获取最新的选举时间列表,QGIS中做个join操作,三下五除二的事儿。

再做一张G7国家和新金砖国家的地图。

请建立一个表格,第一列命名为"简写代码",第二列为"国家",第三列为"编号"。用G7国家和金砖国家、新金砖国家填充这个表。请注意新金砖国家为Egypt, Ethiopia, Iran, Saudi Arabia and the United Arab Emirates 。请为G7国家用G来代表编号字段,金砖用B,新金砖用N。简写代码为这些国家国际上常用的三英文字母。

再来一次Join。是不是很轻松,你也想试试?

不论您的目标是描绘全球贫富差异还是气候变迁的影响,只要掌握了必要数据,您便能安全且有效地构建地图。在数据工作者眼中,数据才是王道,是最有价值的资产。地图作为一种强有力的视觉媒介,它能够将复杂的数据以直观的方式展现出来,让你的数据增值!千万别因为不小心的『政治不正确』限制了您使用地图讲述数据故事的创意。通过本文,我希望能启发您,让您在遇到任何挑战时,都能让您的AI助手先行一步,为您开路。最终,我祝愿您在2024年一切安好,顺利度过!

王昊

用地图思考人生

评论正在加载...
Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
分享