我有一个控件,允许用户输入邮政编码或在iframe中打开google地图,然后单击地图选择一个位置。我目前有这一切工作,并且iframe会将click/lat事件发回给父级。从经度/纬度获取邮政编码
我也有一个数据库表设置与经纬度字段映射到邮政编码。
但是,纬度/经度组合很可能永远不会匹配我在数据库中的条目。所以,我正在寻找匹配最接近的邮政编码的最佳方式。
因为用户可以手动输入邮政编码,所以我并不完全担心精度(即用户点击邮政编码之间的边界),但我希望它尽可能接近。我现在只需要担心美国的位置。
我目前的解决方案的想法是提出一些宽容(.2?),并查询db/long + - 容差。然后从结果集中选择最接近的匹配项。
我很乐意听到之前做过这个或者有比我提出的更好的解决方案的人的消息。我对使用服务不感兴趣,因为我拥有所有我需要的数据。
我对我提出的解决方案有一个担忧,那就是确定一个好的容差是多少。这个项目是针对农村地区的,我不确定这些地区经纬度的分布情况如何。
编辑:这是我的表结构: zip5 |城市|状态| lat | lon |县
zip5是纬度的主键
请问您为什么要将纬度/经度转换为邮政编码?一旦你有了经/纬度,你就有了通过它们的邻近来找到其他实体的关键。有什么邮政编码让你拥有一个经/纬度不会让你? – Tim 2013-03-08 22:16:33
@Tim根据我给出的设计规范,zip将显示在html输入中。我可以反驳它,但这看起来不应该那么困难。 – Helto 2013-03-08 22:20:55
如果您需要查找2组纬度/经度之间的距离,则可以轻松计算从给定的邮政编码(纬度/经度)到文件中的距离... – keithhatfield 2013-03-08 22:27:52