Капитализация адреса - PullRequest
       10

Капитализация адреса

2 голосов
/ 27 октября 2011

Я изучаю использование CASS -Сертифицированной службы проверки адресов для исправления предоставленных пользователем уличных адресов во время входа.(В частности, я смотрю на LiveAddress SmartyStreets.) Однако USPS требует, чтобы во всех заглавных буквах был правильный адрес, поэтому службы CASS почти одинаково возвращают адреса таким образом.Однако при отправке письма клиенту по этому адресу было бы предпочтительнее использовать более гуманный, обычный корпус.

Вопрос, конечно, в том, как это сделать.Я знаю, что нет такого понятия, как идеальное решение, которое не включает в себя полную общенациональную базу данных с правильно прописными названиями улиц и городов.Набор проходимых эвристик может быть достаточно хорошим, так как мы, вероятно, будем возвращать исправленный адрес обратно пользователю, в конечном итоге оставив его на его усмотрение.

Краткий список проблем, к которым я смог прийтипосле нескольких минут размышлений:

  • SW FIRST ST должно быть SW First St, а не Sw First St.
  • MCDOUGLE ST должно быть McDougle St, а не Mcdougle St.
  • MACDOUGLE ST, вероятно, должно быть Macdougle St, а не MacDougle St, поскольку Macoroni Rd обычно не должно быть MacOroni Rd.
  • 1ST ST должно быть 1st St,не 1St St.
  • Не зная, основано ли название улицы на фамилии, мы не можем безопасно сделать VAN в van, но VON может стать von.

Существуют ли какие-либо библиотеки, которые могли бы, по крайней мере, начать меня?Адреса - это сложные и непостоянные вещи, и я бы не стал самогонить все это, если бы мне не пришлось.Я использую C #, но я открыт для переноса кода с другого языка.

За исключением этого, есть ли у кого-нибудь приличное упоминание об общих исключениях заглавных букв для названий улиц и / или городов?

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

Приятно видеть, что вы используете сервис LiveAddress для облегчения проверки и стандартизации адреса.Есть одна вещь, о которой вы, возможно, захотите знать, которая значительно поможет вам в применении правил обсадной колонны к вашему стандартизированному адресу:

Недавно мы представили новую конечную точку REST + JSON , котораявозвращает стандартизированную форму адреса, а также различные составные части адреса.Из-за этого очень легко применить ваши правила размещения к значениям "street_name" и "city_name", возвращаемым независимо от суффикса улицы и pre / post-directionals.

Вы можете обратиться в службу поддержки SmartyStreets для получения дополнительной информации.помочь с этой проблемой в дополнение к вопросам здесь о переполнении стека (которое мы постоянно отслеживаем).Я должен также упомянуть, что я основатель SmartyStreets.Наконец, мы работаем над тем, чтобы иметь возможность возвращать адреса с правильной регистрацией, но у меня пока нет каких-либо сроков освобождения.

1 голос
/ 27 октября 2011

Не библиотека, но вы можете решить проблему с помощью Google Maps API в зависимости от ваших требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...