从1997年到2002年,曹树基先生先后发表了一系列论著,对清代城市人口①问题作了系统深入的考证和研究,成绩斐然,影响卓著。其研究的核心是构建了新的城市人口等级模式,认为建构这一模式有两个首要前提:一是对城市人口等级模式的推算,必须在区域的框架中进行,全国统一的城市人口等级模式是不存在的;二是构建历史城市人口等级模式应该采用实证的方法,即在各行政等级城市中,寻找尽可能多的样本,以个别推求整体,这种研究是基于经验的、个案归纳式的。②在此基础上,曹先生的结论是:在区域的框架中,存在着与城市行政等级相吻合的城市人口等级模式。简单的讲就是,在特定的区域中,城市的行政等级与城市的人口规模存在着正相关性,行政等级高的城市人口多,行政等级低的城市人口少,不同行政等级城市的人口规模呈现出明显的层级特征。 在西北地区,曹先生提出了陕甘城市人口等级模式,认为清中期区域内省城55,000人、府城25,000人、州和直隶州城12,000人、县城及镇为2,000人。③清晚期陕西县城约2,500人,甘肃县城约2,000人,大县、州、府城约5,000人。④认真研读其整个论证过程,我们发现支撑这一研究结论的样本城市相当有限。以晚清为例,陕甘两省样本城市总共只有12个,其中甘肃只有4个,仅占甘省城市总数的5.3%。⑤另一方面,有限的城市人口数据多为个人估计数,可靠性值得商榷。以西安城为例,曹先生认为同治中城内数万回民可能因战争而逃散,清末人口最多可达30万。⑥实际上,西安城内回民战时免遭屠戮,战后亦未逃散一空。⑦比较可靠的数据显示,清末全城人口约15万左右,⑧仅为其估计数的一半。兰州城情况类似,清末城内仅有9,163人,合关厢及附城人口,总数亦不足6万,⑨与其估计的10万人相去甚远。 通过实证的方法,以个案推求整体,构建城市人口等级模式;然后根据构建的模式再反推一般城市的人口状况,进而建立完整的历史城市人口序列。这一研究思路在逻辑上是正确的,但前提是必须有足够数量且准确可靠的研究个案。样本数过少,尤如盲人摸象,缺乏对整体的认识,很难通过个案归纳式的研究,以个别推求整体,得出规律性的结论。而缺乏真实可靠的数据,则有可能失之毫厘,谬之千里,缺乏实证的意义。从以上两点来看,曹先生所构建的陕甘城市人口等级模式是值得商榷的,可能需要更多的检验和论证。 那么,晚清西北城市人口的真实状况如何?具体是如何分布的?是否存在与城市行政等级相吻合的城市人口等级模式?如果存在,这一模式与曹先生所构建的城市人口模式是否相同?如果不存在,城市人口等级模式是否存在于其他的地理空间和城市维度里?诸如此类的问题,利用“地理调查表”原始档案数据,我们可以展开进一步的讨论和研究。 一、宣统人口普查与甘肃“地理调查表” “地理调查表”亦称“地舆调查表”或“地理户口调查表”,是宣统人口基层普查信息汇总的简表,是最原始的普查档案和地方文献。清末推行宪政,为了筹备立宪各项事宜,清政府于宣统年间在全国除西藏以外的范围内进行了一次大规模的人口调查活动。这次人口普查包括的空间范围广,耗费时间长,方法独特,普查目的与以往有本质不同,质量较高。侯杨方认为,宣统人口普查是中国历史上第一次现代人口普查,在中国人口史上具有划时代的意义。⑩ “地理调查表”调查表式以城市村镇为经,方向、里数、户口、附记五项为纬。每村一行,挨次排列。应查事项,先由本县绅董,分投详确考查。再由地方官复核,并将调查内容及承办绅董姓名、职衔等,汇填表内。连同原表,一并呈由省督抚。离城里数,可据俗称填注,但户、口两项均应切实查明,不准沿用向来所查数目敷衍填注。表第一页第一行地理调查表等字之上应填注某厅及某州县等字,其下录承办官职名如表式。表册面地理调查表等字之上应填注某省及府厅州县等字。(11) 宣统“地理调查表”国内多地均有发现,但以甘肃“地理调查表”保存的最为完整和系统。据笔者校核统计,甘肃省图书馆现存“地理调查表”共包括65个县及县以上调查单元。这其中,宁夏、宁朔两县均为宁夏府附廓,一城两县。庄浪茶马厅与平番县驻同一城,所有城内汉民户口归县管辖查报,厅辖境惟三十六番族户口由厅调查。狄道沙泥州判城内人口数缺失,仅有附城人口,无法计算。合而计之,实际有效样本城市共有62座,约占甘省行政治所城市总数的4/5。 这62座样本城市分别为:省城1座,即兰州省城(附廓皋兰县);府城6座,分别是:甘州府城(附廓张掖县)、平凉府城(附廓平凉县)、巩昌府城(附廓陇西县)、庆阳府城(附廓安化县)、宁夏府城(附廓宁夏县、宁灵县)、西宁府(附廓西宁县);直隶州城3座,分别是:泾州城、安西州城、肃州城;州城5座,分别是:河州城、狄道州城、静宁州城、灵州城、宁州城;普通县城30座,分别是:渭源县城、金县城、靖远县城、安定县城、会宁县城、通渭县城、宁远县城、伏羌县城、华亭县城、隆德县城、环县城、正宁县城、大通县城、碾伯县城、永昌县城、平番县城(庄浪茶马厅城)、古浪县城、山丹县城、玉门县城、敦煌县城、秦安县城、清水县城、礼县城、两当县城、高台县城、灵台县城、镇原县城、崇信县城、平远县城、海城县城;直隶厅城1座,即:化平川厅城;厅城9座,分别是:洮州厅城、循化厅城、贵德厅城、宁灵厅城、巴燕戎格厅城、丹格尔厅城、三岔厅城、抚彝厅城、花马池厅城;州同、州判、县丞城7个,分别是:王子庄州同城、红水县丞城、打拉池县丞城、陇西县丞城、庄浪县丞城、毛目县丞城、硝河城判城。(12)