公共自行车数据页面上,一个站点写着还有3辆车,旁边却标为不提供租车,这两项信息一定矛盾吗?在所读GBFS参考文档的station_status.json说明中,车辆数量与出租状态原本就是分别表达的。[1] 要理解站点记录,不能只把一个大于零的数字翻译成“现在能租”。
num_vehicles_available描述站点内实际存在、功能正常且可能用于出租的车辆数量。规范紧接着要求结合is_renting判断:当后者为true,数量表示当前可出租车辆;当后者为false,数量表示假如站点允许出租时,可用于出租的车辆数。[1] 同一个数字,在出租状态不同的情况下,面向使用者的含义也不同。
把一条自拟记录写成“num_vehicles_available为3,is_renting为false”,就能看出两项各自在说什么。前者保留站点车辆数量的信息,后者说明站点当前不出租。若展示页面只取数字,生成“3辆可租”,就漏掉了决定出租状态的条件。反过来,写成“不出租,所以站内一定没有车”,也超出了这条记录能够支持的判断。
另一个容易误读的组合是“数量为0,is_renting为true”。规范明确说,即使站点为空,只要在其他条件下仍允许租车,这个状态也必须保持true。[1] 因而true不能译成“保证有车”,数量为0也不能自动译成“暂停营业”。前者表达出租服务的状态,后者补充当时记录的车辆数量,两项合看才完整。
归还方向采用了相似的分工。num_docks_available给出相应可用车桩数量,而is_returning说明站点是否接受归还。文档特别指出,站点即使已经满位,只要在其他条件下仍允许还车,is_returning也应为true。[1] 这说明服务状态不是剩余空位的替代字段;只读一个布尔值,无法得出一定有空桩的结论。
整理这类数据说明时,可以保留“数量”和“服务状态”两列,再为组合给出清楚的文字解释。数字回答有多少,布尔字段回答对应服务是否开放,两者并非互相纠错。以上组合用于说明规范语义,并未接入某座城市的实时站点数据;实际页面还需要以对应系统提供的信息为准,不能将文档中的字段定义当成某一次借还已经具备条件或已经完成的证明。
信息来源
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。