用边界情况而不只是理想路径来测试位置数据
一个位于地图完善的市中心的地址,几乎无法告诉您系统如何处理乡村路线、有争议的边界或靠近两极的查询。请有意识地测试这些困难情况。
大多数位置软件都是围绕一些假设构建的,这也合情合理,因为这些假设在绝大多数有人居住的纬度上都成立。而在极地附近,其中几个假设会悄无声息地失去意义,任何没有专门在那里测试过的系统,其表现往往从略显古怪到彻底出错不等。
最明显的例子就是经度本身。在地球上的其他任何地方,经度的某个变化量都对应一个真实、可计算的距离,这个距离只会随着远离赤道而逐渐缩小。而在极地附近,这个距离会缩小到几乎为零,因为所有经线都会汇聚到恰好位于北纬或南纬九十度的同一个点。极点附近一个经度变化很大的坐标,其所代表的物理位置可能与另一个经度值完全不同的坐标只相隔很短的步行距离。这会打破任何假定经度差与距离差始终对应的逻辑,而这个假设在地图上几乎其他所有地方都完全安全。
极地附近的时区也有其独特的怪异之处。时区从根本上是围绕经度带组织的,这对于人们实际居住的纬度来说是合理的,因为在那里,太阳每天的运行轨迹赋予了当地时间真正的实际意义。而在极点,太阳根本不按通常的每日规律升起和落下,“基于经度的当地时间”这一概念几乎变得随意,因为那里没有像其他地方那样有实际意义的太阳日来决定它。实际上,极地科考站和类似的前哨站通常直接采用其补给基地或本国的时区,以便于实际协调,而不是根据其实际经度推导时区,正是因为在那里由经度推导出的时区只会带来困惑而非便利。
这些与其说是地理编码或时区系统的缺陷,不如说是一个真正的边缘情况,在这里底层地理模型本身的表现就不一样。如果您正在构建的东西需要处理世界上任何地方的坐标,并且不排除极地(这确实只是很小一部分应用),那么值得专门针对高纬度坐标测试您的距离计算、时区逻辑以及任何基于经度的假设,而不是假定在有人居住的纬度上成立的行为能够顺利延续过去。对于绝大多数处理有人居住地区、处于普通纬度范围内的应用来说,这纯属学术问题,不需要您专门为此设计,但如果您的数据集中可能出现离赤道那么远的坐标,了解这一点是有必要的。