#5 乌干达基本信息

2026-08-03

乌干达共和国位于东非内陆,横跨赤道,面积约24.16万平方公里,2025年人口约5140万,首都为坎帕拉。乌干达与肯尼亚、坦桑尼亚、卢旺达、南苏丹和刚果(金)接壤,没有海岸线,但拥有维多利亚湖的重要水域,尼罗河由此向北流出。2024年GDP约539亿美元,人均GDP约1078美元,2025年GDP增长约6.3%。经济以农业、服务业和工业为主,咖啡、黄金、旅游是重要外汇来源。

#4 卢旺达基本信息

2026-08-03

卢旺达位于非洲中东部大湖地区,北邻乌干达,东接坦桑尼亚,南邻布隆迪,西部与刚果(金)接壤,是一个典型的内陆山地国家。国土面积约2.63万平方公里,人口约1400万,是非洲人口密度最高的国家之一。首都为基加利。全国没有海港,国际贸易主要依赖坦桑尼亚和肯尼亚的港口及公路、铁路通道。官方语言包括基尼阿卢旺达语、英语、法语和斯瓦希里语。卢旺达地形以丘陵和高原为主,因此有“千丘之国”之称。

#3 刚果基本信息

2026-08-03

“刚果(金)”和“刚果(布)”不是同一个国家,而是两个独立国家,两国都因刚果河得名。由于两国都曾经叫过“刚果共和国”,国际社会后来通常用首都简称区别。刚果(金)正式名称是刚果民主共和国(DRC),首都金沙萨;刚果(布)正式名称是刚果共和国(Republic of the Congo),首都布拉柴维尔。两国首都隔着刚果河相望,是世界上距离最近的两个首都之一。
两国虽然同属刚果河流域、官方语言都是法语,但殖民历史完全不同:刚果(金)曾是比利时国王利奥波德二世的“刚果自由邦”,1908年转为比利时殖民地;刚果(布)则属于法国殖民体系,是法属赤道非洲的一部分。两国均于1960年独立。

介绍

刚果(金)位于非洲中部,横跨赤道,面积约234.5万平方公里,是撒哈拉以南非洲面积最大的国家,2025年人口约1.128亿。
西部仅有约37公里大西洋海岸线,严格来说并非典型沿海国家;主要海港包括马塔迪、博马和香蕉港,另有金沙萨等内河港口,其中马塔迪是传统海运门户。
全国有超过200个民族,主要包括刚果族、卢巴族、蒙戈族等,文化高度多元。官方语言为法语,林加拉语、斯瓦希里语、基孔果语和契卢巴语为主要民族语言;其中斯瓦希里语主要通行于东部,林加拉语在金沙萨及西北部影响较大。
首都金沙萨人口约1700万,是全国政治、经济和文化中心;其他重要城市包括卢本巴希、姆布吉马伊、基桑加尼、戈马和布卡武。
刚果(金)拥有世界第二大热带雨林及丰富的铜、钴、金等矿产资源,音乐、舞蹈、鲜艳服饰和多民族传统构成其重要文化特色。

刚果(布)位于非洲中西部,面积约34.2万平方公里,2025年人口约648万,是非洲人口密度较低的国家之一。
西南濒临大西洋,海岸线约156公里,主要港口为黑角港(Pointe-Noire),是全国最重要的海运和石油出口门户;首都布拉柴维尔位于刚果河畔,与刚果(金)首都金沙萨隔河相望,两座城市构成非洲距离最近的首都组合之一。
全国有56个民族,主要为班图族群,包括刚果族、姆博希族和太凯族等;官方语言为法语,南部主要使用刚果语、莫努库图巴语,北部较多使用林加拉语。宗教和传统文化具有明显的班图特色,同时受到基督教影响。
刚果(布)森林覆盖广泛,拥有大片刚果盆地热带雨林和重要泥炭地;经济高度依赖石油,石油约占GDP一半和出口额八成。与刚果(金)相比,刚果(布)政治和安全形势总体稳定。

历史

刚果金与刚果布原本同属刚果河流域文明圈。14世纪前后,刚果王国在今刚果(金)西部、刚果(布)南部及安哥拉北部一带兴起,并形成较成熟的政治和贸易体系。15世纪末葡萄牙人抵达刚果河下游,与刚果王国建立贸易和外交关系,天主教也随之传入。此后,大西洋奴隶贸易给当地社会带来巨大冲击。

19世纪欧洲殖民扩张进入高潮。1870年代,英国探险家斯坦利深入刚果盆地,使欧洲进一步掌握这一地区情况。比利时国王利奥波德二世随后控制刚果河流域,并于1885年建立私人领地“刚果自由邦”,即今天刚果(金)的前身。当地长期遭受强制劳动和资源掠夺,国际社会曝光暴行后,比利时于1908年正式接管,改为比属刚果。

与此同时,法国探险家布拉柴从西侧进入刚果河流域,法国逐步控制河流西岸地区,建立法属刚果,后纳入法属赤道非洲。由此,刚果河两岸被划入法国和比利时两个殖民体系,逐渐形成今天两个国家的边界。

二战后非洲民族独立运动兴起。1960年6月30日,刚果(金)独立,但随即爆发军队兵变、加丹加分离和政治危机。
1965年蒙博托掌权,建立长期威权统治,并于1971年将国名改为“扎伊尔”。
1994年卢旺达大屠杀后,大量难民和武装人员进入刚果东部,地区矛盾进一步国际化。
1996年和1998年先后爆发第一次、第二次刚果战争,卢旺达、乌干达等周边国家以及大量地方武装卷入其中。第二次刚果战争结束后,东部武装冲突却没有真正消失。
1997年洛朗·卡比拉推翻蒙博托,刚果恢复现名;此后政权由其子约瑟夫·卡比拉延续。
2019年费利克斯·齐塞克迪就任总统。

刚果(布)则于1960年8月15日独立,初期经历政治斗争,随后长期实行社会主义制度,1990年代又爆发内战,最终萨苏-恩格索重新掌权。

安全风险

今天刚果(金)最严重的安全风险仍集中在东部大湖地区,尤其是北基伍、南基伍和伊图里等地。这里长期存在大量武装组织,核心矛盾既包括地方族群、土地和资源争夺,也涉及卢旺达、乌干达等邻国的安全利益。2026年,政府军与M23的冲突仍是最重要的战事之一。M23曾夺取戈马、布卡武等重要城市,卢旺达被刚果(金)及国际社会指责支持M23,卢旺达则否认相关指控。与此同时,ADF等极端武装主要在伊图里、北基伍一带活动,持续发动袭击、绑架和屠杀;CODECO等地方武装也增加了地区安全的不确定性。

因此,刚果(金)东部并非单纯的“政府军vs反政府军”,而是族群与土地矛盾 + 矿产资源利益 + 国家治理薄弱 + 邻国安全竞争 + 极端主义扩张长期叠加的结果。

各方武装势力:

  1. 殖民遗产与国家治理薄弱
    刚果(金)1960年独立后长期政局动荡。1994年卢旺达大屠杀后,大量难民及武装人员进入刚果东部,原有族群、土地和政治矛盾迅速国际化,最终引发两次刚果战争,形成今天武装林立的基础。
    胡图族武装人员及其后代组成民主解放卢旺达力量(FDLR),长期盘踞刚果(金)东部。

  2. 刚果(金)政府军(FARDC)
    是国家正规军,负责维护领土和政权。由于东部政府控制力长期薄弱,军队腐败、装备和组织能力不足,难以彻底消灭地方武装。

  3. M23(3月23日)
    当前东部最重要的反政府武装之一。其成员主要来自图西族武装力量,历史可以追溯到第二次刚果战争时期的RCD、CNDP等组织。2012年M23首次崛起,后被击败;2021年重新发动攻势,并在2025—2026年夺取戈马、布卡武等重要城市。刚果(金)和联合国长期指责卢旺达向M23提供军事支持,卢旺达否认直接控制该组织。
    PS:M23的核心成员主要来自刚果(金)东部的图西族,与卢旺达境内的图西族具有共同的族群和历史文化渊源。

  4. ADF(民主同盟军)
    起源于1990年代的乌干达反政府武装,后来进入刚果(金)东部活动。近年来逐渐与“伊斯兰国”建立联系,被其宣传体系称为中非省相关组织。ADF主要在伊图里、北基伍等地袭击村庄、矿区和交通线,是当地最危险的极端武装之一。

  5. CODECO
    主要活跃于伊图里省,最初与当地伦杜族社区武装和土地、族群矛盾密切相关。后来发展为多个武装派别组成的松散网络,与胡图族、赫马族等社区冲突交织。

  6. 瓦扎伦多(Wazalendo)
    刚果政府支持或容忍的地方民兵联盟,主要由不同社区武装组成,目标是对抗M23。其成员复杂,部分武装历史上也曾与政府军发生冲突。

  7. 卢旺达
    卢旺达并非简单意义上的直接参战方,而是刚果(金)东部冲突最关键的外部力量之一。卢旺达长期将刚果境内的民主解放卢旺达力量(FDLR)等胡图族武装视为本国安全威胁。刚果政府官方立场是要求 FDLR 解除武装,但联合国等机构曾报告刚果政府军与 FDLR 及其他亲政府民兵存在合作。与此同时,联合国调查人员认定卢旺达向 M23 提供军事支持,卢旺达则否认。由此形成了卢旺达支持 M23、刚果政府依靠包括 Wazalendo 及部分 FDLR 力量在内的亲政府武装对抗 M23 的复杂格局。
    PS:刚果(金)国土面积约为卢旺达的 90 倍,但其东部长期存在政府控制薄弱、地方武装林立和交通基础设施落后的问题;卢旺达国土虽小,但军队组织、训练、指挥和动员能力较强,因此能够通过边境优势和对 M23 的支持,对东刚果产生远超自身国土规模的军事影响。与此同时,卢旺达从 M23 控制区的矿产和贸易网络中获益作为回报(卢旺达否认相关指控)。

除了乌干达和卢旺达之外,刚果(金)所在的南部非洲发展共同体(SADC)和东非共同体(EAC)都曾经有地面部队援助。EAC 的 EACRF 部队和 SADC 的 SAMIDRC 部队均已结束任务并撤出。
还有一个国家就是布隆迪,布隆迪出于自身安全和地缘政治考虑,向刚果(金)东部部署军队,协助刚果政府对抗M23。

布隆迪与卢旺达紧密相邻,两国语言、文化和族群结构高度相近,历史上都曾建立以图西贵族王室为核心的君主制,后来又先后成为德国、比利时殖民地,并经历严重的族群冲突和内战。1994年卢旺达大屠杀后,大量前卢旺达政府军、民兵及胡图族难民逃入刚果(金)等邻国,其中部分武装后来重新组织,成为卢旺达长期担心的安全威胁。与此同时,布隆迪与卢旺达又长期互相指责对方支持本国反政府武装,逐渐形成“你支持我的敌人,我就支持你的对手”的安全困境。

#2 一种基于经纬度的地理位置编码方案

2026-07-24

阮一峰的新闻周刊介绍了高德的位置口令,高德本月推出了一个新功能,可以位需要提供准确位置的用户生成一个 6 位编码,其他人直接搜索这个编码就能找到那个位置,而不需要知道这个位置的名称。
文章后面说:要是国家出台统一算法就好了,为每个地点生成一个固定不变的位置码,用处就大了。

我想,这倒没有必要,为所有位置提供编码的方案不就是经纬度么?
经纬度在日常表达方面确实会有一些障碍,读起来不大方便,而且我不确定有多少人知道经纬度,虽然这是初中就学了的。
我设计了一个 8 位编码方案(BASE32,只包含数字和大写英文字母):

经纬度 1 度大约偏差 111 公里,精确到小数点后 3 位小数,可以控制偏差在 100 米范围内,对于日常使用是可以接受的。

总共 360,000 x 180,000 = 648 亿个点。
二进制 36 位可以表达(687 亿),也就是 5 Bytes。
BASE32 8 位足够可以表达了(10995 亿)(7 位只有 343 亿,差一点)。

在百度地图开放平台上用坐标拾取器获取两个坐标用来测试,结果如下:

  • 华中科技大学的毛泽东像位置是 (114.420025,30.514723),精度控制到小数点后三位,换算过来就是 BRLMVBKC
  • 美国自由女神像位置是 (-74.044500, 40.689225),精度控制到小数点后三位,换算过来就是 ARYMQF7B

Base32 字母出现的频率较多,为了减少英文字母的使用,我改成十六进制的表达方式,只多了一位而已,可以接受。测试结果如下:

  • 华中科技大学的毛泽东像位置 (114.420025,30.514723) 换算过来就是 0C56CA8542
  • 美国自由女神像位置 (-74.044500, 40.689225) 换算过来就是 0470C817E1

Python 代码示例:

# woody geo codec

import base64

# encode = base64.b32encode
# decode = base64.b32decode
encode = base64.b16encode
decode = base64.b16decode

def wgc_encode(lat:float, lon:float) -> str:
    lat_num = int((lat + 180) * 1000)
    lon_num = int((lon + 90) * 1000)
    num = lat_num * 180000 + lon_num
    return encode(num.to_bytes(5, byteorder="big")).decode()

def wgc_decode(code:str) -> tuple[float, float]:
    num = int.from_bytes(decode(code))
    lat_num = num // 180000
    lon_num = num % 180000
    print(lat_num, lon_num)
    lat = (lat_num - 180000) / 1000
    lon = (lon_num - 90000) / 1000
    return lat, lon

for lat, lon in ((114.420025, 30.514723), (-74.044500, 40.689225)):
    print((lat, lon))
    code = wgc_encode(lat, lon)
    print(code)
    print(wgc_decode(code))

#1 二十四节气是怎么来的?从太阳运动到现代历法

2026-05-01

二十四节气不是“24个传统节日”,也不是“24个固定日期”,它本质上是一套:以太阳周年视运动为基础,把一年划分成24个阶段的时间坐标系统。
从几千年前的圭表,到今天的天文计算,变化的是测量和计算方法,而不是太阳本身的运动规律。
这正是二十四节气能够延续两千多年,直到今天仍然具有天文学意义的原因。