Как смоделировать крупнозернистую геолокацию, чтобы исправить рынок - PullRequest
1 голос
/ 11 января 2010

Пример использования: клиент A приходит, чтобы запросить информацию о продажах, вводит свой почтовый индекс и направляется представителю X.

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

Какой тип отношений будет лучше при моделировании этого сценария?

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

Пояснение: Реальная цель этого вопроса состоит в том, как решить проблему приближения регионов, не поддерживая таблицу идеальных ассоциаций округов, или является решением этой проблемы настолько сложным, что затраты на поддержание отношения вручную менее запретительны?

Ответы [ 2 ]

1 голос
/ 11 января 2010

Ну, вы можете легко получить Lat / Long из Google или Yahoo API (в моем последнем проекте у нас была проблема с Google, не нашедшим определенный почтовый индекс в Нью-Джерси, который Yahoo нашла, к вашему сведению).

Так что, если вы кешируете широту / долготу для каждого почтового индекса с представителем (и я, вероятно, рекомендую кешировать широту / долготу для каждого почтового индекса, введенного клиентом, чтобы вам не приходилось каждый раз подключаться к веб-службе ), тогда вы можете просто получить широту / длину почтового индекса пользователя и выполнить расчет расстояния для каждого повторения. Это имеет порядок n-времени сложности (O (n) для n представителей)

1 голос
/ 11 января 2010

Вы можете получить дешевую или бесплатную (Census.gov) информацию о почтовом индексе, содержащую хотя бы штат, в котором находится почтовый индекс. Вы можете даже получить информацию Zip to County, если вам требуется более детальная информация. На этом этапе вы можете просто взять представителя, который соответствует штату или стране, в которой находится почтовый индекс.

Используя данные TIGER, доступные в Бюро переписей , вы можете заполнить пространственную базу данных границами почтового индекса и известными областями вашего представителя. Простой запрос может затем получить представителя, который ближе всего к данному почтовому индексу. У меня был благоприятный опыт работы с PostGIS , и я знаю как пространственные расширения Oracle и SqlServer .

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