一.问题与方法
1.问题的提出
早在19世纪下半叶,西方汉学家就曾撰文,认为中国古籍中的七洲洋就是今西沙群岛。这一说法广为流传,为伯希和、向达等中外学者普遍接受。1979年,谭其骧撰《七洲洋考》否定了这一观点。他认为,中国古籍中的七洲洋乃今海南省文昌市东七洲列岛——七洲洋。尔后,夏鼐致信谭其骧,称伯希和已于1951年改变观点,以七洲洋为文昌七洲洋。夏鼐又就广州七洲洋及其他诸事与谭其骧展开讨论。双方互致信函,兹不展开。
1981年韩振华亦撰《七州洋考》,认为七洲洋主要指西沙群岛,同时也是斜行穿过西沙群岛与大陆之间的一条海道。在这篇长文中,韩振华采用一系列新方法,对史料中记载的航线方向、里程、途经地点、经纬度以及途径地的自然景观进行综合性研究,为海洋地理的科学研究提供新的范式。
不过,以今天的观点看,韩振华采用的里程单位,如“更”“日”与“程”等,皆过于粗疏,得不到测量数据的检验。本文对韩振华的研究方法进行改造,在重新厘定海洋里程单位“更”的基础上,摒弃准确度较差的经纬度和三角计算法,将各航线之方向、里程、途经地点标识于数字地图,从而在可视化条件下提高研究之精度。另外,对于韩振华采用的时人对于相关地貌、景观的主观性判断标准,弃而不用。
谭其骧认为,直到清代中叶以前,古籍中的七洲洋就是文昌七洲列岛之七洲洋,本文简称为“文昌七洲洋”。1730年,陈伦炯在《海国闻见录》中描述从海南岛东南海域开始,包括今天西沙群岛洋面在内,但不专指西沙群岛海面的七洲洋,谭其骧将其称为“广义七洲洋”。本文将从海南岛东南海域开始,至西沙群岛海域简称为“西沙七洲洋”,同时也承认谭其骧所称的、韩振华也赞同的“广义七洲洋”的存在,以后拟撰专文讨论其范围。
韩振华虽然采用新的方法,意欲提高研究的精度,然囿于时代,其努力并未成功。除此之外,其论述中的最大问题,却是将有淡水有植被的文昌七洲列岛错误地描述为“全部岛屿都是光秃秃的不毛之地”,又将凡有淡水与植被的七洲、七星岛、铜鼓岭等解释为西沙群岛。这一令人不解的错误,受到黎蜗藤的批评。不过,黎氏基于某种特定的立场,无视文献中的证据,完全否定“西沙七洲洋”之存在,很不妥当。
本文依据方向、地名、航线与里程等四个要素进行综合分析,特别是将不同古籍对于同一航线各个航段的里程记载,加以比较,弥补缺漏,剔除重复,并用测量数据加以检验。结果表明,七洲洋的地理范围随时代变化而扩大。明代中期以前,中国古籍中的七洲洋,大多指“文昌七洲洋”;明代中期开始,也指西沙七洲洋;与此同时,包括西沙群岛、中沙群岛甚至东沙群岛海域在内的“广义七洲洋”已经形成。总之,本文采纳两位前贤之长,以新方法与现代地图,对其观点进行修正与补充。
2.方向、地名、航线与里程
为便于行文,本节对一些技术性术语进行简介,对于里程进行预研究,对于古今地名进行规范化处理。
关于方向。本文将用得最多的两个罗盘术语换算成现代通用的角度,并按现代指南针的规范设定上北(罗盘指针为子针)0°,正午是正南180°。据此得出“单坤”是225°,即正西南45°;坤未是217.5°,即正南偏西37.5°;单未针210°,即正南偏西30°。由于大部分读者没有航海经验,本文结合现代电子地图进行说明。本文所用电子地图尽量选用“天地图”,实在不清楚时改用其他的电子地图。另外,如果没有特别说明,“放洋”或“出国”航线的方向,皆为从北到南。
关于地名。本文中涉及的8个重要的明清古地名,与今名对照如下:(1)南亭门(或称为鲁万山、老万山、东姜山),今广东珠海市东南大海中大万山岛;(2)乌潴洋,今广东台山市南海中上川岛之东乌猪洲;(3)独猪洋(或称独洲山或大洲山),今海南省万宁县东南海中大洲岛;(4)黎母山,推测位于今海南省三亚市白虎角;(5)海堂山(或称海宝山、海宾业),今越南白龙尾(Bach Long Vi)岛;(6)鸡唱门(或称云屯州海门),今越南海防(Hai Phong)市东部的塗山(Do Son)和吉婆(Cat Ba)岛之间的海口,或吉婆岛与吉海(Cat Hai)之间的海道。(7)交趾洋,指我国海南岛和越南之间的海域。(8)外罗山,在今越南中部海岸外广东群岛中之列(Re)岛。
关于航线。本文中用得最多,而且最为关键的航线是从广东省台山市南海中的乌猪山到今海南省文昌市的七洲列岛,所以,我们先将这段航线的方向与距离测量出来,再与资料结合进行讨论。据《顺风相送》,从乌猪山到七洲山用的针是单坤(西南45°)或坤未(西南37.5°)。利用谷歌地图测得乌猪山到七洲山的角度为42°,与《针经》的记载基本相符。
关于里程。本文将“更”作为里程单位,韩振华以“一更”等于30公里作为标准值,误差颇多。李彩霞以苏承芬本《更路簿》为例,随机挑选西沙的7段更路和南沙的8段更路,用“百度地图”进行实测,算出西沙航线“一更”的平均距离为12.2海里,南沙航线中“一更”的平均距离为12.6海里,每更平均12.4海里。已知1海里等于1.85公里,“一更”等于22.94公里(12.4×1.85),即约等于23公里。这一测算方法的不妥之处在于,在没有核实某航线所有航段可靠性的情况下,某航线的更数有可能存在脱漏与重复,所以,这一结果有可能是不可靠的,航线与更数需要重新处理。
本文利用精度更高的谷歌地图,测量出《顺风相送》中“乌猪洋—文昌七洲列岛—独猪山”的两段航线分别为257.6公里与168.9公里,已知各自更数分别为13更与7更,两段航线每更公里数分别为19.8公里(257.6/13)与24.13公里(168.9/7),相对误差17.9%(19.8/24.1-1)。采用两段航线平均值,则每更约为21.3公里[(257.6+168.9)/20]。
假定这两段航线的误差由整数与实际数之间的差异所造成,那么,以此值计算,乌猪山至文昌七洲洋只有12.1更(257.6/21.3),文昌七洲洋至独猪洋则有7.9更(168.9/21.3)。如依四舍五入法,则前一段航线为12更,后一段航线为8更。前一航段数据与后一航段数据不知如何得来。本文在核实各航线真实无误的前提下,接受文献中记载之更数,以每更21.3公里计算,所得结果在长距离测量中通过了检验,详见本文第三节和第四节。
本文分为以下三节展开,其一,文昌七洲列岛的地理特征;其二,文昌七洲洋的判别方法;其三,西沙七洲洋的判别方法。
二.文昌七洲列岛的地理特征
在判别七洲洋是否为文昌七洲列岛洋面之前,还需要厘清文昌七洲列岛(七洲山、七星山)的地理位置。查“天地图”,文昌七洲列岛位于我国海南省文昌市东北近30公里处,分为两个部分,东有四个岛屿,分别是北士、灯士、平士、狗卵脬;西有三个岛屿,赤士、南士和双帆。东四岛中的“狗卵脬”岛,位于由东北向西南的第三个岛屿。普通地图上没有标注,却见于谷歌地图。我们用海图表达七洲山的地理位置。数据表示水深(米),下文将有讨论。
文献中记载的七岛排列,简单明确。如《大明一统志》记载:“七星山,在文昌县东滨海,山有七峰,状如七星连珠,亦名七洲洋山。”所指即文昌七洲列岛—七洲洋,本不用讨论。然而,韩振华却将西沙群岛中的宣德七岛与此混为一谈,并创造出一个西沙群岛“七星岭”来。这样,韩氏引《权制》卷1《军地制》所载“琼州七里山:在文昌县北一百五十里,海中七峰相连,曰七洲洋山”一句,被韩氏解释为既存在一个陆地上的七里山,也存在一个海洋的七洲洋山。而陆地上的七里山,则是西沙群岛七星山之混淆。
1.七洲列岛上的水与树
文昌七洲列岛上有没有树木和泉水?明代后期,张燮在《东西洋考》“西洋针路七州山、七州洋”条下记载:“在文昌东一百里。海中有山,连起七峰,内有泉,甘冽可食。”清代初年,屈大均在《广东新语》中称:“在文昌七洲洋山大海中者,曰淡泉。”顾祖禹在《读史方舆纪要》中称:“七星山,县北百五十里大海中。有七峰相连,一名七洲洋。山林木茂密,下出淡泉,航海者必取汲于此。山之东又有七星泉,虽旱不涸。”雍正《广东通志》卷13在“琼州府文昌县”中的“七星山”条下说:“在城西北一百五十里,各旧志城东,误,临海高五百丈,七峰如七星连珠,亦名七洲洋山,明天启时建塔于上。”清代中期及以后的记载大多沿袭前人,兹不一一列举。今天,从谷歌地图上观察,7个岛屿中,只有西南部的赤士屿是光秃秃的,其他6岛皆有森林或植被,有泉水。韩振华却说成整个文昌七洲列岛只有平岛的岩石隙间有滴水,渔民挖一个小石窟承贮滴水,以供洗涤用水,不能食用。细细读之,方知韩氏这一说法来自英国人的记载。他说:
文昌七洲列岛,至今尚分为南北两个岛群。东北面的岛群,有四个岛屿,其中以北士最大,高达197.5米,它是整个群岛中最大的一个岛,距离海南岛抱虎角之东约32公里;西南面的岛群,以南士较大,高84米。七洲列岛可以泊碇,在北士西南约1.6公里,水深20尺(36.6米),泥底。七洲列岛各岛之间,都可通航,船只很容易驶进去。全部岛屿都是光秃秃的不毛之地。
这一引文来自世界著名的《中国海针路簿(China Sea Pilot)》1937年第1版第1卷第388页,并参阅1842年版《印度洋航海指南(Indian Sailing Direction)》第352到353页。我们查到1843年版《印度航海指南》:
七洲列岛(Taya群岛)与海南头(Hailan Head)的高地之间有一条4-5里格(22-28公里)宽的安全航道。该群岛有两组光秃秃的高岛组成,约有6、7座,从8里格(44公里)以远的甲板上可见到一些岩石。
很显然,上述文字描述的是文昌七洲列岛。不仅如此,该文还详细记载文昌七洲列岛的经度与纬度、水深,以及与老万山即南亭门的经度之差,无一误差。上引明代文献及明代以来的多种文献记载岛上有泉,从航片上看,只有一个岛是“光秃秃的”。英文文献的错误是显然的。只不过,这一错误究竟是怎样发生的,我们并不清楚。
韩振华认定七洲列岛全部都是“光秃秃的不毛之地”,他认为只要文献中的岛屿有水有树,就不可能是文昌七洲列岛,而一定是有植被的西沙群岛。黎蜗藤则以文昌七洲列岛有水有树而对韩氏的观点进行全面批驳。
2.七洲洋与万里石塘
中国古籍中记载七洲洋时,常常与万里长沙(石塘)联系在一起。兹有两例,分别出自1637年前后成书的《顺风相送》和《指南正法》,兹分析如下:
第一例,《顺风相送》“定潮水消涨时候”条记载:“船若近外罗,对开贪东七更船便是万里石塘……若船七州洋落去贪东七更,船见万里石塘似船帆样。”说的是船近交趾外罗,“对开”即回程从占城国的外罗洋回国,“贪东”即偏东向七更约150公里处,即是万里石塘。从图4中看,外罗以东约150公里处,正是西沙群岛中建岛之海域。如果船从文昌“七洲洋南下贪东七更”,则里程相差太多。测得文昌七洲洋与西沙群岛北礁之距离,约为290公里,合13—14更(290/21.3),数据不符。其实,依下一例,这里说的实际航程,是从七洲洋西南行至独猪山,补给充足后“贪东七更”,正好抵西沙群岛海屿之北礁洋面。总之,以此条为据,文昌七洲洋与西沙群岛是两个地理单位,不会混淆。
第二例,《指南正法》“大明唐山并东西二洋山屿水势”条记载:“乌猪山……单未七更取七洲洋,有屿仔,东有三个,西有四个。坤申七更取独猪。独猪山……七更舡开是万里长沙头。”这一记载正好补了上一例的缺失。原来,从独猪山至西沙群岛之北礁海域,正是七更约150公里。上一例“七洲洋南下贪东七更”,其实应为“七洲洋南下独猪山,贪东七更”。行文中字有脱漏。这一现象,在航线中屡见。
然而,向达在“单未七更取七洲洋”一句后注曰:“七州洋当即今西沙群岛,说见顺风相送,可以参看。”韩振华则认为“单未七更取七洲洋”是指文昌七洲洋,且“七更”是正确的,只不过,在其他许多条记载中,这一航线多为十三更,却是编纂《海道针经》的某些文人,擅自改动七更造成的混乱。然而,我们的测距表明,乌猪山至文昌七洲列岛为257.6公里,以韩氏每更30公里计,7更只有210公里,差了许多。13更的记载是相对准确的。
关键在于,韩振华认为在文昌七洲列岛西侧与东侧,分别存在两条航线。西边的航线为“南亭门—乌猪山—文昌七洲列岛—独猪山—交趾洋—外罗山,全程45更”;东边的航线为“南亭门—乌猪洋—文昌七洲列岛以东之七洲洋—独猪洋,全程40更”。然而,依“单未七更取七洲洋”一句,从乌猪山出发,单未针仅为210°,亦即西南30°,方向有所偏差,而在表1所列其他记载中,皆为单坤针或坤未针,即在西南45°—37.5°之间,依此方向,从乌猪去文昌七洲洋再去独猪山,毫无问题(见图2)。韩振华接着写道:“由乌猪用单未针或坤未针七更至七洲洋,那是指大海七洲洋。”指的就是西沙群岛七洲洋。只不过,从乌猪出发,沿西南方向30°有可能导向北礁,却到不了西沙群岛。欲从乌猪去西沙群岛,大多数记载皆向正南,单午针,180°(见图4)。参见下文所引1579—1582年握文源《暹罗馆通事握文源言》之记载。
总之,从有关文献中提取出方向、地名、航线与里程四个要素,配以地图,就可以综合地判别史料所载中文古籍中七洲洋之确切所在。
三.文昌七洲洋的判别方法
谭其骧在征引宋、元、明中期以前的多种古籍,阐述七洲洋皆指今文昌七洲列岛附近海面之理由时,分别采用下述几种方法。
例如,谭其骧引《梦粱录》,商船从泉州出洋,“迤逦过七洲洋”,这里的“迤逦”即指西南方向的斜插。文昌七洲洋位于泉州西南,此七洲洋似乎就是文昌七洲洋。不过,也存在这样一种情况:商船先从泉州出发,迤逦南行后,至广州直下西沙群岛。果真如此,七洲洋就可能不是文昌七洲洋了(见图4)。显然,对于过于遥远的航线,仅依一个地名,难以做出准确的判断,更难以回答他人的驳难。
谭其骧又引《元史·史弼传》,称史弼率军从泉州出发,“过七洲洋、万里石塘”,七洲洋在万里石塘之北,当然就是文昌七洲洋。谭氏又引《真腊风土记》,“过七洲洋、万里石塘,历交趾、占城界”,七洲洋在万里石塘之北,航线终点又是交趾洋,从图4看,这一航线指经过文昌七洲洋后,掠过西沙群岛之“北礁”洋面,进入交趾洋。这里的七洲洋当然是文昌七洲洋。
不过,谭其骧引《顺风相送》“定潮水消长时候”条时,遇到了与向达相同又不同的问题。记载称:“船过七洲洋,贪东七更见万里石塘。”向达注“七洲洋当即今西沙群岛”,其误已驳,详见上文。谭其骧称:“后者在前者之东七更路程,后者即今西沙群岛。”即七洲洋在前,万里石塘在后。上一节证明,从七洲洋至西沙群岛北礁,里程长达290公里,而从独猪洋至西沙之北礁,恰为七更,约150公里。据《顺风相送》第二例,此句实为“船过七洲洋至独猪洋,贪东七更见万里石塘”,“独猪洋”三字当脱漏,或被错误地忽略。
这意味着,有必要对所有与“七洲洋”及“万里长沙(石塘)”有关的文献作一全面整理。这一整理,既不是有选择性的举例,也不是无选择性的随机,而是运用四个要素进行综合分析的全面整理。
1.“乌猪洋—七洲洋—独猪洋”航线
为了确定文昌七洲列岛的地理位置,可以根据同一航线的前后两个洋面来确定,如果一条航道中有三个地点,前后两个地理位置确定了,那么中间的地点也可确定。事实上,当年韩振华就是这么做的。
韩振华依宋赵汝适《诸蕃志》,确定每更=30公里,本文求得每更约为21.3公里,与韩氏之误差多达29%(1—21.3/30)。韩振华同时采用“程”数,三程为一日夜,约250公里,每一程约为83.33公里,更为粗疏。韩振华还采用经纬度计算,因测不准导致误差不知几何。韩振华采用多组数据的互勘方法是对的,但在地理科学水平较为低下的时代,用它解决测不准问题是不太现实的。本文利用数字地图进行的测算,并不表明我们比韩振华高明,而是拜科学技术飞速发展所赐,才令我们或可超越前人。
回到正文中来。已知乌猪山在今广东台山市南海中上川岛之东;七洲列岛位于乌猪山西南;独猪山位于今海南省万宁县东南海中,亦即七洲列岛之南。也就是说,七洲列岛位于这一航线的乌猪洋与独猪洋中间,两洋中间的七洲洋是七洲列岛。
以地名前后顺序判断地理位置,非常直观,所以,此方法用得最多。在《顺风相送》一书中,最多航线就是从广州南亭门出南洋或西南洋的航线,到乌潴洋(见图4)。显然,在两个“猪洋”之间的七洲洋是七洲列岛—七洲洋。
还有一个叫作铜鼓山或铜鼓岭的重要地点可以作为参考。这一地名为今海南省文昌县东六十里近海处,又名铜鼓角,即位于七洲列岛西南近40公里处。如果一条航线中没有独猪山,有铜鼓岭,同样可以判断其所经过的七洲洋就是七洲列岛,即“乌猪山—七洲洋—铜鼓岭—(独猪山)”同样成立。
有意思的是,韩振华却在西沙群岛之下八岛(永乐群岛)创造出一个“铜鼓山”或“铜鼓角”来,并称这是永乐群岛的暗礁,是一个航海危险区。韩氏的依据是道光《琼州府志》卷4《舆地志》及民国《文昌县志》卷1《舆地志·山川》。查道光《琼州府志》卷4《舆地志·山川》:“铜鼓岭在城东六十里,高十余里,山势雄峻。”查民国《文昌县志》卷1《舆地志·山川》:“铜鼓山,在县治东七十里,高五百丈,绵亘二十余里,山势雄峻。”请注意“城东”与“县治东”,与西沙群岛一点关系也没有。
利用“乌猪山—七洲洋—铜鼓岭—(独猪山)”航线确定七洲洋是七洲列岛共有13例。《顺风相送》中有2例。第1例在“浯屿往大泥吉兰丹”条:“用坤申针七更船取南亭门。用单坤五更取乌猪山,用单坤及坤未针十三更船平七州洋。用坤未七更平独猪山,用坤未针二十更船取外罗山外过。”说的是“南亭门—乌猪山—七洲洋—独猪山—外罗山”航线。文中之“平”意即“正对着”。第2例在“太武往彭坊针路”:“用坤未七更取东姜山。用单坤五更船取乌猪山。用单坤十五更取七州洋。用单坤针七更取独猪山。用坤未针二十更取外罗山外过。”在这一例中,“单坤十五更取七洲洋”,15更约为315公里,大大超出269公里的实际距离,全书仅此一例。不过,即便存在数据上的问题,韩振华仍认为这是经过七洲列岛与海南岛之间的路线。
将其他几种明清时期古籍中的航线资料搜集合并共得14例,分全航线与部分航线两组(见表1)。表中地名后面的数字指从这一地点至下一地点之间的距离更数。表1中无法列举有关方向的说明,只能将异常者在文中加以说明。
关于方向。各书记载的同一航线,方向有所差别,但总起来说,往程主要是在西南37.5°—45°摆动,回程则与此相应,是在东北37.5°左右变动。
关于里程。全航线中只有1例为40更,更数最少,出自《四夷广记》“暹罗回广东”条,细查则知其漏载了南亭门与七洲洋之间的乌猪山,补齐则全航线45更。
《四夷广记》“福建往占城”条,“乌猪山—七洲洋”段只有“十”更,疑为“三”字脱漏所致。该航线至占毕罗再转外罗山,多行5更,全程50更。
如果将《顺风相送》中“太武往彭坊”所载“乌猪山—七洲洋”段中的“十五”更理解为“十三”更之误,那么,南亭门5更至乌猪山,13更至七洲洋,7更至独猪山,20更至外罗山就成为标准航线与里程。至于《四夷广记》与《东西洋考》所载七洲列岛至铜鼓岭的距离,或为2更,或为3更,差别不大,不予讨论。
1820年闽人谢清高口述《海录》记载的航线也有3例涉及这条航线,只是其表述方式不同,归纳后亦见表1。
2.“乌猪洋—七洲洋—独猪洋—交趾洋”并涉及“万里长沙”航线
船只从南亭门或乌猪洋放洋,航向“西南”,历七洲洋、独猪洋抵交趾洋;如果航线偏东七更是“万里石塘”或“万里长沙”,可以确定独猪洋以北之七洲洋一定是文昌七洲洋。
1292年元军攻打爪哇,既经过七洲洋又经过万里石塘。《元史·史弼传》记载:
十二月,弼以五千人合诸军,发泉州。风急涛涌,舟掀簸,士卒皆数日不能食。过七洲洋、万里石塘,历交趾、占城界,明年正月,至东董、西董山。
谭其骧确定这里的“七洲洋”为文昌七洲洋。我们却不知此“万里石塘”是西沙群岛还是南沙群岛。从图4看,外罗山位于北纬15.4°,这一纬度也是西沙群岛的南限。所以,“历交趾、占城界”,所经区域为北纬15.4°及其以北,根本没有进入南沙群岛洋面。因此,可以确定“万里石塘”是西沙群岛。
张燮在《东西洋考》“舟师考水醒水忌”条中说:
水醒,流势甚紧,凡船到七洲洋及外罗洋,值此数日斟酌,船身不可偏东,宜扯过西……船到七洲洋及外罗,值此数日斟酌,船身不可偏西,西则无水,宜扯过东……足近外罗对开,贪东七更船,便是万里石塘,内有一红石山,不高。
虽然这一例中仅凭“七洲洋”与“外罗洋”均无法确定七洲洋的具体位置,但能确定的是,“对开”即回程时,航线由南向北,外罗贪东七更便是“万里石塘”(见图4)。这样,外罗洋以北的“七洲洋”只能是文昌七洲洋。
《顺风相送》“定潮水消长时候”条的记载与此相似,三处提及七州洋,其中一句,“船若近外罗,对开贪东七更船便是万里石塘……若船七州洋落去贪东七更,船见万里石塘似船帆样”已见上文分析。
《指南正法序》称:
凡船到七洲洋及外罗,遇涨水退数乃须当斟酌……若过七洲,贪东七更,则见万里长沙,远似舡帆,近看二三个船帆,可宜牵舵。使一日见外罗对开,东七更,便是万里石塘。
这一记载中的两句,分别与上引《顺风相送》第一例“若船七州洋落去贪东七更,船见万里石塘似船帆样”相同,亦与上引张燮在《东西洋考》“舟师考水醒水忌”条中“足近外罗对开,贪东七更船,便是万里石塘”相同。兹不赘述。
《海国图志》卷12称:
过七洲洋、万里石塘,历交趾、占城界,明年正月,至东董、西董,由牛崎屿入混沌大洋橄榄屿、假里马答、勾栏等山,驻兵伐木,造小舟以入。
本例叙述的方式与上引各文献相同,结论亦相同,毋庸再辨。至于东董、西董及其以南各地名,皆为越南东南岸外之岛屿与海洋,亦不再辨。
总之,通过证明上述18例中18个“七洲洋”为七洲列岛可知,根据方向、地名、航线与里程诸要素来判定文献中七洲洋与万里长沙(石塘)之地理位置,是可靠的。
3.“乌猪洋—七洲洋—独猪洋—黎母山—海堂山—鸡唱门山—鸡唱门”航线
从南亭门放洋,历文昌七洲洋,过琼州海峡,经海堂山到鸡唱门,这一航线不需要过西沙群岛。所以,“广州—琼州海峡—海堂山—鸡唱门”航线不用讨论。
由于琼州海峡最深处不到50米,多为20米,最窄处仅15公里,受潮水与风暴影响很大,所以,有时也从乌猪洋放洋,经文昌七洲洋,至独猪山,绕海南岛黎母山、海堂山,再到鸡唱门,即越南云屯州(见图4)。
《顺风相送》“福建往交趾针路”条最早记载了越南北部港口“云屯州”海门。“海门”是越南语“港口”之意:
坤未针五更平乌猪山,用单坤针十三更平七州山,单申针七更平海南黎母山,即是青南头,用庚申针十五更取海宾业,正路用单亥及干亥针五更取鸡唱门,即是安南国云屯州海门也。
航线中的“单坤针十三更平”七洲山,已经足以说明这是文昌七洲列岛了。下一航程是绕海南岛东岸及南岸,再经交趾洋,经海堂山至鸡唱门。以文昌七洲洋为去程之起点或回程之终点,将文献中的5例列于表2中,方向数字不再录入。
从表2的比较中可知,上引文中的“海宾业”实为海堂山。在这5例中,最长的更数多达47更,最少的只有25更。模拟这条航线在谷歌地图上实测的距离为774公里,34更合计724公里,误差为6.4%(1-724/774);37更合计788.1公里,误差1.8%(1-788.1/774)。然而,这一算法,并不意味着这两个数据都是合理的。
在表2所列5例中,“鸡唱门—海堂山—黎母山”航线里程最为稳定,有4例记载“鸡唱门—海堂山”为5更,“海堂山—黎母山”为15更,只有“交趾回大担”条的“海堂山—黎母山”记为5更,疑脱漏了“十”字,导致错误。加上10更后,此例总更数增加至47更。
这样,就有两个总数为47更的里程了。在这两例中,“独猪山—黎母山”段共有20更,与正常的7更相比,多出了13更;与“黎母山—海堂山”段比,则少了2更。如果这一数据是多出了15更,就可以认为“独猪山—黎母山”段覆盖了“黎母山—海堂山”段。事实则是,“黎母山—海堂山”之间的里程与“黎母山—独猪洋”之间的里程产生了相差2更的不完全重叠。
这一假设令我们进一步推测,在商人与渔民眼中,“黎母山”并不等同于地理上的黎母山脉。它是东西横亘海南岛南部的庞大山脉,现在成为船只泊岸加水补给的特定地点。换言之,在今三亚市长达40余公里的海岸线上,至少在其西端与东端,或者中间,虽无海岛提供淡水,却有港口可资补给。西端之三亚港今日为中国重要的军港,东端可供补充之海岸如果在今崖州区担油港一带,与三亚黎母山余脉相距40公里左右,约为2更(见图6)。这样一来,“文昌七洲洋—独猪山—黎母山—海堂山—鸡唱门”的全航线可能是36更。在《指南正法》“大担往交趾”条中,漏了“独猪山—黎母山”的7更,且“七洲山—独猪山”实为7更,这里只写了5更。一共少了9更,合计实为34更。在《指南正法》“宁波往东京”中,“独猪山—黎母山”只有4更,较正常值少了3更。总之,在这5例中,过大与过小的错误都发生在这一段航线中。
这一结果提示我们,对于更路的分析,首先要建立在对于更路数据真实性的分析之上。与其不分真假,将数据拿来取其平均数,不如以航线为单位,取其众数更为可靠。对于一般航线而言,采用这一方法是可行的。不过,在那些缺乏足够明确的地理单元的航线上,航段重叠的情况也可能发生。因此,建立完整可靠的分段航线,是进行更路计算之基础。
在谷歌地图上模拟航线距离测得“文昌七洲洋—独猪山—黎母山—海堂山—鸡唱门”全航线774公里,以36更计,每更21.3公里,求得全程767公里(36×21.3),与实际距离仅仅相差7公里。这一航线的各段里程见图8。
四.西沙七洲洋的判别方法
严格地说,上一节关于航线“更”数的计算,稍有偏离本文主题之嫌。然而,从广义上讲,对于航线所载“更”数之清理,关系到我们对于南海地理的基本认知,并不偏题。实际上,通过航线及里程的计算,我们知道,更路簿中有关航线的记载,确有脱漏或重复的可能。对于相关资料保持应有的警惕,是必要的。
在史书中,关于西沙七洲洋的记载并不少见,本文找到了十余例。细加分析,上一节所用之分析方法仍然可以应用于此。只是对于航线的分段计算,数据太少。这是因为,往占城的航线脱离海南岛之独猪山后,就不再有岛屿提供淡水补充,直到目的地。
1.“乌猪洋—独猪洋—七洲洋—占城”航线
1536年黄衷所撰《海语》一书,所记虽非作者亲历目睹,但主要出自来华番客、舟师、舵卒所亲见,准确非常高。《海语》卷1《风俗·暹罗》曰:
暹罗国在南海中,自东莞之南亭门放洋,南至乌潴、独潴、七洲,星盘坤未针至外罗,坤申针四十五程至占城。
独猪洋在文昌七洲列岛南边150公里处,乌猪洋到了独猪洋后,绝无可能再回十更(220公里)绕七洲列岛一圈后进入交趾洋。这里七洲洋一定是西沙七洲洋面。
谭其骧认为“此条显然是颠倒了次序”,却没提供更多证据。黎蜗藤引1561年黄佐《广东通志》,但《广东通志》引用的就是《海语》,属于同源。与《海语》相同的记载还见于慎懋赏《四夷广记》与魏源《海国图志》。兹不一一转引。黎蜗藤说:“这是相近的三个洋,可以放在一道说,列举的顺序并不重要的。”其实,据本文上一节,顺序是最重要的判定因素之一。
不过,请注意,这一记载的用词是“南至乌潴、独潴、七洲”,七洲与二猪并列,似乎是一个与二猪同样的岛屿。直到1730年水师提督陈伦炯撰《海国闻见录》,相关叙述有所不同:
厦门至广南,由南澳见广之鲁万山、琼之大洲头,过七州洋,取广南外之呫哔啰山,而至广南,计水程七十二更。厦门至交趾,水程七十四更,七州洋在琼岛万州之东南,凡往南洋者必经之所。
这里的“南澳”指广东潮州府之南澳岛,今南澳县。鲁万山即南亭门,大洲头即独猪山。从独猪山南下,过七洲洋,去越南之哔啰山(尖笔罗),所经之七洲洋一定是西沙七洲洋。在这一条中,“见”了“琼之大洲头”,再“过”七洲洋,实为“穿过”,这较《海语》中的“至”更为准确。这样一来,虽然“颠倒次序”一说不成立了,却还不能肯定明代后期一定存在一个琼之大洲头东南的七洲洋。
自此以后,如《海国图志》等清代中期的文献,都沿袭了陈伦炯的说法,用的也是“过七洲洋”。道光《厦门志》卷8对《海国闻见录》进行了解释,有自己的理解,其文如下:
由厦门过琼之大洲头、七洲洋(大洲头而外,浩浩荡荡,罔有山形标识,偏东则犯万里长沙、千里石塘。而七洲洋在琼岛万州之东南,凡往南洋必经之所)至广南,水程七十二更。
这一条提及的“七洲洋”位于海南岛万州之东南。万州为今万宁市;大洲头或独猪山位于万宁市之东南海中。七洲洋为西沙群岛之东北洋面,属于西沙群岛洋面的一部分。所谓“偏东则犯万里长沙”,应当是指西沙群岛之岛屿。也就是说,这一条中所谓的“西沙七洲洋”实指西沙群岛洋面的西北部分,即西沙群岛之北礁洋面。并不包括整个西沙群岛洋面。
光绪年间,徐家干撰《洋防说略》卷上称:
崖州在南,为后户,港汉纷岐,岛屿错出,暗沙、礁石所在有之。又有万里长沙,自万州逸东直至南澳;又有千里石塘,自万州迤南直至七洲洋。粤海天堑最称险阻,是皆谈海防者所宜留意也。
尽管这是一条独立的史料,与上引史料的用词不太一致,但内容与前几条史料一样,说的都是七洲洋在万州之南,万州“逸东”即往东南至南澳,就是万里长沙,即今东沙群岛,千里石塘从万州往南到七洲洋,即千里石塘为中沙、西沙群岛,而七洲洋是今南沙群岛。因此,我们将这一航线命名为“乌猪洋—独猪洋—七洲洋—占城”航线(见图5)。
2.“七州洋西绕北”航线
陈伦炯在《海国闻见录》“南洋记”条下记载:
厦门至广南,由南澳,见广之鲁万山,琼之大洲头,过七州洋,取广南外之呫哔啰山,而至广南,计水程七十二更。交趾由七州洋西绕北而进。厦门至交趾,水程七十四更。“由七州洋西绕北”意为“由七洲洋西绕海南岛往北航行”进入交趾洋。此处七洲洋是西沙七洲洋,如果是七洲列岛则不用绕北,直接往西航行即可到交趾。
道光《厦门志》卷8全文引用了这段文字,并且标明是引用《海国闻见录》。其中有“由七洲洋之西绕北而至交趾,水程七十二更”⑨。《海国图志》的文字有所变动:“厦门至交趾,由七州西绕北而进交趾,水程七十四更。七州洋在琼岛万州之东南,凡往南洋者,必经之所。”⑩这一段的七洲洋为西沙群岛是无法争议的。因为,除了绕北外,还有“在琼岛万州之东南”,并且“凡往南洋者,必经之所”。由此可知,这条航线确实存在。需要说明的是,还有其他两条记录,但没有提及“绕北”,也就不是这条航线。
还有一条史料,明确记载七洲洋就是西沙群岛。《海国图志》卷9《东南洋四(海岸之国)》:
南洋之间有万里石塘,俗名万里长沙,向无人居……塘之北为七洲洋,夷人知七洲多暗石,虽小船亦不乐走。塘之西为白石口,附近有一埠,四面皆山,一峡通进。
这里的白石口“指新加坡海峡,尤其指东口”。南洋是明清时期对东南亚一带的称呼,是以中国为中心的一个概念,包括马来群岛、菲律宾群岛、印度尼西亚群岛,也包括中南半岛沿海、马来半岛等地。万里石塘、万里长沙是南沙群岛。位于塘之北的是西沙群岛和中沙群岛,由于“七洲多暗石”,很显然,这里七洲洋就是西沙群岛与中沙群岛。在这一条中,原来被中国人认为仅仅是独猪山东南一带海域的西沙七洲洋,在西人眼中,扩大为包括西沙群岛在内的七洲洋。依谭其骧命名,是为“广义七洲洋”。
3.“香山取正午针”航线
1579—1582年握文源《暹罗馆通事握文源言》:
由广东香山县登舟,用北风下,指南针正午,行出大海,名七洲洋,十日可抵安南海次,有一山名外罗;或八日可抵占城海次。
更路薄中的“正午”是指正南180°,从香山县出发,用正午针(正南180°)方向航行到“七洲洋”,如果没有其他地理信息,则排除文昌七洲洋。从香山县登舟,用“正午”航行,当在中沙与西沙之间,不能完全确定是西沙群岛。由于标明“抵安南海次,有一山名外罗”,即北纬15.4°以北,此“七洲洋”应当是包括东、中、西沙群岛洋面的广义七洲洋。
香山即南亭门之所在。据万历《广东通志》,“夷船”停泊之地,“先年率无定居,若新宁则广海、望峒,香山则浪白、蠔镜澳、十字门”,嘉靖三十二年(1553)以后,随着澳门“借地晾晒”之后,俨然成一聚落。“自是诸澳俱废,濠镜独为舶薮”,即香山、澳门“独为”夷船停泊之地。也就是说,明中后期香山县出洋港口主要是浪白(在今广东珠海市西南三灶岛之西)、蠔镜澳(今澳门半岛)、十字门(旧澳门水域,包括港口、要塞),详见图5。
同样,外人也无法区分西沙七洲洋与西沙群岛海域,原来局限于西沙群岛西北洋面的七洲洋扩大成为西沙群岛、东沙群岛与中沙群岛洋面的泛称,这可能就是广义七洲洋之由来,至少说明广义七洲洋在明末已经存在。也就是说,至少在1579—1582年,在外人眼中,已经存在一个跨越差不多整个南海的七洲洋了。如果说这个七洲洋来源于独猪山东南至西沙群岛北礁一带西沙七洲洋之泛化,那么,1536年黄衷《海语》中“自东莞之南亭门放洋,南至乌潴、独潴、七洲,星盘坤未针至外罗”一句中的“七洲”,次序就没有错,位于独猪山东南方向的西沙七洲洋,此时已经形成。
乾隆《皇朝文献通考》卷297“赐使臣宴暹罗贡道由广东达”条与《海国图志》卷7《东南洋三》应当是引用《暹罗馆通事握文源言》。兹不赘言。
4.吴升巡视琼州府海域中的七洲洋
1710年前后,吴升率领大清水师巡视琼州府海域,其中包括西沙群岛。这是清政府在南海行使国家主权的一个重大事件。乾隆《泉州府志》卷56记载:
吴升,字源泽,同安人……以功授陕西游击,擢广事副将,调琼州。自琼崖历铜鼓,经七州洋、四更沙,周遭三千里,躬自巡视,地方宁谧。升定海总兵官,设法捕盗贼奸仇屏迹,晋浙江提督,改福建陆路。
李金明认为将这一巡视事件的时间确定于康熙四十九年(1710)至五十一年(1712)吴升任广东水师副将任上。长期以来,大多数学者认为这一段记载中的“七州洋”是文昌七洲列岛。其实,研究这一事件的关键地点还有“铜鼓山”。铜鼓山又作铜鼓岭,即今海南省文昌市区东60里近海处的铜鼓角。从地图上测量可知,七洲列岛在铜鼓山北近40公里处。谭其骧认为,“这条巡视路线显然是从琼州府治附近出发顺时针方向”,即出发点琼崖是琼州府治琼山。由于七洲列岛在铜鼓山的北边,又是顺时针方向,所以吴升到了铜鼓后不可能再从铜鼓山洋面回头返航到文昌七洲列岛,应该是继续向南或东南航行直到西沙七洲洋。从地图中可以判断七洲洋是西沙群岛。
不过,谭其骧并不认为这里的七洲洋是西沙群岛,其原因是:“若说是南下巡视到了西沙群岛,再折而西北绕经四更沙东返琼州,那就不止三千里了。”“四更沙”位于海南岛西南,即今海南省昌江县的昌化港附近。我们用计算机进行模拟,绕行海南岛的路线是“自琼崖,历铜鼓,经七洲”。
如果不经过西沙群岛,仅绕海南岛一圈,吴升的整个航程约830公里,即1600里,是三千里的一半多一点。这与记载完全不符。再利用计算机技术模拟吴升的“自琼崖,历铜鼓,经七洲”是绕西沙群岛巡视一圈,计算结果是1480公里,合2960里,接近三千里(见图7)。这一计算可以证明,吴升巡视琼州府时是绕西沙群岛一圈。作为广东水师副将的吴升,代表朝廷巡视西沙及海南岛,宣示国家主权。
五.讨论与结论
1.对于“更”的检验
对于各航线数据进行认真审核,且在排除脱漏航线与重复航线之后,求解不同航线各段“更”数平均值,求得每更等于21.3公里。这一结果在数字地图长距离航线的测量中得到了检验。上文对于“文昌七洲洋—独猪山—黎母山—海堂山—鸡唱门”航线距离的检测,就是一例。
还有一条更长的航线,也通过了这一检测,结果堪称完美。上文引陈伦炯《海国闻见录》“南洋记”条记载船只从福建厦门出发,经广东南澳、万鲁山即南亭门、大洲头,“过七洲洋,取广南外之呫哔啰山,而至广南,计水程七十二更”。这一航线实为“厦门—南亭门—乌猪山—文昌七洲洋—独猪山—西沙七洲洋—尖笔罗—占城”,从谷歌地图上测得全程1532公里。以每更21.3公里计,72更合计1534公里,几无差异。
作为比较,韩振华引宋赵汝适《诸蕃志》,自泉州顺风二十余“程”至占城。三程约250公里,每程83.3公里,“二十程多一点,即将近七日夜,为1710公里”。以“更”计算,从泉州放洋,经南澳东面兄弟岛、南亭门、独猪山,再至外罗山,方向单坤,里程合计57更。以每更30公里计,全航线合计1710公里,加上外罗山至海岸的16.8公里,误差多达11.2%(1533/1727-1)。
其实,“泉州—外罗山”航线的1710公里也应该是韩振华根据航海图“测定”的距离,而所有的“程”数与“更”数都是根据这一距离求出的。这一求解“程”与“更”的方法并非不可取。从本质上讲,本文求解“更”值采取的也是这一方法,只不过,我们的测量手段更加先进,对于各航线之“更”数的确定更加谨慎与小心。比较而言,数值过大或过小之“程”与数据不准确之“更”,对于各段航线的分析是没有意义的。
2.简短的结论
本文通过方向、地名、航线与里程的综合分析,特别是将不同古籍对于同一航线各个航段的里程记载,加以比较,弥补缺漏,剔除重复;并通过对里程“更”的考证以及求解不同航线各段“更”数的平均值,求得每更等于21.3公里,这一结果在数字地图长距离航线的测量中通过了检验。据此方法,我们对中国古籍中七洲洋的含义及范围进行详细考证,结果发现七洲洋的地理范围随时代变化而扩大。明中期以前,中国古籍中的七洲洋大多指“文昌七洲洋”;明后期的中国古籍中也指“西沙七洲洋”,且“文昌七洲洋”与“西沙七洲洋”是两个不同的地理实体。与此同时,包括西沙群岛、中沙群岛和东沙群岛海域在内的“广义七洲洋”已经形成。可见,七洲洋范围的演变经历了从明中期以前的相对稳定到明后期复杂多变的过程。
(本文原刊《中国历史地理论丛》2022年第1期第15—28页,文中原有注释,引用请务必参考原刊。)
|