3

CASS認定の住所検証サービスを使用して、入力時にユーザーが指定した住所を修正することを検討しています。(具体的には、SmartyStreetsのLiveAddressを調べています。)ただし、USPSは、正しいアドレスをすべて大文字にする必要があることを示しているため、CASSサービスはほぼ均一にアドレスを返します。ただし、そのアドレスのクライアントにメールを送信する場合は、より人道的で従来型のケーシングを使用することをお勧めします。

もちろん、問題はそれをどのように実現するかです。正しく大文字にされた通りと都市の名前の完全な全国的なデータベースを含まない完璧な解決策のようなものはないことを私は知っています。ただし、修正されたアドレスをユーザーにキックバックし、最終的にはユーザーに任せるため、一連の無難なヒューリスティックで十分な場合があります。

数分考えた後に思いついた問題の短いリスト:

  • SW FIRST STSW First Stではなく、である必要がありSw First Stます。
  • MCDOUGLE STMcDougle Stではなく、である必要がありMcdougle Stます。
  • MACDOUGLE ST通常はそうではないので、おそらくでMacdougle Stはなくする必要があります。MacDougle StMacoroni RdMacOroni Rd
  • 1ST ST1st Stではなく、である必要があり1St Stます。
  • 通りの名前が名前に基づいているかどうかわからないため、安全に作成できない可能性がありますVANvanVONおそらくになりvonます。

少なくとも私を始めることができる既存のライブラリはありますか?アドレスは複雑で気まぐれなものであり、必要がなければ、すべてを自作したくはありません。私はC#を使用していますが、別の言語からコードを移植することはできます。

それを除けば、通りや都市の名前の一般的な大文字の例外について適切な参照を持っている人はいますか?

4

2 に答える 2

2

LiveAddressサービスを使用して、アドレスの検証と標準化を容易にしていることを確認してください。標準化された住所に大文字と小文字の規則を適用するプロセスで非常に役立つことを知っておくとよいことが1つあります。

最近、アドレスの標準化された形式とアドレスのさまざまなコンポーネント部分を返す新しいREST+JSONエンドポイントを導入しました。このため、通りの接尾辞や前後の方向に関係なく返される「street_name」と「city_name」の値にケーシングルールを適用するのは非常に簡単です。

Stack Overflow(継続的に監視しています)に関する質問に加えて、この問題に関する追加のヘルプについては、SmartyStreetsサポートにお問い合わせください。私はSmartyStreetsの創設者であることにも言及する必要があります。最後に、適切に大文字と小文字を区別したアドレスを返すことができるように取り組んでいますが、リリースの時間枠はまだありません。

于 2011-10-27T03:18:42.067 に答える
1

ライブラリではありませんが、要件によってはGoogle Maps APIで問題を解決できる可能性があります。

于 2011-10-26T20:39:17.780 に答える