Я нахожусь в процессе извлечения объектов местоположения («Мэдисон Сквер Гарден», «Зоопарк Сан-Диего» и т. Д.) Из большой таблицы неоднородного местоположения.
Я пытаюсь избежать нескольких сущностей в моей новой таблице.
У меня нет надежных уличных адресов, но я пытаюсь извлечь адреса в пределах локального диапазона.
Я делаю это путем подсчета и сопоставления одинаковых имен в географическом диапазоне 30 км.
Я просматриваю таблицу городов с геокодированием, и для каждого города создаю широту / долготу, а затем извлекаю названия мест в этом диапазоне.
На примере Мэдисон Сквер Гарденс. Место встречи будет перекрываться несколько раз из разных городов в таблице городов. Например, Манхэттен, Ньюарк и т. Д., Вероятно, будут перекрывать диапазон Нью-Йорка и приводить к нескольким записям для некоторых объектов недвижимости в Нью-Йорке.
Я не могу просто установить диапазон на меньшую область, так как я пропущу местоположения или, что еще хуже, получаю больше записей, так как у меня не часто бывают хорошие улицы / города / геокодированные местоположения (хотя 30 км кажется, работает очень хорошо).
Я надеялся, что геохеширование позволит мне создать ограничивающий прямоугольник, в котором я смогу найти перекрытие и избежать нескольких записей, но, похоже, это не тот случай, основанный на том, что я нашел.
В идеале, я считаю, что я ищу хэш или другое значение, которое я могу поместить в ячейку, и сохранить уникальное имя / хэш местоположения, чтобы mysql не заканчивал несколькими записями для одного местоположения.
У меня нет правильного адреса улицы для каждой записи (хотя он у меня есть), поэтому, похоже, получить точность уровня улицы и не использовать диапазон.
У меня также нет постоянных названий городов, поэтому я получаю Нью-Йорк, Нью-Йорк, Манхэттен и т. Д. И т. Д. Но моя таблица городов лучше, включая Нью-Йорк, но не Нью-Йорк.
_-------------- EDITED --------------------
После еще одного взгляда на Geohash.org, я думаю, что я на правильном пути, просто не хватает детализации.
Если я возьму первые два символа хэша, это согласуется в пределах слишком большого диапазона.
Например, все от виктории, до н.э. до портленда или все «C2» для первых двух символов.
Тем не менее, переходя к решению 3 символа,
Нью-Йорк начинает с «dr5», как и Ньюарк (что хорошо), но Хакенсак - «dr7».
Хуже, Ванувер, до н.э. это «C2b», но пригород Ричмонда до н. э. «C28».