C# 美国地址验证(Zip+;4)

C# 美国地址验证(Zip+;4),c#,tsql,geocoding,zipcode,C#,Tsql,Geocoding,Zipcode,我有一个数据库,它有一个邮政编码列表,其中包含纬度、经度、州、城市、州fips代码、时区等。我想扩展它,并编写一个C#函数或TSQL(SQL Server 2008)函数,该函数将接受街道、城市、州和zip,并返回zip+4。我到处搜索,有很多程序都能做到,但没有一个能让我看到他们做了什么,并根据我自己的需要对其进行增强。有没有人知道一个开源解决方案可以做到这一点,或者为我指明了正确的方向,让我可以制作一个开源版本?可能最容易使用的解决方案是USPS的地址API(http://www.usps.

我有一个数据库,它有一个邮政编码列表,其中包含纬度、经度、州、城市、州fips代码、时区等。我想扩展它,并编写一个C#函数或TSQL(SQL Server 2008)函数,该函数将接受街道、城市、州和zip,并返回zip+4。我到处搜索,有很多程序都能做到,但没有一个能让我看到他们做了什么,并根据我自己的需要对其进行增强。有没有人知道一个开源解决方案可以做到这一点,或者为我指明了正确的方向,让我可以制作一个开源版本?

可能最容易使用的解决方案是USPS的地址API(http://www.usps.com/webtools/htm/Address-Information.htm#_Toc131231396)关于清理数据库的用法有点模糊(如果你问他们这件事,他们似乎也一样含糊不清,也许是故意的)但一旦你获得批准,就可以很容易地发送你拥有的数据,并返回一个经过充分验证的、100%符合要求的最新地址。一旦你从USPS获得数据,你可以根据需要添加/减去/删除它,然后再填充回DB。例如,你可以从验证的地址或从你的DB,然后从应用程序中进行地理编码将该数据结束到您收到的数据中,插入循环中


我正在我的一个应用程序上使用它来验证入站查询,事实证明,它几乎100%可靠,可以纠正我需要的问题。

关于USPS免费API,需要注意的一点是,他们的许可证上说,它返回的数据只能用于通过USPS发送东西。我们需要ZIP+4数据,但我们提供我们的东西通过其他运营商,这意味着我们不能使用免费服务。

我为一家名为的公司工作;我们进行邮政地址验证,并通过USPS的CASS认证。但是,没有像USPS的API和谷歌的API等那样的许可证限制。我们甚至有一个免费版本


您可能有兴趣尝试……如果您有任何疑问,我将帮助您实施。

仔细阅读USPS协议,它不允许对您的地址数据进行大规模清理,但允许您清理来自webforms的数据,无论将来如何使用。呃,“用户同意仅使用USPS网站、API和USPS数据来促进USPS发货交易。[2012年1月27日]”这一点非常清楚。USPS API是一种基于XML的Web服务——包括发送和接收。它也非常快速。只要您通过USPS进行邮寄验证,TOS就允许使用其服务。