孙靖国,骆文,成赛男
古人如何绘制地图?这是地图学史必须回答的核心问题。学界多认为,中国古代受“天圆地方”思想影响,将地表看作一个平面,因此并未形成绝对的投影坐标系;但在绘制小范围地图时,可以不考虑地表的曲度,可以相当精确[1]。王庸先生在《中国地图史纲》中阐述的中国地图学史发展的评判标准正是如此,他认为以“制图六体”和“计里画方”为代表的地图更科学、价值更高,而那些没有按照这些方法绘制的地图,“直到清代,一般官绘地图还是画着山水和注着四至道里等等,不但没有什么改进,亦不画方,还比裴秀、贾耽等古地图幼稚而落后了”[2]。尽管他也意识到中国古代大量的地图没有按照此类较为“科学”的方法绘制,但这种评判标准依然构成了之后中国地图学史的框架[3]。
那么,那些没有计里画方或看不出是根据制图六体绘制而成的地图,是如何绘制的?其准确程度如何衡量?曹婉如以沈括《梦溪笔谈》为例,指出沈括“认为有了二十四至的‘鸟飞之数’(即水平直线距离),即使以后地图亡佚了,按二十四个方向所到之地的水平直线距离布置郡县,很快就可以绘成精确的郡县分布图”[4]。在此,她提出中国古代地图绘制的重要方法,也就是运用地物相对关系确定位置从而绘制地图。地物的位置通常以某一个地物为基准,用相对基准物的方位和距离来进行表述。这种利用相对位置关系来帮助人们构建地理信息体系,确定所表现地图的位置的方法,在中国历史较早时期的地理书籍中就有运用,《山海经》中就有多处此类表述:
《西次三经》之首,曰崇吾之山,在河之南,北望冢遂,南望䍃之泽,西望帝之搏兽之丘,东望䗡渊。[5]38
又西三百二十里,曰槐江之山……南望昆仑,其光熊熊,其气魂魄。西望大泽,后稷所潜也;其中多玉,其阴多榣木之有若。北望诸,槐鬼离仑居之,鹰、鹯之所宅也。东望恒山四成,有穷鬼居之,各在一搏。[5]45
又南三百里,曰景山,南望盐贩之泽,北望少泽。[5]89
又北五百里,曰 于毋逢之山,北望鸡号之山,其风如䬅。西望幽都之山,浴水出焉。[5]98
《东次二经》之首,曰空桑之山,北临食水,东望沮吴,南望沙陵,西望湣泽。[5]105
又《东次三经》之首,曰尸胡之山,北望山。[5]111
又南水行五百里,流沙三百里,至于无皋之山,南望幼海,东望榑木,无草木,多风。是山也,广员百里。[5]112-113
之后亦有学者对此绘图方法进行讨论。汪前进通过分析唐代李吉甫的《元和郡县图志》,发现其中的方向和里程数据就是用来绘制地图的:“《元和郡县图志》系统地录载了唐初府(州)的‘八到’,县治至府(州)治的方向和里程,县下级行政或军事单位和自然地物至所在县治的方向和里程。‘八到’的内容包括方向、里程、起止点。”根据系统分析该书中全部方位和里程材料,他指出:“可以认定李吉甫当时绘制地图的方法是极坐标投影法,并且是多次使用;以都城为极点,确定各府(州)治的位置;以府(州)治为极点,确定各县治的位置;以县治为极点,确定县下一级行政或军事单位和自然地物的位置。该书记录地图数据和展现绘制地理全图的方法,上可以追溯至东汉,下可沿流至明清,因而它并不是孤立的个别现象,而是中国测绘史上普遍采用的方法。”[6]成一农也指出:“地理志书中记载的这种数据以及汪前进提到的‘极坐标投影法’,其数据特点就是地理要素位置的确定主要依赖要素之间的相对位置(距离和方向)关系。数据之间不仅相互依赖,而且这种依赖关系在绝大多数情况下并不是单一的,一个地理要素通常与很多其他地理要素之间具有数据上的依赖关系(即‘四至八到’)。”[7]
如上所述,既然古代文献注重地物之间相对位置关系的数据,那么这些数据是如何应用于地图绘制上的?而在没有现代测绘技术的时代,地图绘制者是否能准确把握地物之间的相对位置关系?换个角度来讲,也就是地图上地物之间的相对位置关系是否反映以及在多大程度上反映了实际的地理情况?这是探讨地图史需要解决的问题,也是研究中国传统地图绘制技法与古人所掌握地理知识情况的一个有价值的切入点。
由于古代地图绘制方法、绘制风格的非统一性,所以很难得出统一的结论,本文选取在风格和技法上都具有较高一致性的4幅明代及清初官绘边镇地图的大同左卫道地区部分:《九边图说》《宣大山西三镇图说》《三云筹俎考》《整饬大同左卫兵备道造完所属各城堡图说》,对这一问题进行探索。需要说明:相对位置关系包括“距离”“方向”两个概念,作为初步研究,本文仅对“方向”进行探索。为量化地物间相对“方向”关系,本文使用“方位角”概念对“方向”进行量化计算;由于数据量庞大,本文在方法上借助计算机技术手段,通过GIS及Python编程批量计算地图上地物的相对位置关系,并与实际位置关系进行比对,来对这一问题进行探讨①。
本文所选地图表现的地域是明末清初大同左卫道所辖地区(今天山西省西北部的左云、右玉两县以及大同、朔州二市的部分地区)。此地系由属于海河水系的十里河(古称武州川水)和属于黄河水系的沧头河(古称中陵川水)冲积而成的黄土河谷地带,扼守杀虎口与武周塞。草原游牧军队若突破此地,由内蒙古高原沿沧头河进入桑干河谷地,向南可逾管涔山系进入汾河谷地,威胁太原;向东可破飞狐口,进入华北平原,威胁北京,战略意义非常重要。为控制这一地区,战国时期就在此设置郡县。明朝在此区域先后设置诸多卫所[8],由山西行都司管辖。之后随着军事态势变化,逐渐修筑诸多城堡,嘉靖三十七年(1558)设置整饬大同左卫等处兵备道,并在大同左卫城设置副总兵,在大同右卫城、威远卫城和助马堡设置参将,形成以大同左卫城为核心、三座参将城堡为重要节点、诸多驻军官堡为节点的防御网络,镇守作为九边重地的大同镇的西北方向[9]。明代万历时期大同左卫地区所管辖城堡情况见表1。
由于此区域军事和战略上的重要性,诸多学者对表现这一区域的古地图进行研究。郭红比较了《宣大山西三镇图说》《三云筹俎考》中的大同镇图,认为前者质量明显高于后者[10]。赵现海对九边图系列进行梳理与考证[11-12]。孙靖国考释《整饬大同左卫兵备道造完所属各城堡图说》,笼统地认为这套地图系用“形象化的符号法”来绘制[13],但并未系统地对地图上地理信息的准确程度进行检验。有鉴于此,本文通过运用信息化手段对古地图上的地物进行数字化处理,计算其两两之间的方位角,并与实际地物之间相应方位角进行比较,分析其符合程度。具体方法为:由于已知实际地物(即明清城堡)的经纬度,可以计算出每两个地物之间的方位角,本文称作“实际方位角”。对古地图上的地物,为实现地图方位角的量化,尤其为实现大量方位角的自动计算和批处理,也需要使用某种信息化手段取得古地图上地物的某种“坐标”。本文采取的方法是将古地图导入GIS平台(不做任何拉伸扭曲),取图上地物的几何中心点,得到仅有计算意义的图上地物近似的“坐标”数值,再计算两两地物之间的方位角,本文称作“图上方位角”。利用皮尔逊相关性检验,对所得到的“图上方位角”与“实际方位角”进行统计分析,考察两者的相符程度。
表1 明代万历时期大同左卫道管辖城堡情况
在拼合和计算中,有两个问题需要注意。第一,不同的古地图情况各异,有些绘有包括大同左卫道地区在内的总图,可以直接计算对比;但有些属于分幅图册,威远路往往不能与其他两路拼合,所以需要分幅计算。第二,计算所得的两组数据,出现极少量的“图上方位角”与“实际方位角”差别非常大的情况。直观来看这些角度的数值差异巨大,但实际上,因为方位角的计算是以基准点为坐标原点、以其正北向延长线为y轴,某点如果刚好在基准点正北区域,北偏东10°会被计算为10,而北偏西10°则会被计算为350,这样古地图中所绘制的“图上方位角”与“实际方位角”的实际角度差仅为20度。这种情况在本文所研究的7幅地图中占比较小,但会对数据结果产生一定影响,本文称为“异常数据”(其他数据称为“正常数据”),下文在分析过程中进行说明。
明代掌管地图绘制的机构为兵部职方清吏司,职能为“掌天下地图及城隍、镇戍、烽堠之政”[14]。有职方司经历的官员多有绘制九边地图的行为,如郑晓《九边图志》、许论《九边图论》、魏焕《皇明九边考》[12]。隆庆三年(1569)兵部尚书霍冀上《兵部□□仰遵明鉴恭进九边图说以便圣览事》,汇报兵部遵照诏书,在前人著作基础上搜集资料编绘《九边图说》的情况:“咨行各镇督抚军门,将所管地方,开具冲缓,仍画图贴说,以便查照。去后随该各镇陆续开报前来,或繁简失宜,或该载未尽。又经咨驳,务求允当。往返多时,始获就绪……及照先任本部尚书许论先为礼部主事时,曾奏上《九边图考》。嗣后,本司主事魏焕亦曾续之。迄今近三十年。边堡之更置、将领之添设、兵马之加增、夷情之变易,时异势殊,自有大不同者。合无自今具题之后,仍移文各省督抚遵照旧例,每年终将建革缘由开报到部,本部随即更正。”[15]2-3文末署名为:兵部尚书霍(冀)、左侍郎曹、郎中孙应元、署员外郎事司务王凭、主事石磐、刘寅、朱润身、桂天祥、赵慎修等。《九边图说》可谓兵部集中力量,根据最新情况编绘的成果。作为主管部门编绘的图籍,体现了当时官方所掌握的最新资料情况。
《九边图说》以军镇为单位,每镇先是有该镇总图一幅,然后为局部图。就大同镇而言,在大同镇总图之后,为按路进行区分的分图,本文所研究区域即为书中的“分守大同北西路参将所辖九城堡”图、“分守大同左卫路参将所辖一十一城堡”图和“分守大同威远路参将所辖五城堡”图(见图1-2)[15]158-161,每幅图均由两叶拼接而成。其中前两幅图彼此相连,所以可以拼合计算。而图2无法与另两幅拼合,只能单独计算。
《宣大山西三镇图说》系明代宣大总督杨时宁所著,并上呈朝廷。杨时宁(1537-1609),字子安,河南祥符(治今开封市)人,隆庆二年进士。曾在固原“治兵”,“值宁夏哱拜兵变,时宁督饷决策,以功赐银币,寻晋佥都御史,抚宁夏,餙励将士,警至辄败之,加总督宣大、兵部尚书,晋太子太傅”[16]。杨时宁在北方各边镇任职多年,熟悉边镇情形,他主持编撰多部边镇图集,除《宣大山西三镇图说》外,还有《大同分营地方图》一卷、《阅视山西录》一卷、《阅视大同录》一卷、《山西大同镇图说》一卷、《宣镇图》一卷等[17]。万历三十一年(1603)12月,杨时宁将编撰完成的《宣大山西三镇图说》进呈朝皇帝,“上嘉纳之”[18],可见《宣大山西三镇图说》中的地图与地物信息应建立在其所主持的调查与搜集、整理工作基础上,质量也得到皇帝认可,代表了万历年间宣大山西地区官绘地图的水平和官堡的情况。《宣大山西三镇图说》分为宣府镇、大同镇和山西镇各卷,采用图说结合的方式,书首有三镇总图与图说,每卷首列该镇总图与图说,之后为该镇各路图与图说,再后为该路各城堡图与图说。三镇总图、各镇总图与各路总图都为两叶,而城堡图则为一叶。此三路图(见图3-5)在书中并非连续,无法拼合,所以分别计算。
图1 《九边图说》“分守大同北西路参将所辖九城堡图”(左)与“分守大同左卫路参将所辖一十一城堡图”(右)[15]158-159
图2 《九边图说》“分守大同威远路参将所辖五城堡图”[15]160-161
《三云筹俎考》共四卷,明王士琦所撰。王士琦(1551-1618),字圭叔,浙江临海(治今台州市)人。其父王宗沐,曾任山西右布政使、刑部左侍郎等职,万历朝奉敕巡视宣、大、山西诸镇边务[20];著有《阅视三镇录》,并附有图说[21]。王士琦于万历十一年(1583)中进士,三十五年任山西右布政兼副使分巡冀北,负责大同一带事务;四十一年任山西左布政使,仍备兵冀北;四十四年任右副都御使,巡抚大同[22]。王士琦父子均曾任职大同,熟悉当地边务,故在两代经验与著述的基础上撰成此书。根据郭红的研究,此书中的大同镇图应成于王士琦巡抚大同之后[10]。《三云筹俎考》中的地图系于其卷三《险隘考》中,先是册页式的长幅“大同镇总图”,然后是分路图,视城堡多寡与境域宽狭不等,而叶帙不一。一般说来,守巡等道有总图,然后为所辖各路分图。大同左卫道所辖三路亦有总图与各路分图,本文采用其大同左卫道总图(图6)进行分析。
图3 《宣大山西三镇图说》“大同左卫道辖中路总图”[19]196
图4 《宣大山西三镇图说》“大同左卫道辖北西路图”[19]203
图5 《宣大山西三镇图说》“大同左卫道辖威远路图”[19]209
图6 《三云筹俎考》中“大同左卫道所辖中北西威远三路图”[23]69-70
《整饬大同左卫兵备道造完所属各城堡图说》藏于中国科学院图书馆,有32幅地图,其中“三路总图”及各路总图共4幅,各占1叶,其余各城堡右图左说,各占半叶。图中无比例尺,亦无方向标,大体保持上北下南的方向。这套图集描绘了大同左卫兵备道所辖地区的山脉、河流、城堡、边墙以及城堡之间的交通路线[24]138-153。根据图上信息,此图应绘制于清顺治二年(1645)8月之后、顺治五年(1648)12月之前,是大同总兵姜瓖降清后清政府对大同左卫道所辖城堡的军政建置进行调整所绘[13]。这套地图有“三路总图”,根据此图(图7)分析研究。
图7 《整饬大同左卫兵备道造完所属各城堡图说》“三路总图”[24]150
对7幅图中计算所得的“图上方位角”与“实际方位角”两组数据进行分析。上文已经指出计算过程中出现的“异常数据”,下文将每幅图中的异常数据列表(见表2)。由表2可见确实出现少量相差较大的数据,但此类数据占比非常少,再考虑到“偏东偏西”现象,“图上方位角”与“实际方位角”二者“实际角度差”差别非常大的情况是非常少的。因此,实际讨论中将异常数据剔除,再做相关性分析。尽管如此,严谨起见,表3依然对所有数据进行计算,以图上方位角为X,实际方位角为Y变量,它们的标准差分别为σX,σY,二者的协方差为cov(X,Y),则这两个变量之间的皮尔逊相关系数为:
则,
在考虑到“异常数据”的情况下,对图上方位角与实际方位角数据进行进一步分析,结果见表4。经过对出自4种明代及清初官绘大同左卫道图籍中7幅古地图的分析,统计结果显示,整体7幅地图实际方位角与图上方位角的相关系数都非常高,即二者具有较强的线性关系;尤其在不考虑“偏东偏西差异”情况下,相关系数高达0.97以上(该值越接近1,表明正相关性强),且显著水平P值都为0.000(该值<0.05,说明两组数据相关性显著,计算所得的相关系数具有统计学意义)。这表明7幅地图表现的大同左卫道地区各城堡之间的相对位置关系,在“方向”方面与实际相符程度非常高。这说明兵部职方司系统的地图绘制者对所表现内容,尤其是最重要的城堡之间的方位关系最为重视。尽管这一方法并不符合数学意义上的精确,但一定程度上是一种可用方法,体现出中国古代地图的实用取向。而且发现
方向的准确程度与地物数量并不直接相关,图2与图4、图6及图7中的城堡数量相差悬殊,但相关系数非常高,可见地物数量多少并不能决定相对位置关系的相对准确度。
表2 各图异常数据情况
表3 “图上方位角”与“实际方位角”的标准差、协方差与相关系数
表4 “图上方位角”与“实际方位角”的相关性分析结果
从方法来说,本文仅以明清4种大同左卫道地图为例,对中国古地图上地物间相对位置关系进行初步量化研究,本文认为信息化技术的引入对古地图科学问题的量化研究具有一定的辅助作用。中国古地图的绘制与表现方式,应该在利用多种手段对大量古地图以及地图上的海量地理信息研究的基础上,进行复原与总结、分析。
注释
①近年对古旧地图进行数据化提取、配准的研究渐成风气。相关研究见:赖进贵、黄清琦、叶高华:《古地图的空间认知探索——以1878年全台前后山舆图为例》,《地理学报》2005年第42期;汪前进、刘若芳:《清廷三大实测全图集》,外文出版社,2007年;陆俊巍等:《康熙〈皇舆全览图〉投影种类的统计分析》,《测绘科学》2011年第6期;罗聪、张萍:《清至民国石羊河流域聚落数据集》,《中国科学数据》2018年第3期;李振德、张萍:《清至民国西宁至拉萨道路(青海段)分布格局的变迁——基于古旧地图及数字化的分析》,《历史地理研究》2020年第2期;徐建平:《基于地图数字化的民国政区复原——以1934年版〈中华民国新地图〉为例》,《历史地理研究》2020年第3期;张萍:《西北城市古旧地图谱系及其价值与利用》,《安徽史学》2021年第1期;林宏:《〈广舆记〉与卫匡国〈中国新图志〉城址经纬度推定过程研究》,《历史地理研究》2021年第1期;李莉婷、韩昭庆:《康熙〈皇舆全览图〉和〈乾隆十三排图〉中广东地区图面内容的比较研究——兼与广西地区对比》,《历史地理研究》2021年第1期,这些研究都体现出对古旧地图进行数字化处理方面的新进展。但值得注意的是,这些论著所研究的地图大多是基于投影法所绘制的带有经纬度的地图,或者是基于经纬度投影理念或方法而绘制的地图,而非形象画法的传统地图,且着眼点多在于如何利用或提取古旧地图上的信息,而非对古旧地图的绘制与表现方法进行研究。而对古地图上地物之间的方位角与实际方位角进行比较的研究较少,较早者如:张修桂:《马王堆地形图测绘特点研究》,载曹婉如《中国古代地图集(战国至元)论文集》,文物出版社,1990,第4页。此文对马王堆三号汉墓出土的帛书《地形图》从深平到桂阳、泛道、龁道、营浦、南平、春陵、桃阳和观阳八县的方位角进行手动测算,并与今测图对应方位角进行比较。