摘要
针对学界关于《禹迹图》始绘年代是唐代还是北宋的争议,该文基于唐代以西安、北宋以开封为《禹迹图》测绘起始点的假设,通过使用ArcGIS软件将《禹迹图》分别以西安和开封为中心进行配准,再使用MapAnalyst软件计算出配准后《禹迹图》各验证点的偏移量。可以看出《禹迹图》测绘起始点应当在开封而不在西安,从而论证出《禹迹图》始绘年代在北宋。此外,对各区域测绘精度的评测也可看出宋廷对西北地区山川地理的重视程度高于南方之现象,以及在制图时存在尽可能展现东部和东北部山川、地名的意图。
引用
[1] 曹凤莲,李昊林. 宋《禹迹图》绘制精度测评[J]. 测绘科学, 2025, 50 (02): 91-102.
0 引言
《禹迹(跡)图》是我国宋代石刻地图的精品,共两方存世。一方刻于伪齐阜昌七年(1136年),现藏于陕西西安碑林;另一方刻于南宋绍兴十二年(1142年),现藏于镇江博物馆。李约瑟评价《禹迹图》“在当时是世界上最杰出的一幅地图” [1] 。余定国认为:“《禹迹图》的准确程度非常高,特别是河流及海岸线的表示,而流传至今该图以前的地图,几乎没有能达到《禹迹图》这样的准确程度的” [2] 。前辈学者大都认同《禹迹图》精确性超越于同时代其他地图,堪称中国古代测绘技术的代表性作品。但是这种定性评价多基于感性印象得出,固然在评价时会进行《禹迹图》与同时期地图地理要素刻画准确性的比较,但多使用举例论证法,缺乏较为量化的研究,造成结论过于笼统。
随着GIS技术在古地图研究中的逐渐推广,古旧地图数字化处理的理论方法已经趋于成熟,之前的研究多为通过古旧地图的数字化来重建历史时期的地理要素,以补充文字记载的不足,在数字化过程中,往往会涉及到地图配准和校正的工作 [3-10] 。但地图配准、校正的过程中伴随了精确性评测,可以用于开展古旧地图精度的研究,如对康熙《皇舆全览图》的精度测算就是通过偏移距离来衡量各省测绘精度的差异 [11] 。本文试图将这一思路应用到《禹迹图》上,通过地理配准来测评该图的准确性。由于《禹迹图》是目前所见宋代地图中准确性最高的,即使不能代表宋代测绘技术的最高水平 [12] ,也应在一般水准之上,故这种测评结果应可以辅助理解宋代测绘技术的发达程度。
定量化精度测评还有助于对《禹迹图》图面信息年代的研究做出推进。《禹迹图》的作者一直是学界争论不休的问题,但关于地图的始绘年代基本可概括为唐代和宋代两种意见。文献 [13-17]都认为《禹迹图》应当与其背面的《华夷图》共同因袭了唐代贾耽《海内华夷图》,并由宋人结合北宋自然、人文地理状况进行了增删修订。若按此理解,则《禹迹图》的图面基础信息应奠定于唐代。而文献 [18-19]则认为《禹迹图》是沈括独立绘制,即认为《禹迹图》始绘于北宋。如果能通过对地图绘制精度的定量分析,还原出《禹迹图》测绘过程中的基准点或起始点,则有助于解决始绘年代的问题。
宋代全国性地图的绘制其实是以各州县上交的地理资料或测绘数据拼凑而成的。如文献 [20]所论证,当时中国学者们固然有进行大地测量,但并非用于绘制地图而仅用于修订历法。由于中国古代各地区经济开发程度不一致,以及人口密度的不平衡,会造成各地测绘人员资质不均,以及地理资料积累的差异,这些都会通过影响测量数据进而影响到地图的准确性。事实上前人已经发现《禹迹图》南方部分河流的绘制精度不高,如文献 [21]指出“南部的多数较大河流都还是空白,甚至缺少广东的东江”,但这种手段仅停留于目视判读,缺乏定量化结论。因此,在测定《禹迹图》的测绘起始点后,还可以划分通过区域的方式,研究图上各区域地理要素的测绘精度,进而反推不同区域的测绘水平差异。
1 研究思路
1.1 分析《禹迹图》的绘图中心点
一些学者之所以认为《禹迹图》有可能是因袭贾耽《海内华夷图》而改绘,其证据是图上保留了许多唐代地名。持反对意见的学者固然可以依据图上黄河流向等证据予以反驳,但由于古地图确实常有旧态隐存的特点 [12] ,终究无法彻底否定“改绘”的可能性,必然只能如文献 [15]所说“可视为唐、宋两代地图学的混合体”。文献 [22]虽持作者是宋人游师雄的意见,但也认为此图“应当是利用由唐代流传至北宋前期而递有添改的某一母本,重新改绘”,承认其祖本出于唐代。可以说,大部分学者承认《禹迹图》的始绘可追溯到唐代。而坚持认为《禹迹图》为沈括所绘的 [23] ,按其意见则始绘年代在北宋。
文献 [24]论证过,唐宋时代全国地图的绘制方法,是以都城为起算原点的极坐标投影法,而《元和郡县图志》所记载的都城—州府—县—自然地物的四至八到信息就是一份用于全国地图绘制的数据集,且这一绘图方法“上可以追溯至东汉,下可以沿流至明清”。
如唐宋时代地理总志所揭示的,全国道里数据都是以都城为中心,描述各州县的方位和距离。那么任一时代始绘的全国地图,就应该以当时的都城所在地作为起算原点。唐代定都长安(今陕西省西安市),北宋定都开封(今河南省开封市)。如果《禹迹图》始绘于唐代,则起算原点应在西安;如果始绘于北宋,则起算原点应在开封。即使如前辈学者所认为的,《禹迹图》在由唐入宋的流传过程中经历了地名改易乃至河道画法变更的删改修补,但其图面大部分的地理标志点不可能被改动,因此仍能推论出起算原点在西安才对。这种研究思路就比分析地名沿革和河道变迁等图面信息更为严谨。
本文的研究思路是,可以分别假定西安和开封为《禹迹图》的测绘起始点,并测算各地理标志点相对于今地图的偏移量。由于学界公认《禹迹图》的绘制手法是比较科学、写实的,那么能够让地理标志点总体偏移量更低的,就可以被认为是测绘起始点。这种方法可概括为“节点验证法”。
文献 [19]指出,“比较而言,阜昌七年石刻的错字少,图上方格大小较为均匀,水系亦相当清晰,而绍兴十二年石刻的镌刻技术稍逊一筹”,即西安碑林的《禹迹图》在内容、水系和计里画方的表现形式上更为精准。故学界论及《禹迹图》的科学性时,往往以西安碑林版本为准,本文同样利用这一版本的拓片,进行地图精确性的测评。
地理标志点(即“节点”)的选取会偏重自然地物,主要基于三方面考虑。首先,在古人的测绘过程中,名山大川本身就是显著的地理标志点。如三国时代孙礼处理清河、平原二郡争界问题时,说道“臣受牧伯之任,奉圣朝明图,验地著之界,界实以王翁河为限” [25] ,即地图上画出了二郡以王翁河为界。地图对政区辖境、聚落方位的表达,往往是需要以自然地物为基准的。
其次,《禹迹图》原图已亡佚,今人仅是通过石刻版本来理解《禹迹图》乃至两宋时代的测绘技术水平。这种研究思路具有风险性,容易引起争议。如多数学者从目前所见的实物地图角度,认为《禹迹图》无疑是中国古代地图的优秀代表。而文献 [26]则通过分析宋代文献认为《禹迹图》的水平远比不上同时代绘制的地图。这就要求在测评地图精确性时,需要考虑到传抄、摹绘对地图准确性带来的负面影响,采用合适的方法,尽可能让测评结果符合《禹迹图》原图的面貌。
早在南宋时期,朱熹即对《禹迹图》的一种翻刻本发表过看法:“《禹迹图》云是用长安旧本翻刻,然东南诸水例皆疏略。顷年又见一蜀士说蜀中嘉州以西诸水亦多不合,今其显然者如蜀江至泸州东南乃分派南流东折,径二广自番禺入海。以理势度之,岂应有此。必是两水南北分流而摹刻者误连合之,遂使其北入江者反为逆流耳” [27] 。
朱熹所看到的《禹迹图》是“长安旧本翻刻”,因此与镇江《禹迹图》刻石同出一源。他注意到了这一版《禹迹图》关于南方河流的绘制错误,但也指出其中有些错误或许是传抄过程中导致的(存世至今的西安与镇江《禹迹图》石碑中则不存在这样的现象)。这也就说明,受摹绘的影响,用河流走向作为衡量指标,充其量只能验证这一版本《禹迹图》的准确性,而不能验证《禹迹图》原图的准确性,进而无法正确评价宋代测绘技术。但考虑到古代地图无论是编绘还是摹绘,其首要步骤应是标记关键地理点位,在此基础上勾勒河流、海岸走向,因此即使在摹绘版本中,这些关键地理点应当是准确性最接近原图的。换言之,本文所使用的“节点验证法”,是较适宜测评《禹迹图》原图测绘精度的。
最后,山水节点也最能反映《禹迹图》的科学性。文献 [1]曾指出《禹迹图》“河流是画得非常精确的”,文献 [21]认为“这幅图上许多河流的布局和海岸的形势,比较近似实际情况”,文献 [28]认为“从内容来看,《禹迹图》实为一幅水系图”。但其实图上海岸线的精准程度,并不如同时期的《九域守令图》 [29] 。总的来说,对河流的绘制是《禹迹图》所长,选用山川作为节点最能代表《禹迹图》的测绘水平。
1.2 分析地图中各区域的测绘精度
宋代全国地图的绘制步骤有详细史料可参:“淳化四年,令诸州所上闰年图自今再闰一造。又令画工集诸州图,用绢百匹合而画之,为天下之图,藏秘阁” [30] 。
由此可见,全国地图是由各州地图拼合而成,而下令各州每逢闰年造新地图献上朝廷,保证了地理信息的更新频率,可以随时用来绘制新的全国地图。
神宗熙宁九年(1076年),沈括有感于朝廷的《天下州府军监县镇地图》绘制不够精细,“欲乞再许于尚书职方暂借图经、地图草,躬亲编修” [30] ,重新绘制出了全国总图《守令图》。而他所依据的资料,也包含了各地的图经。
综上,宋代全国地图的绘制,一般就是以各地送上的资料为基础的。既然宋代的全国性地图是在各地所献图经、地图等资料基础上拼合而成的,不同州县的测绘水平差异,会影响到全国总图中不同区域的精确程度。反向思考,通过《禹迹图》展现各区域测绘精度的差异,是否可以反推宋代各地州县的测绘技术水平,本文也将试作探讨。
根据图面地理标志点的密度,本文划分出了中部、东部、西部、北部、东南、中南、西南7个地理区域,每个地理区域分配5个验证点,通过测算各区域验证点相对于现代地图的偏移量,探究《禹迹图》对各区域的绘制精度。
近代地图学以地图投影为数学基础 [31] ,换言之,是以承认地球是球形为理论根基。而《禹迹图》作为中国传统地图,是基于大地平面观念绘制的,将其进行节点配准后,会拉伸变形严重,必然与现代地图出现较大差异,但这不会削弱本文的研究意义。本文研究目的中涉及到的偏移量属于相对精度,是用于内部比较,因此即使《禹迹图》没有应用到投影,对结论亦无影响。
2 研究方法
2.1 节点选取
节点即地理标志点,分为控制点和验证点两类。由于需要分别假定西安和开封为测绘起始点,进而判读哪种方案让地图精度更高,所以首先要在两个城市周围选取两套控制点。在《禹迹图》中,河流源头的点位是最清晰的,其次的则是河流交汇点,因此无论控制点还是验证点会优先按照这两种原则选取。而用地名注记表示的地物如城市、名山等,因缺乏地图符号,容易出现较大误差 [20] ,因此本文会尽可能避免选取这种点位。但如果城市、名山本身有河流线条的参考,如某一城市位于河流交汇点,或某一名山同时也是河流源头,就可以成为精确的点位。
基于以上原则,西安方案控制点有4处,分别是:京兆(图上泾水和渭水交叉点)、洛水源头、丰水源头、嘉陵江源头。开封方案的控制点也有4处,分别是:东京(图上“东京”二字位置与汴水的交汇点)、颖水源头、济水源头、漳水源头。
需要说明的是,图面上河流源头点对应的现实地理位置,须以宋人地理认知水平为准,且有文献可征。如嘉陵江源头,《新定九域志》载凤州“西南有嘉陵谷,即嘉陵江所出” [32] ,这与今人所指的陕西省宝鸡市嘉陵江源头景区是一地。又如漳水源头,《太平寰宇记》载潞州长子县“发鸠山,载县西南六十五里,浊漳水出焉” [33] ,这里的“发鸠山”也就是今山西省长子县的发鸠山,今人将其视为浊漳河上游南支之源。
至于验证点的选取,首先根据图面信息的分布密度划定出中部、东部、北部、西部、东南、中南、西南7个区域,每个区域选取5个验证点,共构成35个。
选取的节点编号及名称、图面位置和现实地理坐标的对应情况,如图1和表1所示。
图1 节点示意图
表1 节点编号及名称、图面位置和现实地理坐标的对应表
节点编号及名称
图面位置
现实地理坐标(B,L)/(°)
a. 京兆
泾水和渭水交叉点
西安市泾渭交汇点(34.468 991,109.068 890)
b. 洛水发源地
洛水发源地点
陕西省商洛市洛南县洛塬镇(34.199 886,109.816 248)
c. 丰水发源地
丰水发源地点
秦岭山脉沣河源头(33.819 672,108.808 757)
d. 嘉陵江发源地
嘉陵水发源地点
宝鸡市嘉陵江源头景区(34.246 930,106.937 114)
e. 东京
汴水和“东京”二字交叉点
开封市州桥及汴河遗址临展馆(34.791 404,114.345 796)
f. 颖水发源地
颖水发源地点
登封市嵩山(34.515 015,113.008 626)
g. 济水发源地
济水发源地点
济源市王屋山(35.148 106,112.271 188)
h. 漳水发源地
漳水发源地点
长子县发鸠山(36.146 632,112.634 726)
①底柱
“底柱”二字与黄河交叉点
三门峡大坝(34.829 724,111.338 125)
②汾河入黄河处
黄河和汾河的交汇点
山西省万荣县荣河镇汾河入黄处(35.346 623,110.457 760)
③沁水发源地
沁水源头
山西省平遥县黑城村(36.957 603,112.363 413)
④奢延水入黄河处
奢延水与黄河交汇点
陕西省清涧县河口村(37.045 290,110.439 961)
⑤汝水发源地
汝水源头
河南省嵩县跑马岭(33.741 570,111.946 708)
⑥泗水与菏水交汇点
泗水和菏水交汇点
山东省济宁市鱼台县(35.000 562,116.648 532)
⑦汴水与淮水交汇点
汴水和淮水交汇点
江苏省盱眙县(33.013 805,118.535 714)
节点编号及名称
图面位置
现实地理坐标(B,L)/(°)
⑧淮水发源地
淮河源头
河南省南阳市桐柏县的桐柏山淮源国家风景名胜区(32.416 848,113.277 816)
⑨淄水发源地
淄水源头
山东省济南市和庄乡望鲁山(36.430 988,117.794 884)
胶水发源地
胶水源头
山东省青岛市铁橛山(35.890 308,119.828 789)
奢延水发源地
奢延水源头
陕西靖边县统万城遗址南(37.989 776,108.847 404)
蔚茹水入黄河处
黄河和蔚茹水交汇点
宁夏回族自治区中卫市中宁县渠口(37.485 155,105.543 836)
管涔山
汾水源头
山西省忻州市宁武县管涔山主峰芦芽山(38.830 156,112.070 797)
紫荆岭
紫荆山与涞水交叉点
河北省保定市易县紫荆关长城(39.426 874,115.168 591)
黄河北流两故道交汇处
“沧”字左侧的两条大河交汇点
河北省沧州市青县(38.577 202,116.832 872)
垫江发源地
垫江源头
甘肃省甘南藏族自治州碌曲县郎木寺镇(34.091 727,102.635 410)
湟水发源地
湟水源头
青海省海晏县包呼图山(37.185 323,100.972 484)
渭水发源地
渭水源头
甘肃省定西市渭源县鸟鼠山(35.125 054,104.118 662)
积石军位置
黄河源头
青海省贵德县河阴镇(36.041 096,101.430 474)
浩亹水入湟水处
浩亹水和湟水交汇点
青海省海东市民和回族土族自治县(36.306 488,102.848 231)
浙江发源地
浙江源头
宣城市绩溪县鄣山(30.098 257,118.762 988)
建阳溪发源地
建溪源头
武夷山市(27.757 575,118.027 541)
贡水发源地
贡水源头
瑞金市黄竹岭(25.967 101,116.296 830)
皖水入长江处
皖水和长江交汇点
安徽省安庆市(30.551 505,117.060 029)
汉水入长江处
汉水和长江交汇点
湖北省武汉市(30.609 495,114.418 736)
辰水发源地
辰水源头
贵州省铜仁市江口县梵净山(27.917 010,108.689 918)
资水发源地
资水源头
邵阳市城步苗族自治县高茆塘村(26.516 807,110.488 186)
洭水发源地
洭水源头
广东省连州市三水瑶族乡(25.117 818,112.218 121)
广州
北江和珠江交汇点
广东省广州市(23.151 518,113.252 648)
湘水入青草湖处
湘水和青草湖的交汇点
湖南省湘阴县(28.691 461,112.907 950)
沫水发源地
沫水源头
四川省雅安市名山区蒙顶山(30.077 170,103.046 224)
延江发源地
延江源头
贵州省绥阳县枧坝镇石瓮子(28.140 071,107.043 667)
涪水发源地
涪水源头
四川省松潘县境内岷山主峰雪宝顶(32.532 931,103.972 336)
雒水入长江处
雒水和长江交汇点
四川省泸州市(28.930 229,105.418 760)
涪水入长江处
涪水和长江交汇点
重庆市(29.552 515,106.543 602)
2.2 软件说明
本文所需要的实验数据有西安碑林版本的《禹迹图》,通过美国国会图书馆网站(https: //www.loc.gov/resource/g7821c.ct001493/?r=-0.434,-0.036,1.816,1.141,0)获取其栅格格式图像;8个控制点(以开封为中心4个,以西安为中心4个)和35个验证点在当今WGS-84坐标系下的经纬度。现代参考地图采用的是MapAnalyst [34] (1.3.35版本,参看http: //mapanalyst.org/)软件提供的OpenStreetMap(参看https: //www.openstreetmap. org)。本研究的总体操作过程为首先在ArcGIS软件中对《禹迹图》拓片栅格数据进行配准,再使用MapAnalyst软件将配准后的《禹迹图》与现代参考地图OpenStreetMap作对照,根据新旧地图同名点之间的相对位置,计算配准后《禹迹图》各验证点的偏移量 [35] 。
在ArcGIS和其他常见的GIS软件中,通常包括两种坐标系,即地理坐标系和高斯投影坐标系。地理坐标系(geographic coordinate system)又称大地坐标系,使用经纬度来表示地面点位置,是一种球面坐标系;高斯投影坐标系(Gauss projection coordinate system)又称为平面直角坐标系,使用平面上的二维坐标来表示地理位置 [36] 。本研究所使用的节点现实地理坐标是基于WGS-84椭球的,由于地理坐标系无法用于量测长度和面积,因此需要将其经过投影转换成便于长度和面积计算的高斯投影坐标系。高斯投影坐标系由地理坐标系重投影而成,用于解决地球表面在平面上的表示和测量问题。MapAnalyst软件提供的现代参考地图OpenStreetMap所使用的坐标系是WGS-84,所采用的投影是墨卡托投影,就是经纬度格式的地理坐标,因此本研究没有进行将地理坐标系投影转换为高斯投影坐标系的操作。验证点的图面坐标是将配准后的《禹迹图》输入到MapAnalyst软件中,在图面上拾取验证点得到的。同时,为了补偿墨卡托投影引起的变形,MapAnalyst会在计算变换、变形网格、位移矢量、等值线或其他可视化之前重新投影控制点,来消除墨卡托投影引入的变形。
MapAnalyst是一个可用于分析旧地图精度的软件应用程序,在旧地图和新参考地图上使用成对的控制点来构建变形网格,位移矢量、精度圆等,是一个免费的开源软件。本次研究主要使用的是MapAnalyst软件计算位移矢量的功能。由于两次配准会使地图发生不同程度的拉伸和尺度变化,所以配准后得到的是两个不同的地图,因此需要在同一的基准下进行偏移量的比较,即转换到现代地图的坐标系下进行计算,然后再做比较,采用的变换是最建议使用的四参数欧几里得变换(Helmert 4 parameters)。
地图的几何精度包括大地精度和平面精度。大地精度描述了地图在全球坐标系下定位的精度,即研究地图数学基础的精度,如参考子午线、地图投影或椭球体模拟地球形状;平面精度可识别物体之间的距离和方位与它们的真实值相吻合的程度,通过比较地图和现实中特征的位置、距离、面积和角度来确定 [34] 。文献 [37]引用埃金(Alexande Akin)和芒福德(David Munford)利用45个已知点将《禹迹图》与地球表面相配得到变形的《禹迹图》,并根据《禹迹图》的变形得出“纵轴上的位置要比横轴上的准确得多,这有力地印证了南北轴向上的地点的放置是基于各地大量的太阳高度角观测”的结论,这一结论的得出显然是从地图的大地精度出发的。然而,中国古代测量太阳高度角是用于制定历法,而不是用于地图的绘制,并且数据量太少,不足以绘制地图,而且《禹迹图》的绘制并没有像西方那样标绘纬线,也没有采用采用将球体投影到平面的投影技术 [20] 。因此对《禹迹图》而言,不需要从其大地精度方面进行分析,只需分析其平面精度即可,本文会用验证点的偏移量来衡量平面精度。
2.3 偏移量计算
数据处理过程如下:①在百度地图拾取坐标系统中拾取8个控制点和35个验证点的经纬度坐标。由于百度地图使用的是BD09坐标系,是在GCJ02坐标系基础上再次加密,而GCJ02坐标系是由WGS84加密后得到的坐标系,所以还需要把在百度地图拾取坐标系统中获取的经纬度坐标转换到WGS84坐标系下的经纬度坐标(坐标系转换网址参看https: //tool.lu/coor-dinate/index.html)。②把控制点和验证点的经纬度坐标输入到ArcGIS软件中,并制成控制点图层和验证点图层。③分别以开封和西安为中心,使用控制点图层,在ArcGIS上对《禹迹图》拓片栅格数据进行地理配准,得到以开封为中心配准后的《禹迹图》(见图2(a))和以西安为中心配准后的《禹迹图》(见图2(b)),配准时,控制点为河流交汇点的,在《禹迹图》上选取为河流两个交汇点连线的中点。④将验证点图层输出为ASCII文件,以便精度分析操作时使用。
图2 配准后的禹迹图
以开封为中心配准后的《禹迹图》为例,精度分析过程如下:①使用MapAnalyst软件将以开封为中心配准后的《禹迹图》作为旧地图输入,由于难以获得高精度的中大比例尺中国地图,所以使用MapAnalyst软件提供的OpenStreetMap作为新地图进行对照。②把验证点的ASCII文件修改成符合MapAnalyst软件要求的格式,输入到OpenStreetMap中;在以开封为中心配准后的《禹迹图》中拾取对应点,并建立与OpenStreetMap中验证点的链接。③在MapAnalyst软件中计算以开封为中心配准后《禹迹图》各验证点的偏移量(见图3)。以西安为中心配准后的《禹迹图》精度分析过程也是如此。
图3 MapAnalyst软件中建立的偏移向量(以开封为中心)
3 结果分析
3.1 两次配准后偏移量对比
MapAnalyst软件在旧地图和新参考地图上使用成对的控制点生成位移矢量,即偏移向量,包括两部分,一是偏移量,二是偏移方向。本研究对《禹迹图》进行了以开封为中心和以西安为中心的配准,并进行两次配准后35个验证点总体偏移量的一个对比,由于《禹迹图》没有采用投影,在配准中必然产生天然误差,但如果《禹迹图》的测绘起始点和本文选取的配准中心点重合,则误差会有所降低。换言之,偏移量大小可以成为判断测绘起始点是在西安还是开封的指标。而两次配准后验证点的偏移方向主要与《禹迹图》配准中发生的变形有关,原本的《禹迹图》经以开封为中心和以西安为中心的配准后,均发生左右的拉伸和上下的压缩,并不能从偏移方向上得出较为明显的差别(如图4所示),所以主要以偏移量的大小来分析《禹迹图》的绘制精度。
图4 验证点的偏移向量
将以开封为中心配准后《禹迹图》验证点的偏移量减去以西安为中心配准后《禹迹图》相对应验证点的偏移量,得到的偏移量差值作为相对精度来评估两次配准后各区域的平面精度。将MapAnalyst软件的计算结果汇总在表2,表2包含了用于精度分析的验证点的编号及名称、划分的地理区域,两次配准后各验证点的偏移量和偏移量差值,以及以开封为中心各区域的偏移量。为了更直观显示结果,本文以柱状统计图的形式展示35个验证点的偏移量差值,如图5所示。
表2 所有验证点的偏移量
km
区域
编号及名称
以开封为中心的偏移量
以开封为中心各区域的偏移量
以西安为中心的偏移量
偏移量差值
①底柱
②汾河入黄河处
中部
③沁水发源地
④奢延水入黄河处
⑤汝水发源地
⑥泗水与菏水交汇点
⑦汴水与淮水交汇点
东部
⑧淮水发源地
⑨淄水发源地
胶水发源地
奢延水发源地
蔚茹水入黄河处
北部
管涔山
1 405.910
紫荆岭
黄河北流两故道交汇处
垫江发源地
湟水发源地
西部
渭水发源地
积石军位置
浩亹水入湟水处
浙江发源地
建阳溪发源地
东南
贡水发源地
皖水入长江处
汉水入长江处
辰水发源地
资水发源地
中南
洭水发源地
1 626.335
广州
湘水入青草湖处
沫水发源地
延江发源地
西南
涪水发源地
1 287.048
雒水入长江处
涪水入长江处
图5 所有验证点偏移量差值统计图
可以看出,中部、东部、西部3个区域情况比较复杂,而其他4个区域,以开封为中心配准后的《禹迹图》各验证点之偏移量,明显比以西安为中心配准后的要小。中部区域中,除了汝水发源地外,其他验证点的偏移量均是以开封为中心的更小;东部区域中,除了淮水发源地外,其他验证点的偏移量均是以西安为中心的更小;西部区域中,除了垫江发源地外,其他验证点的偏移量均是以开封为中心的更小。从整体来看,通过把各个验证点的偏移量求和,以开封为中心配准后的《禹迹图》的总体偏移量(7 378.316 km)小于以西安为中心配准后的《禹迹图》的总体偏移量(8 687.116 km)。同时,MapAnalyst会计算地图上所有验证点的平均位置误差(mean position error, MPE)和标准差(standard deviation, SD),MPE和SD越低,则精度越高 [38] ,结果见表3。可以看出,以开封为中心配准后的《禹迹图》的准确性是高于以西安为中心配准后的《禹迹图》的。换言之,《禹迹图》始绘年代是北宋而非唐代。
表3 所有验证点标准差和平均位置误差
地图名称
标准差
平均位置误差
以开封为中心配准后的《禹迹图》
±173.805
±245.797
以西安为中心配准后的《禹迹图》
±201.821
±285.417
3.2 以开封为中心各地理区域精度分析
分别把以开封为中心配准后《禹迹图》的各地理区域验证点的偏移量相加,得到的值作为各区域的偏移量。根据计算结果表2和各区域偏移量统计图图6,可以看出,中南区域的偏移量最大,达到1 626.335 km; 其次是北部区域,偏移1 405.910 km; 西南、东部、东南区域偏移量分别为1 287.048、943.856、856.051 km; 中部和西部偏移量较小,分别为653.890、605.226 km。所以相较而言,中部和西部区域精度较高,中南区域精度最低。
《禹迹图》对中部和西部两区域的测绘精度较高。中部所选的5个验证点位于北宋的河东路南部、永兴军路东部以及京西北路,距离开封较近,因此误差较小。
西部地区误差比中部地区更小,从数值上看偏移量小了近49 km, 但从图面距离来看,西部地区距离测绘起始点的东京开封是比较远的,考虑到地球曲率问题,这么远的距离本身就容易放大误差,这就意味着西部地区的测绘精确度比中部地区高出不少。其5个验证点位于今甘肃、青海两省,皆处于北宋西北边疆地带,这反映了北宋人对西北边疆山川地理的认知非常精确,在测绘中的重视程度甚至更甚于内地山川。
图6 以开封为中心各区域偏移量统计图
东南地区和东部地区在划定的7个区域中偏移量大于中部和西部,即测绘精度排在第3、第4位。这2个区域经济较为富庶、人口稠密,是国家财源之地,地方州县的测绘水平较高是可以理解的。东南区域选取的5个验证点中,属于发达地区且海拔较低的“浙江发源地”“皖水入长江处”“汉水入长江处”3处精度都比较高。另两处可能因位于东南丘陵地带,路途不便,而测绘精度较低。
从图面距离来看,东部选取的5个验证点距离开封很近,其测绘误差不应大于东南地区。一个可能的解释是,开封本就比较靠东,加之本图比较如实地反映海岸线的位置,就导致开封以东到海岸线之间的幅面较小。东部地区因文化底蕴深厚,值得记录上图的自然山川与政区地名较多,而河流线条与地名两类图面信息的相互挤压,造成了河流走向与节点不能得到如实反映,与实际山川地理偏向较大。东部5个验证点中的“淮水发源地”一处,因为相对偏中部,未受到图面信息挤压的影响,反而是35个验证点中偏移量最小的,也就是绘制最精确的。
如果上述解释成立,则北部地区的误差也可照此理解。北部5个验证点中,偏于西北的“奢延水发源地”“蔚茹水入黄河处”2处误差也较小。反而河北、河东地区的3个验证点误差极大,这3个验证点与开封的图面距离亦不算远,但北部幽云一带的地名密度为全图最大,可能也会造成图面信息挤压,导致这3个验证点与实际山川偏向较大。
中南、西南两区域的精度较差,从图面距离来看,这两区域选的验证点确实相对于开封较远,总体偏移量大也属情有可原。但同样距离较远的西部却绘制较为准确,也就侧面证明了政府对于这两个区域的测绘精度要求不高。具体来看,这两个区域选取的验证点基本呈现出了据开封越远则偏移量越大的线性趋势,符合古地图球面变形后的规律,表明这两个区域的图面信息大致如实反映了当地州县的测绘水平。
4 结束语
本文提出了一种对古地图测绘精度研究的新尝试,采用主要以河流源头点、交汇点而非政区治所作为地理节点的方法,通过分别以西安为中心、开封为中心设置4个控制点和全国35个验证点的方式,完成了两次总体偏移量测算,证明《禹迹图》测绘起始点在开封而不在西安,从而推论其始绘年代应在北宋。
基于推演宋代各地测绘水平差异之目的,本文进行了《禹迹图》各区域验证点偏移量的对比,对地图划定7个区域后的测绘精度测算,并不能完全反映各地州县的测绘技术水平。由于地图绘制中必然存在制图综合环节,需要实现地图几何精确性与地理适应性的对立统一 [31] ,如何实现就取决于制图者的使用目的以及取舍原则。可以看出,《禹迹图》在绘制之初,是希望更多保证东部和北部地理信息丰富性的,就不得不对空间位置的精确性有所忽略。这一结果将有助于启发对《禹迹图》绘制目的的研究。
《禹迹图》对西北地区山川地理的测绘精度较高,凸显出北宋朝廷对此区域的重视,或是在测量时派遣了更专业人员,或是在资料图汇总时予以整体校正过。总之,《禹迹图》所反映西北地区山川地理的测绘精度是各区域中较高的,较能反映宋代的官方测绘水平。
而图中东南、西南、中南三区域的测绘精度渐次降低,是因为与测绘起始点距离渐远,这属于球面变形的必然结果,测绘人员未有主动调整。所以可以反映宋代一般性全国总图中对这些区域山川地理展示的误差程度。南方各验证点的测绘精度皆不如西北地区,说明北宋朝廷对南方地区绘制精度的需求上不如西北地区高。
由于现存宋代地图中,《禹迹图》的测绘精度是较高的,超出同时期其他地图,较适宜进行定量研究,后续可将此方法推广到明清古地图中,作系统性的比较研究。
社群交流/原创投稿/ 商务合作
来源:测绘学术资讯