笔记本电脑搁在茶几上,屏幕推开的角度发出轻微的阻尼声。这机器有些日子没正经用过了,平日的活儿在办公室那台台式机上就能做完,笔记本只有需要出差或者在家临时处理文件的时候才开一下。键盘缝里积了一层薄薄的灰,触摸板的边角被磨得发亮,那是前几年刚创业那阵子天天背着它跑客户留下的痕迹。
开机。桌面上还散落着几个没整理的文件夹,命名方式很周杨——“测绘数据”、“报价模板”“陈恪要的”、“改完改完真改完了”。他握着鼠标的手停顿了一下,然后把这些乱七八糟的文件夹全选、归类、塞进一个新建的文件夹里,名字叫“旧文件”。桌面一下子干净了不少,只剩下寥寥几个程序图标和一个孤零零的回收站。他满意地吐了口气,点开图片查看器,把柳然那张老照片导了进去。
照片在屏幕上放大了。从几寸大的相纸变成了占据半个屏幕的光源,四岁的柳然和他对视,眉头微皱,嘴角抿着,两只小手揣在碎花棉袄的兜里。高清扫描把相纸的纹路都还原出来了——那些细密的、布纹一样的颗粒,是上世纪九十年代国产相纸特有的质感。
周杨往后靠进沙发里,两只手交叉在胸前,微皱着眉头看屏幕。这个表情和之前不一样。之前他看这张照片的时候,眉头是拧着的,嘴角往下拉,眼神里有化不开的钝痛。现在他也皱着眉头,但嘴角是平的,眼皮微微眯起来——这是他看地图时的习惯表情。以前在军队,每次拿到新的卫星影像,他就是这个姿势:往椅背上一靠,两只手往胸前一叉,眯着眼把整张图扫一遍。
他看了大约两分钟。然后拿起茶几上的烟盒,弹了一根出来,点上。烟雾在屏幕的冷白光里缓缓上升,他把烟夹在左手,右手的食指在触摸板上划拉,把照片翻来覆去地放大缩小。放大小女孩的脸,放大碎花棉袄的纹理,放大她身后那片收割过的田野,放大远处那几间灰瓦土墙的平房。再放大那棵歪脖子枣树——树干从根部往上长了一截,然后猛地拐了个弯,像一个人侧过头来看着镜头。
他把烟叼在嘴里,眯着眼盯着屏幕,脑子里开始本能地运转那些他很多年没专门用过的分析程序。拍摄时间?冬天,或者初春吧……树是秃的,田里没有作物,小女孩穿着棉袄,那说明气温低。肯定是北方——废话。照片的拍摄时间是白天,阳光从画面左侧照过来,影子往右倒,说明大概是上午。方向呢?光看影子角度也能推算个大概,但需要知道具体日期,而这张照片没有任何日期信息。
他把烟从嘴里拿下来,往烟灰缸里弹了一下。然后对着屏幕自言自语了一句:“哼,凶手不是男人就是女人。”这是他和陈恪以前一起看烂刑侦剧的时候发明的梗——主角一脸深沉地得出了一个毫无信息量的结论,两人就同时在沙发上笑出声。他说完这句话,嘴角动了一下,算是给自己捧了个场。然后又吸了一口烟,把注意力重新拽回屏幕上。
现在的问题很明确。他的专业能力还在,但工具箱已经锈了。他现在每天干的活儿是给物流公司做地址解析、给开发商做地块测绘,这些东西说白了就是照着已有的坐标修修补补,不需要从零开始用一张模糊的照片推导一个未知位置。这种逆向定位的能力,在新疆的时候是基本功,但他退役都几年了。六年里民用技术更新了好几茬,他现在用的那套还是当年学的。而那些博主——他用点了点阿张的头像——那些博主用的是另一套东西。这些东西他有的见过但没用过,有的连听都没听过。
他把烟掐灭在烟灰缸里,把笔记本搬到腿上,开始找软件。
先从最基本的入手。卫星地图和街景地图。这个他熟,他手机里就有几个常用的地图App,但手机端功能太弱,他需要的是桌面端能看历史影像的。搜了一圈,下了两个,其中一个付费的可以回溯到2005年左右的卫星图,再早就没了。1999年?别说卫星图,很多地方连高清航拍都没有。他叹了口气,先装上再说。
然后是太阳轨迹模拟软件。这东西他以前在部队用过,但不是这种民用版。他搜了一个外网的程序,全英文界面,下载链接转了好几个跳转页,网速还不稳定,进度条走到一半就卡住了,他盯着那条卡住的进度条看了十几秒,忍不住用手指敲了一下触摸板。好不容易装好了,打开一看,满屏的英文参数设置——英文倒是不难,他看得懂。但他需要熟悉操作逻辑,民用版逻辑和内网系统完全是两回事。这种感觉很奇怪。他曾经是专业干这个的,但现在坐在自己家的沙发上,对着一个几千块买来的笔记本,像个刚入行的实习生一样笨手笨脚。他不习惯这种感觉。
再去下地图影像分析工具、街景抓取插件、几个开源的地理信息数据包。每下一个软件就得花时间去熟悉操作,有的软件没有中文界面,他得一边开着翻译插件一边摸索。翻译插件也不太靠谱,把“elevationprofile”翻成“海拔个人资料”,他看着那几个字张着嘴愣了好几秒,然后自己手动改成了“高程剖面”。网络不稳定,有几次他正在加载一个在线地图,页面直接卡白了,他只好关了重新加载。他感觉自己像个技术宅——这个词冒出来的时候他自己都觉得好笑。他在部队的时候是最野的那一拨,开越野车爬雪山、背测绘仪钻林子,从来不是蹲在机房里敲键盘的那种人。现在他在自家客厅里,窝在沙发上,膝盖上搁着笔记本,茶几上摊着烟盒和打火机,跟一堆英文菜单和卡顿的网速较劲。
等他把这些软件差不多装完、大略熟悉了一遍操作,再抬头看窗外,天已经阴得更沉了。他瞥了一眼屏幕右下角的时间,16:03。一个下午就这么过去了。
他从沙发上坐直,活动了一下僵硬的脖子,颈椎发出一声细微的咔嚓。他端起茶几上早就凉透的水喝了一口,靠回沙发里,眼睛看着天花板的吊灯,忽然冒出一句:“春花秋月何时了,往事知多少。”
说得很轻,像是自言自语,又像是在回答某个没问出口的问题。以前念这两句的时候,心里发沉,往事这两个字压在那里,喘不过气。但今天说出来,好像有了不一样的重量——像被什么东西接住了。他还是不知道能不能找到那个村子,找到了会怎样,但至少他有一个方向了。这种感觉很陌生,又很熟悉。
他低下头,重新把笔记本抱到腿上。手指在触摸板上划了两下,屏幕从屏保切回桌面。壁纸是柳然拍的北京北海公园。他盯着那张壁纸看了两秒,然后打开浏览器,再次点进了阿张的B站主页。
他靠在沙发上,右手握着鼠标,左手搁在下巴上,拇指无意识地摩挲着下唇。这个姿势保持了很长时间,长到客厅里的光线从灰白变成了灰蓝。他一个视频一个视频地看,一帧一帧地拆——每一个案例,他都反复看两到三遍。看那些博主走了远路、其实可以用更直接的方法一步到位的环节。
有一个找高速服务区的视频,博主花了大量时间用筛查沿路服务区的建筑风格,最后才锁定内蒙古的一个服务区。周杨看完,把视频倒回去,截了三张图,然后打开笔记本的备忘录,打了几行字——如果他在做这个,他会先缩小时间范围:照片里车辆车型就可以大致框定年份,然后直接查高速沿线的加油站和广告牌,不用一个个服务区对比建筑风格。还有一个找大连海边景区的视频,博主把整个大连市区的海岸线卫星图拉了一遍才找到位置。周杨觉得可以先看沙滩的沙质和海岸线的方向,很快就能把范围缩小到几个备选点。
他把这些想法整理成一段评论,措辞反复改了好几遍——不想显得太卖弄,但又要让博主看得出这个人是懂行的。最后发出去的那段话,语气压得很平,开头是“阿张你好,看了这期视频很受启发,有一点小建议不知道有没有用”,然后附上了他对于那两个案例的优化方案。他自己又看了一遍自己发的评论,觉得自己有点好笑——一个三十三岁的前测绘军官,窝在上海闵行的沙发上,在一个几万粉丝的UP主评论区里小心翼翼地措辞,目的只是想引起对方的注意。
发完之后他等了等。刷新了一下页面,没有回复。又刷新了一下,还是没有。人家UP主几万粉丝,每天私信和评论少说几百条,哪可能这么快看到他这条,说不定根本看不到,也可能看到了也觉得就是个普通的技术讨论,回都懒得回。
他坐起来,把笔记本重新搬到腿上。不等了。
屏幕上是柳然那张照片,被他放大到了像素都开始模糊的程度。四岁的柳然,歪脖子枣树,灰瓦土墙的平房,收割过的田野。他盯着这张照片,慢慢地把嘴里叼着的烟夹在手上,在烟灰缸边缘轻轻磕了磕烟灰,然后把目光重新钉在屏幕上。
他切出去,打开了一个今天下午刚下的那个太阳轨迹模拟软件,全英文界面。在日期那一栏,他犹豫了一下——不知道拍摄时间,只能先填个大概,十二月的华北。在经纬度那一栏,他填了一个大概的天津坐标,先看个范围。软件算了几秒钟,生成了当天该区域的太阳轨迹曲线,连带着阴影方向和长度。他又切回照片,把小女孩脚底下那几道浅灰色的影子放大,和软件生成的阴影方向做比对。
这只是第一步。他还需要查历史植被——照片里那种伏在地上的干枯作物,应该是冬小麦收完之后留下的茬子。枣树的品种,华北平原特有。建筑的形制,土坯墙的配方,远处平原的地势起伏——有没有可能是河流冲积平原?每一个可能的变量都在他脑子里排着队。