公共自行车数据若写某组空桩可以接受两类车,能否把该组数量分别算给两类车,再把结果相加?GBFS的vehicle_docks_available数组及其示例说明,这样可能重复计算同一组车桩。[1] 它在这里表达的是车桩与车型的兼容关系,不是每一个车型名称都对应另一批独立车桩。

本篇读取的参考文档标明v3.1-RC3,所列JSON示例另写version为3.1-RC;这些候选版本标签均按原文保留,不称为已部署的稳定版本。数组总说明写道,每个对象用于描述可接受某些车型的空桩数量,各对象的车桩数量合计应与num_docks_available相符。对象里的vehicle_type_ids则是能够使用这一类车桩的车型ID数组。[1]

第一座示例站的num_docks_available为3。它的vehicle_docks_available有两项:一项列出abc123与def456,count为2;另一项只列def456,count为1。[1] 顺着整个数组的车桩分组来读,是两处支持这两类车的空桩,再加一处支持def456的空桩,合计三处。若把第一项分别记为abc123两处、def456两处,然后再加后一处,就得到五处,重复计算发生在那两处共同兼容的桩上。

第二座示例站使这个区别更清楚:它的两项各只列一个车型ID,count分别为6与2,num_docks_available为8。[1] 第一座站的兼容集合有交叠,第二座站按单个车型列组;不能因为示例都包含两个车型名称,就假定数量的组织方式完全相同。要合计的是各组车桩,而不是车型名称在文字中出现了多少次。

这也解释了为什么兼容信息不能被压成“某类车有几个桩”后随意汇总。第一座站里def456出现在两组,表示它对应不同组的接受范围;其中一组同时接受abc123,并没有再凭空产生两处桩。对运营数据解释,保留每组车型集合与该组数量,比先拆成车型总数更能表达原示例的结构。

本文仅依据数组总说明、车型ID定义和完整示例解释这一关系,不采用页面中count单格将对象写成available vehicles的歧义句,也不据此确认任何现实站点可以还车。来源首次发布日期未确认;没有接入实时数据、实施还车或作出安全与计费判断。这里能说明的是一项具体计数原则:一组桩兼容多个车型,并不等于这组实体数量应随车型种数翻倍。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。