用边界情况而不只是理想路径来测试位置数据
一个位于地图完善的市中心的地址,几乎无法告诉您系统如何处理乡村路线、有争议的边界或靠近两极的查询。请有意识地测试这些困难情况。
“高精度”这个说法在日常交流中用得相当随意,因此值得认真明确它在地理编码响应的语境中究竟应该意味着什么,因为对这个术语的模糊理解,会直接导致建立在其上的逻辑同样模糊、校准不当。
高精度应该意味着关于匹配级别的某种具体信息,而不仅仅是返回了一个答案,也不仅仅是答案返回得很快或没有报错。在一个设计良好的地理编码响应中,precision 字段直接传达的正是这一点:像 house 这样的值表示匹配解析到了一栋具体的建筑或一个具体的点,这与以下情况有实质区别:street 表示匹配只解析到一段道路,postcode 表示只解析到一个邮政区域,city 表示城镇级别的匹配。每一种都是正当、如实报告的结果。但在需要精确位置的使用场景中,只有其中一种才能合理地被称为高精度。
置信度是一个完全独立的维度,在判断“高精度”对您的用途意味着什么时,不应将其与精度混为一谈。一个置信度低的 house 级别匹配,在任何有意义的层面上都不能算作高精度结果,因为低置信度表明,这个具体到建筑级别的匹配是否正确确实存疑。就实际用途而言,一个真正的高精度结果应被理解为同时需要细粒度的精度级别,以及明显高于您自己的测试所证明对您的使用场景可靠的阈值的置信度分数,两者缺一不可。
这种区别在出错代价高昂的情况下最为重要。派遣维修技术人员、把配送发往某个具体地址,或者触发与某个精确点相关联的基于位置的操作,这些都确实同时需要精细的精度级别和可靠的置信度。区域分析、粗略的个性化或宽泛的内容定向,则完全可以使用粗得多的精度,根本不需要让每个结果都达到门牌级别的标准。
与其全盘采用别人对高精度的定义,不如用您的具体使用场景所需的 precision 值和 confidence 范围,明确定义您自己的阈值,并始终如一地应用它,而不是把“高精度”当作一个模糊、主观的标签。precision 可取的确切值的完整说明,见正向和逆地理编码文档,这是根据您的应用实际需求定义阈值的合适起点。