安徽宣城人梅文鼎说过:日影的长度和时间总是相互关联的。知道了北极星的高度,就能知道每个节气正午的日影长度;反过来,测得每个节气正午的日影长度,也能知道北极星的高度。但是,这方法并不容易。传统的圭表测量方法,表尺短了,精确到秒就很难;表尺长了,影子又虚又淡。所以郭守敬才立了四丈高的表,并且用影符来辅助测量。太阳很大,竖立的表测得的是太阳上边缘的影子,水平的表测得的是太阳下边缘的影子,都不是太阳中心的影子,所以郭守敬在表端架设横梁来进行测量,他的方法可以说是很巧妙了。但是,他用的影符是用铜片钻出针孔大小的洞,虽然可以前后调整角度对准太阳,但太阳的高度每天都在变化,铜片的倾斜角度怎么能每次都正好合适呢?如果角度不对,阳光就透不过来,等调整好了,太阳已经西斜了。应该把铜片换成圆木,左右用两块木板架起来,就像车轴一样,这样转动就方便多了。再把圆孔改成直缝,那就更方便了。不过,影符只能解决影子虚淡的问题,并不是根本的解决方法。必须保证表尺垂直,圭面水平,度量准确,这三点缺一不可才能得到准确的日影。即使这三点都做到了,但人的细心程度不同,视力也有好坏,做事也可能有真有假,所以选择人也很重要。明白了这些,大概就能测准日影了。

西方的方法更进一步。他们认为地球半径大约是日地距离的千分之一,那么地面上测得的太阳高度,一定比地心测得的实际高度要低一些,所以要加上一个“地半径差”。靠近地面有浑浊的空气,会使太阳看起来比实际位置更高,所以测得的太阳高度,可能比天上实际的高度要高一些,所以还要减去一个“清蒙差”。这两个差值,都只在靠近地面时比较大,随着高度增加而逐渐减小,直到消失。“地半径差”到天顶就消失了,“清蒙差”到45度角就消失了。

崇祯皇帝刚上任那会儿,外国人用西洋的仪器测量了北京等地的北极高度,也就是北极星在地平线上的高度。他们测出来,北京是40度,南京是32.5度,山东是37度,山西是38度,陕西是36度,河南是35度,浙江是30度,江西是29度,湖广是31度,四川是29度,广东是23度,福建是26度,广西是25度,云南是22度,贵州是24度。(周天三百六十度,度六十分立算,下同。) 不过,他们只实地测量了北京、南京、江西和广东这四个地方,其他地方的数据都是根据地图估算的。

他们还用一种特殊的表,每十二度分成六十分,在北京测量了每节气正午时分太阳的影子长度。 夏至的时候,影子长三度三十三分;芒种、小暑的时候,影子长三度四十二分;小满、大暑的时候,影子长四度十五分;立夏、立秋的时候,影子长五度六分;谷雨、处暑的时候,影子长六度二十三分;清明、白露的时候,影子长八度六分;春分、秋分的时候,影子长十度四分;惊蛰、寒露的时候,影子长十二度二十六分;雨水、霜降的时候,影子长十五度五分;立春、立冬的时候,影子长十七度四十七分;大寒、小雪的时候,影子长二十度四十七分;小寒、大雪的时候,影子长二十三度三十分;冬至的时候,影子长二十四度四分。

咱们以北京的子午线为标准,来计算各地和北京的经度差。各地节气的早晚,月食的先后,都得参考这个标准。因为大家都是根据自己看到的日出日落来判断东西方向和时间的,正午就是南方,中午就是午时。可东方日出早,西方日出晚啊。东西相隔30度,时间就差一个小时。(比如,北京是午时,东边的地方可能是巳时,西边的地方可能是未时。)相隔90度,时间就差三个小时。(北京是午时,东边可能是卯时,西边可能是酉时。)相隔180度,那昼夜时间就完全反过来了。(北京是午时,东边可能是子时。)

汤若望,就是那个西洋人,他说:“天启三年九月十五的晚上,戌时初刻是望,发生了月食。北京初亏是在酉时初刻十二分,但是意大利等西洋国家那时是白天,根本看不见月食。他们推算北京初亏的时间是巳正三刻四分,前后差了三个小时二刻八分。按里数算,大概离北京西边九十九度半。所以,要确定东西经度差,必须两地同时观测一次月食,比较一下时间。如果早了二十分之一小时,就偏西一度;如果晚了二十分之一小时,就偏东一度。(节气的早晚也是同样的道理。)”现在各省的经度差还没完全测出来,我这里根据《广舆图》里记载的里程数大概估算了一下,应该不会差太多。南京、福州都偏东一度,济南偏东一度十五分,太原偏西六度,武昌、开封偏西三度四十五分,西安、桂林偏西八度半,杭州偏东三度,南昌偏西二度半,广州偏西五度,成都偏西四十三度,贵阳偏西九度半,云南偏西十七度。

这些偏西的经度,都记录在《崇祯历书》的交食历里。当时修订历法正忙,没时间仔细测量,所以这些经度数据很多都不太准确,先记下来,以后再慢慢校对吧。

古今星辰的位置不一样,这是因为岁差。而关于岁差的说法,中西方又不一样。中国的方法是说节气差而西,西方的方法是说恒星差而东,但最终结果其实是一样的。接下来,我把李天经和汤若望他们推算的崇祯元年北京日出日落时间和中星位置列在后面。

春分那天,傍晚戌时二刻五分的时候,北河三在正中间;第二天早上寅时一刻十分的时候,尾宿在正中间。清明节那天,傍晚戌时三刻十三分的时候,七星偏东四度;(如果傍晚或清晨的时候没有星星正好在正中间,那就取中间前后比较亮的星星来代替。距离中间三度以内的,时间相差不到一刻钟,可以忽略不计。超过四度,距离中间比较远,所以要记录它偏东或偏西的度数。)第二天早上寅时初刻二分的时候,帝座在正中间。谷雨那天,傍晚戌时一刻七分的时候,翼宿偏东七度;第二天早上寅时二刻八分的时候,箕宿偏东四度。

立夏那天,傍晚戌时三刻二分的时候,轸宿偏东五度;第二天早上寅时初刻十三分的时候,箕宿偏西四度。小满那天,傍晚亥时初刻十二分的时候,角宿在正中间;第二天早上丑时三刻三分的时候,箕宿在正中间。芒种那天,傍晚亥时一刻十二分的时候,大角偏西六度;第二天早上丑时二刻三分的时候,河鼓二在正中间。

夏至那天,傍晚亥时二刻五分的时候,房宿在正中间;第二天早上丑时一刻十分的时候,须女在正中间。小暑那天,傍晚亥时一刻十二分的时候,尾宿在正中间;第二天早上丑时二刻三分的时候,危宿在正中间。大暑那天,傍晚亥时初刻十二分的时候,箕宿偏东七度;第二天早上丑时三刻三分的时候,营室在正中间。立秋那天,傍晚戌时三刻二分的时候,箕宿在正中间;第二天早上寅时三刻十三分的时候,娄宿偏东六度。处暑那天,傍晚戌时一刻七分的时候,织女一在正中间;第二天早上寅时二刻八分的时候,娄宿在正中间。白露那天,傍晚戌时三刻十三分的时候,河鼓二偏东四度;第二天早上寅时初刻二分的时候,昴宿偏东四度。

秋分那天,傍晚七点多一点,河鼓二星在正中;第二天早上五点多一点,毕宿偏西五度。寒露那天,傍晚七点多一点,牵牛星在正中;第二天早上五点多一点,参宿四星在正中。霜降那天,傍晚五点多一点,须女星偏西五度;第二天早上五点多一点,南河三星偏东六度。立冬那天,傍晚五点多一点,危宿偏东四度;第二天早上五点多一点,舆鬼星在正中。小雪那天,傍晚五点多一点,营室星偏东七度;第二天早上五点多一点,张宿在正中。大雪那天,傍晚五点多一点,营室星偏西八度;第二天早上五点多一点,翼宿在正中。

冬至那天,傍晚五点多一点,土司空星在正中;第二天早上五点多一点,五帝座星在正中。小寒那天,傍晚五点多一点,娄宿在正中;第二天早上五点多一点,角宿偏东五度。大寒那天,傍晚五点多一点,天囷一星在正中;第二天早上五点多一点,亢宿在正中。立春那天,傍晚五点多一点,昴宿偏西六度;第二天早上五点多一点,氐宿在正中。雨水那天,傍晚五点多一点,参宿七星在正中;第二天早上五点多一点,贯索一星在正中。惊蛰那天,傍晚七点多一点,天狼星在正中;第二天早上五点多一点,心宿在正中。

《周礼·保章氏》里说,用星象和地上的土质来辨别九州的地域,每个被封的区域都有对应的星宿,用来观察妖魔鬼怪和吉凶祸福。《周礼·保章氏》以星土辨九州之地,所封之域皆有分星,以观妖祥。唐朝贞观年间,李淳风写了《法象志》这本书,他根据《汉书》里记载的十二次星宿的度数,把它们和唐朝的州县对应起来;而一行大师则认为,天下的山川河流的景象,都存在于南北两极之间,他的说法很详细。洪武十七年,《大明清类天文分野书》完成了,并且赏赐给了秦王和晋王。这本书的大概意思是说:“《晋书·天文志》里说,分野开始于角宿、亢宿,是因为东方苍龙以角宿为首。唐朝人认为,女宿、虚宿、危宿以子为首。现在则认为,斗宿、牛宿以星纪为首。古人说‘天’的时候,都是从斗宿、牛宿开始记星,所以叫它星纪,这就是书中取用的意思。” 这里摘录的是这本书里关于直隶十三布政司府州县卫以及辽东都司分星的记录。

话说,古代把天上星星分成不同的区域,叫星次。斗宿三度到女宿一度,这叫星纪。咱们现在说的直隶地区,包括应天、太平、宁国、镇江、池州、徽州、常州、苏州、松江九个府,还有广德州,这些地方都属于斗宿的范围。凤阳府下面的寿州、滁州、六安州,泗州的盱眙县和天长县,扬州府的高邮州、通州、泰州,庐州府的无为州,安庆府的和州,也都属于斗宿。淮安府呢,它一部分属于斗宿,一部分属于牛宿。

浙江布政司管辖的杭州、湖州、嘉兴、严州、绍兴、金华、衢州、处州、宁波九个府,都属于牛宿和女宿。台州、温州这两个府,就更复杂了,属于斗宿、牛宿、须宿和女宿。江西布政司管辖的地方,全都在斗宿的范围。福建布政司管辖的地方,全都在牛宿和女宿的范围。广东布政司管辖的广州府,也属于牛宿和女宿。惠州属于女宿。肇庆府、南雄府、德庆州,都属于牛宿和女宿。潮州府属于牛宿。雷州府、琼州府、崖州、儋州、万州三个州,还有高州府的化州,广西布政司管辖的梧州府下面的苍梧县、藤县、岑溪县、容县,这些地方都属于牛宿和女宿。

女宿二度到危宿十二度,这叫玄枵。山东布政司管辖的济南府下面的乐安州、德州、滨州,都属于危宿。泰安州和青州府,属于虚宿和危宿。莱州府的胶州,登州府的宁海州,东昌府的高塘州,都属于危宿。东平州的阳谷县、东阿县、平阴县,还有北平布政司管辖的沧州,这些地方都属于须宿、女宿、虚宿和危宿。

危宿十三度到奎宿一度,这叫娵訾。河南布政司管辖的卫辉府、彰德府、怀庆府,北平的大名府开州,山东东昌府的濮州,馆陶县、冠县、临清县,东平州的汶上县、寿张县,这些地方都属于室宿和壁宿。

奎宿二度到胃宿三度,这叫降娄。山东济宁府的兖州、滕县、峄县,青州府的莒州、安丘县、诸城县、蒙阴县,济南府的沂州,直隶凤阳府的泗州、邳州,五河县、虹县、怀远县,淮安府的海州,桃源县、清河县、沭阳县,这些地方都属于奎宿和娄宿。

话说这天上的星宿啊,分得可细着呢!先说胃宿到毕宿这片天,属于大梁的范围。北京附近的真定府,就落在昴宿和毕宿之间。定州、冀州都在昴宿的范围内;晋州、深州、赵州则都在毕宿的范围内;广平府、顺德府都在昴宿;祁州呢,昴宿和毕宿都有份儿。河南彰德府下的磁州,山东高唐州的恩县,山西大同府管辖的应州、朔州、浑源州、蔚州,也都在昴宿和毕宿的范围里。

接下来,毕宿七度到井宿八度,这块儿属于沈州的范围。山西太原府管辖的石州、忻州、代州、平定州、保德州、岢岚州,还有平阳府,都属于参宿的范围。绛州、蒲州、吉州、隰州、解州、霍州,这些都属于觜宿和参宿;泽州、汾州都在参宿;潞州、沁州、辽州,则分属参宿和井宿。

从井宿九度到柳宿三度,这叫鹑首。陕西西安府管辖的同州、华州、乾州、耀州、邠州,凤翔府的陇州,延安府的鄜州、绥德州、葭州,汉中府的金州,临洮府、平凉府、静宁州,这些都属于井宿和鬼宿的范围。泾州属于鬼宿;庆阳府的宁州,巩昌府的阶州、徽州、秦州,也都属于井宿和鬼宿。四川,就只有绵州属于觜宿,合州属于参宿和井宿,其他的都属于井宿和鬼宿。云南呢,全都在井宿和鬼宿的范围内。

最后,从柳宿四度到张宿十五度,这叫鹑火。河南府的陕州属于柳宿;南阳府的邓州、汝州、裕州,汝宁府的信阳县、罗山县,开封府的均州、许州,陕西西安府的商县,华州的洛南县,湖北德安府的随州,襄阳府的均州、光化县,这些都属于张宿。

张十六度到轸九度,是鹑尾星宿的位置。湖北的武昌府兴国州,荆州府的归州、夷陵州、荆门州,黄州府的蕲州,襄阳府、德安府,安陆州、沔阳州,这些地方都属于翼宿和轸宿的范围。长沙府旁边有一颗小星叫长沙星,正好对应长沙府的地名。衡州府的桂阳州,永州府的全州、道州,岳州府、常德府,澧州,辰州府的沅州,汉阳府的靖州、郴州,宝庆府的武冈州、镇远州,这些地方也都属于翼宿和轸宿的范围。广西地区,除了梧州府的苍梧、藤州、容州、岑溪四县属于牛宿和女宿的范围,其他的都属于翼宿和轸宿的范围。广东的连州、廉州府钦州、韶州府,也都属于翼宿和轸宿的范围。

轸十度到氐一度,是寿星的位置。河南的开封府,属于角宿和亢宿的范围。郑州属于氐宿的范围。陈州属于亢宿的范围。汝宁府的光州,怀庆府的孟县、济源县、温县,直隶寿州的霍丘县,这些地方都属于角宿、亢宿和氐宿的范围。

氐二度到尾二度,是大火星宿的位置。河南开封府的杞县、太康县、仪封县、兰阳县,归德州、睢州,山东的济宁府,这些地方都属于房宿和心宿的范围。直隶凤阳府的颍州,属于房宿的范围。徐州、宿州,寿州的蒙城县,颍州的亳县,这些地方都属于房宿和心宿的范围。

尾三度到斗二度,是析木星宿的位置。北平的北平府,属于尾宿和箕宿的范围。涿州、通州、蓟州,都属于尾宿的范围。霸州、保定府,都属于尾宿和箕宿的范围。易州、安州,都属于尾宿的范围。河间府、景州,都属于尾宿和箕宿的范围。永平府属于尾宿的范围。滦州属于尾宿和箕宿的范围。辽东都指挥司属于尾宿和箕宿的范围。朝鲜属于箕宿的范围。