2011-10-26 13 views
2

私はCASSの認証時にユーザーが入力した住所を修正するための認証サービスを利用しています。 (具体的には、私はSmartyStreetsのLiveAddressを見ています)。しかし、USPSは、正しいアドレスがすべて大文字である必要があるので、CASSサービスはほぼ均一にアドレスを返します。しかし、その住所の顧客に郵送する場合は、より人道的で従来型のケーシングを使用することが望ましいでしょう。住所大文字を入力

もちろん、それをどうやって行うのかという疑問があります。正確に大文字の街頭名や都市名の全国規模のデータベースを含まない完璧な解決策はないと私は知っています。ただし、訂正されたアドレスをユーザーに返送して最終的にはそれをユーザーに任せてしまうので、可能なヒューリスティックのセットで十分です。

私が考えたのは数分後に出てくることができた問題の短いリスト:

  • SW FIRST STSW First St、ないSw First Stでなければなりません。
  • MCDOUGLE STは、McDougle Stでなく、Mcdougle Stである必要があります。 Macoroni Rdは通常MacOroni Rdすべきではないので、
  • MACDOUGLE STはおそらく、Macdougle StいうよりMacDougle Stでなければなりません。
  • 1ST STは、1st Stでなく、1St Stである必要があります。
  • 通り名が姓に基づいているかどうかわからない場合、VANvanに安全に設定することはできませんが、VONはおそらくvonになる可能性があります。

少なくとも私を始められるような既存のライブラリはありますか?アドレスは複雑で気まぐれなものですが、私はそうしなければ全部を醸造していません。私はC#を使用していますが、別の言語のコードを移植することは可能です。

これを除いて、ストリート名や市町村名の大文字と小文字を区別しない例外はありますか?

答えて

2

LiveAddressサービスを使用してアドレス検証と標準化を容易に行うことができます。標準化された住所にケーシングルールを適用する過程で、あなたが大切にしていることを知っておきたいことが1つあります。

新しいアドレスREST+JSONが導入されました。住所の様々な構成部分。このため、大文字と小文字の区別に関係なく返される "street_name"と "city_name"の値に大文字小文字のルールを適用するのは簡単です。

SmartyStreetsサポートにお問い合わせいただければ幸いです。継続的に監視しているStack Overflowに関する質問に加えて、この問題に関する追加のヘルプがあります。私はおそらく私はSmartyStreetsの創始者であることに言及すべきである。最後に、適切に処理されたアドレスを返すことに取り組んでいますが、まだリリースタイムフレームはありません。

+0

これは確かに、より複雑な状況の多くで役立ちます。ありがとう! – WCWedin

+0

@JonathanOliver、このライブラリの最新のリンクをお持ちですか? – Nelu

1

ライブラリーではありませんが、要件に応じておそらくGoogle Maps APIの問題を解決できます。

+0

私は最初に検証APIを使用してアドレスを検証してから、検証されたアドレスをGoogleに転送して私の大文字を修正できるようにすることをお勧めしますか?少し重いですが、かなり賢い。 Google Maps API ToS内に滞在するための場所の地図を表示する必要があると思いますが、それは不可能ではありません。 – WCWedin

関連する問題