我看书斋 > 虐心甜宠 > 燕归来

第一卷少年游 第一百二十八章试跑
上一章 首页 目录 书架 下一页
您现在阅读的是我看书斋www.5ksz.com提供的《燕归来》第一卷少年游 第一百二十八章试跑(第1/3页)

    原既白加入那个城市交通项目的第二天,就把自己过去最熟悉的一套做法带了进去。

    项目群里一共七个人,还没有谁真正见过谁。除了程砚,其他几个人来自不同城市,也都是清大新生,其中两个学计算方向,一个偏数学,一个准备读自动化,还有一个女生叫谢以宁,高中做过城市规划相关的社会调查。最初的目标并不大:拿公开道路数据、公交站点和一部分能够合法获得的匿名出行统计,先搭出一个极小的城区仿真,看看高峰时段几条主要道路拥堵怎样形成,再尝试改变信号灯或者公交班次,观察系统响应。程砚在群里反复强调“先做小”,甚至把第一阶段限制在十几个路口。可原既白看到原始数据以后,第一个感觉仍然是:如果底层结构不统一,后面所有工作都会不断返工。

    他花了一个上午读数据说明。

    文件来源不止一个,路网一套,公交线路一套,站点信息又是一套。看起来都是同一座城市,坐标格式却有两种;同一条路在不同文件里名称略有区别,有的带方向,有的不带;部分公交站沿用了旧名称,而道路数据已经更新;更麻烦的是,一些路口只有几何位置,没有明确的拓扑关系,需要从线段相交和道路方向自己恢复。原既白最开始还觉得这些都属于“清洗问题”,真正做了两个小时,才发现“清洗”这个词过于轻描淡写。它听起来像把脏东西去掉,剩下的就是真实;可这里很多差异不是脏,而是数据最初就为了不同目的采集。

    公交系统关心一辆车在哪停。

    道路系统关心哪条线连哪条线。

    城市规划数据关心土地和片区。

    每一个系统都在描述同一座城,却不是为了描述同一个“城市”。

    原既白还是开始设计统一结构。

    他画了一套节点、道路、站点、线路和时间属性之间的关系,试图让几种数据都映射进去。第一版很快,第二版开始补异常,第三版又加入版本信息。他越来越觉得这件事有一种熟悉的美感:原本混乱的东西经过重新定义以后逐渐变得干净,每个对象都有位置,每种关系都有边界。到晚上,他甚至写出一个转换脚本,已经能把大部分道路和站点映射到新格式里。

    他把结果发进群。

    程砚半小时以后回了一句:

    **挺漂亮。**

    原既白看见这三个字,第一反应并不是高兴。

    因为后面还有一句:

    **但你把我们明天要跑的那段路删掉了。**

    原既白愣了一下。

    程砚发来一个路口编号。

    那是数据里一个非常奇怪的地方:道路文件显示两条线相交,公交数据也有站点靠近,可拓扑信息里两条路并不连通。原既白在转换时把其中一条判断为旧数据,暂时标成异常,没有纳入主路网。

    程砚问他为什么删。

    原既白解释完,对方发来一张地图截图。路口实际存在,而且是目标区域里一条很重要的支路。

    “那原始拓扑错了。”原既白说。

    程砚回:

    **也不一定。那下面可能有高差。**

    几分钟以后,谢以宁又发了一张街景截图。

    原来两条路虽然平面投影相交,实际一条从另一条上方跨过去,中间没有匝道,所以原始拓扑“不连通”反而可能是对的;真正有问题的是公交站点文件,其中一个站名仍然沿用几年前道路改造前的位置。原既白重新看自己设计的统一结构,第一次发现它并不是“过于粗糙”,恰恰相反,它过于完整,以至于在数据证据不足的时候替现实做了一次决定。

    如果只看平面坐标,两条路应该相交。

    如果只看公交站点,它们似乎也应该连接。

    如果只看拓扑,又不连。

    三种来源彼此冲突。

    他为了得到一个可用的系统,选择了其中一种解释。

    而且选得很自然。

    程砚没有批评他,只说先别修大框架,明天大家一起把目标区域十几个路口人工核一下。“我们现在不是做全城数字底座。”他说,“先确认这十几个路口到底怎么长。”

    原既白盯着那句话看了一会儿。

    **怎么长。**

    不是“怎么编码”。

    不是“怎么统一”。

    是现实里到底长什么样。

    他把自己写了半天的转换脚本留着,没有继续改。

    第二天上午,七个人第一次开视频会议。

    程砚和群里聊天时差不多,语速快,头发有点乱,背后不是书架,而是一面贴满便签纸的白墙。谢以宁坐在一个光线很好的房间里,桌上摊着纸质城市地图。她来自那座项目城市本地,对十几个目标路口里至少一半有生活经验,真正开始核查以后,很多其他人只会从数据看出来的异常,她一眼就知道现实原因。某条路在地图上是双向,实际上早晚高峰有临时交通管制;一个公交站数据上还存在,本地人却知道因为修地铁已经迁移几百米;另一条看起来很宽的主干道,真正最堵的不是车道数不够,而是旁边一所学校每天放学时大量家长临时停车。

    这些信息原既白几乎都没有。

    公开数据里当然可能找到一部分。

    可不是自动躺在那里等他读取。

    有些来自城市公告,有些来自新闻,有些甚至只是本地人在那里生活几年以后自然知道的常识。

    他第一次对“真实数据”这个词产生了明显的不信任。

    以前高中做程序,数据通常已经有人整理过;竞赛题里的条件更不必说,题目告诉你什么,默认就是世界的全部。现在他们想模拟一块真实城区,却发现最难的不是公式,而是根本不知道哪些因素已经进入数据,哪些还在数据外面。

    会议开到第二个小时,程砚把原既白昨天那套统一结构投到屏幕上。

    “这个不是不用。”他说,“以后肯定会用。但我建议先缩。”

    原既白问:“缩到什么程度?”

    “只定义我们现在确认得了的。”

    这句话让他有一点不舒服。

    不是因为反对,而是因为它违背了他很深的一种习惯。一个系统如果只定义眼前能确认的东西,很容易不断长补丁,最后失去整体。可反过来,如果先定义一个足够漂亮的整体,再把现实塞进去,也可能在第一步就把还没弄清的东西错误归类。

    他没有立即同意,也没有坚持。

    会议结束以后,把那套结构复制了一份。

    原文件保留。

    新文件删掉将近一半字段。

    不是因为那些字段没价值,而是暂时没有足够证据让它们成为事实。

    做完以后,他给江遥发了一张前后对比图。

    江遥正好在读第二章科学史。

    她看了半天,问:

    **你删这么多?**

    原既白回:

    **先不替数据决定。**

    江遥过了一会儿发来:

    **有进步。**

    他看到这三个字有一点不服。

    **你最近也开始给我当老师了?**

    江遥没有回。

    十分钟以后发来一张自己书页的照片,上面密密麻麻都是铅笔问号,旁边写着一句:

    *

-->>(本章未完,请点击下一页继续阅读)

【请收藏我看书斋 www.5ksz.com】
上一章 首页 目录 加书签 下一页

阅读页设置
背景颜色

默认

淡灰

深绿

橙黄

夜间

字体大小

小

中

大

我看书斋   百度   搜狗搜索   必应搜索   神马搜索   360搜索   今日头条

我看书斋|眼睛到不了的地方,文字可以。读书是门槛最低的高贵,是恰到好处的美好