用边界情况而不只是理想路径来测试位置数据
一个位于地图完善的市中心的地址,几乎无法告诉您系统如何处理乡村路线、有争议的边界或靠近两极的查询。请有意识地测试这些困难情况。
地图上相距仅几米的两个地理编码点,可能代表根本不同类型的匹配,而它们之间的区别,即屋顶级与街道级地理编码的区别,是隐藏在屏幕上一个小圆点背后较为重要的区别之一。
屋顶级地理编码把返回的坐标放在与地址匹配的具体建筑物的实际位置上,通常来源于记录该建筑实际所在位置的真实建筑或地块数据。这是可获得的最精确的匹配类别,也正是响应中 house 精度级别所要代表的含义:一个与已识别的实体建筑相对应的坐标,而不是对建筑可能所在位置的估计。
街道级地理编码的工作方式不同。它不是匹配到某个具体的已知建筑,而是假设地址沿街道长度大致均匀分布,根据所请求的门牌号在该路段已知编号范围内按统计规律预计应处的位置,沿路段插值出一个位置。这样得到的坐标位于正确道路上或其附近,大致处在道路的正确区段,但它本质上是基于典型编号规律的估计,而不是该具体建筑的确认位置。
两者之间的差距比最初看起来更重要,因为街道级插值假设路段上的编号相当均匀且连续,而这一假设并不总是成立。当一条街道开发不均衡、编号存在空缺,或者一段较长的路段涵盖了大范围且沿其长度分布不均的地址时,插值得到的点可能会落在距离实际建筑相当远的地方,有时相差一整栋建筑甚至更多,尽管底层方法完全按照设计在运行。
这正是 precision 字段要揭示的区别,因此应当始终检查该字段,而不是仅凭坐标来推断,因为屋顶级匹配和街道级插值在地图上可能产生看起来非常相似的点,而实际准确度却有明显差异。对于任何这种差异确实重要的用例,例如把服务派单发往某栋确切的建筑而不是附近的建筑,专门检查是否为 house 精度,而不是接受任何在正确街道上某处解析出的结果,就是依赖确认匹配与依赖统计估计之间的区别。
我们的正向地理编码端点会报告每个匹配实际达到的精度,正是为了让您的应用能够区分确认的屋顶级结果和街道级插值,然后再决定在您的具体用例中对其信任到什么程度。