我正在尝试确定美国地址是否在城市范围内。 (另一个例子是地址是否存在于特定的县内)。
例如,我们正在创建一个允许城市出售其宠物许可证的网站。例如,如果地址是 W。拉斐特,印第安纳州,但家庭就在既定的城市范围之外,我们希望我们的网站能够通知用户他们不需要购买宠物许可证(否则当城市看到它们时,他们需要将这笔钱退还给宠物主人。)
谷歌地图显然知道城市边界。例如,当您在地图上查看W. Lafayette,IN时,您可以看到一条红线和浅红色阴影,显示城市范围:(example)
我的问题:如何确定地址是否包含在该边界区域内? (我希望能够将lat / lng发送到API以确定它是否包含在该区域内......或者其他一些关于如何执行此操作的想法?)
旁注:邮政编码不够用。在许多情况下,无论房屋是在城市范围内还是在城市范围之外,地址都可以具有城市,州,邮政编码。
谢谢。
答案 0 :(得分:1)
美国的城市边界,由各自的城市定义,往往与USPS定义的城市边界不完全匹配 - USPS是最常见的地址管理机构。因此,如果USPS标准化的地址碰巧将“Lafayette,IN”命名为城市,则并不一定意味着它属于城市的市区范围。
要查明地址是否在市区范围内:
使用地理编码工具(我工作的公司制作YAddress)获取地址的确切地理位置坐标。
从各自的市政府获取城市边界。
检查位置是否在边界内。
如果要将城市边界存储在数据库中,大多数数据库引擎都会提供空间工具来检查点是否在边界内,并且您不必手动编码。
根据市政边界检查地址是计算当地销售税的常见任务,这些税基于市政而非邮政边界。