динамическая обработка географических местоположений - PullRequest
1 голос
/ 30 декабря 2010

Я создал веб-сайт для отдыха и аренды жилья. Я создал страницу, где пользователи могут сами добавлять местоположения (до 6 уровней), но я столкнулся с проблемой. Пользователь может добавить местоположение, например:

Северная Америка -> Соединенные Штаты -> Калифорния -> Сан-Франциско

Другой пользователь может прибыть и добавить область под SF, которая, как он предполагает, находится под SF (скажем, Silver Terrace). Еще один пользователь мог добавить ту же область, но он не смотрел бы под SF и добавил бы, что это братский узел SF

Северная Америка -> Соединённые Штаты Америки -> Калифорния -> Silver Terrace

Так что теперь у нас будет:

Северная Америка -> Соединённые Штаты Америки -> Калифорния -> Сан-Франциско -> Серебряная терраса
Северная Америка -> Соединённые Штаты Америки -> Калифорния -> Silver Terrace

что, конечно, является дубликатом = / Я мог бы сказать пользователю, добавляющему Silver Terrace во второй раз, когда он уже существует, но первый пользователь мог неправильно его разместить, что вызывает проблему.

Даже если бы я не позволял пользователям добавлять местоположения, и я сам делал бы это или ограничивал это несколькими пользователями, все равно было бы очень трудно правильно добавить все местоположения.

В других странах также возникает вопрос о включении или не включении штата / района / региона и т. Д., Которые будут частью пути для местоположений ...

Я прочитал довольно много сообщений об этом, но я не могу придумать хорошее решение.

Трудно полностью исключить местоположения, потому что я использую их для поддоменов, т.е. san-francisco.example.com или california.example.com. Местоположения также позволяют пользователям просматривать страну / штат / город / район / район / и т. Д., Если пользователь не хочет (или не может) делать это с помощью карты.

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

Ответы [ 2 ]

2 голосов
/ 31 декабря 2010

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

В качестве мотивирующего примера, скажем, у вас есть 20 000 пользователей в вашей системе, и 10 000 из этих пользователей помещены в местоположение (в виде x ->(y ->) * z), начинающийся с "United States -> California"

Поскольку "United States -> California" - это элемент, который встречается в таком большом количестве мест, вы можете быть уверенычто "Соединенные Штаты -> Калифорния", на самом деле, является действительным местоположением.Этот подход имеет смысл при добавлении поддоменов, поскольку вы можете не захотеть добавлять поддомен до тех пор, пока значительная часть вашего населения не станет членом этого поддоменов.

1 голос
/ 30 декабря 2010

Имеет скрытое значение, привязанное к пути X-> Y-> Z, которое обозначает почтовый индекс Z. Это может быть самый простой способ определить, какие пути являются дубликатами.

...