在结账前核对地址与所填邮政编码是否一致
订单表单上邮政编码与城市不一致,看起来只是个小笔误,直到包裹被送到国内完全不同的地方。
在一场正在发生的极端天气紧急事件中,关于哪里需要帮助、哪里可以提供帮助的信息来得很快,而且完全没有统一格式。一个地区救援协调小组发现,它收集到的避难所位置、物资投放点以及有人需要援助的报告,都来自志愿者随手发来的各种描述:一个路口、一个地标、一个不完整的地址,或从手机地图应用中复制的一组坐标。
如果底层没有统一的格式,这些信息都无法直接用在共享地图上。协调小组需要把每一份收到的报告都转换成同一种东西,即一对坐标,无论它以何种形式到达。以文本形式到达的报告(地址或足够接近地址的描述)通过 /v1/forward 获得位置匹配。以坐标形式到达的报告(从手机的位置分享中复制)则通过 /v1/reverse 换回可读的地址和行政区域,这样就能向志愿者显示位置的通俗描述,而不是地图上一对原始数字。
每份报告都统一为坐标后,把它们一起标注在同一张共享地图上就变得简单了,更重要的是变得可以比较:物资点和报告的需求可以按实际距离相互衡量,这对于高效调度志愿者至关重要,而不必根据彼此之间看不出明显关系的文字描述去猜测远近。
小组只用一个轻量的收集表单来完成这一切,而没有采用更复杂的方案,因为在应急响应期间,速度和简单比精致更重要。提交报告的志愿者不需要知道也不需要关心哪个端点处理了他们的输入格式,收集表单会根据提交内容看起来像文本还是像坐标来决定,而两条路径最终都会在共享地图上得到同一个统一的点。
在这里,匹配质量比在大多数其他地理编码用途中都更重要,因为紧急情况下一份被解析到错误位置的报告,即使只偏差很小的距离,也可能恰恰在最关键的时刻把救援送到错误的地方。小组的收集表单把正向地理编码调用返回的匹配置信度直接展示给审核报告的人员,这样低置信度的匹配会先经过快速人工核查再被信任和采取行动,而不是与干净的匹配以同样看似确定的方式被标注在地图上。
这些都不需要专门的应急管理软件。协调小组在已有的基础设施上运行收集表单,只补上了地理编码这一块缺失的部分,使志愿者提交的非结构化位置描述变成共享地图真正可以显示和比较的内容。
应急响应期间的请求量会急剧而短暂地飙升,这种模式很难事先规划固定预算。每天的免费配额覆盖了事件间隙中日常的规划和准备使用,而预付额度则在实际响应期间吸收了峰值,小组无需承诺一个一年中大部分时间都用不上的更大的长期方案。
两个端点的文档分别位于 /docs/forward-geocoding/ 和 /docs/reverse-geocoding/。