Как узнать почтовый индекс пользователя, если у меня есть его широта / долгота? Нужна помощь в написании запроса - PullRequest
2 голосов
/ 20 мая 2010

Я использую геолокацию HTML5 для сбора широты и долготы пользователей, и мне нужно выяснить, каков их почтовый индекс. У меня есть база данных всех лат / лонгов для каждого почтового индекса в США и Канаде. Как я могу написать запрос, чтобы узнать их почтовый индекс? Ниже приведен пример того, как данные структурированы в таблице «zips».

Country  PostalCode  Latitude  Longitude
USA      0051        40.813078 -73.046388
USA      00616       18.426456 -66.673779

Я не могу сделать 'ВЫБЕРИТЕ почтовый индекс из почтовых индексов, ГДЕ Широта = user.lat И Долгота = user.long '. Я считаю, что мне нужно найти ближайший лат / лонг. Любые предложения о том, как я могу написать это?

1 Ответ

3 голосов
/ 20 мая 2010

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

Поскольку расстояния относительно короткие, вы можете использовать формулу расстояния: d = SQRT(((PCLA - ULA) ** 2) + ((PCLO - ULO) ** 2)). Ответ в градусах, а не в километрах или милях.

Какой почтовый индекс наименьшее расстояние от вашего пользователя составляет , вероятно почтовый индекс.

В противном случае вы можете просто спросить пользователя. : -)

Найдите почтовый индекс, который вам дают, рассчитайте расстояние и посмотрите, разумно ли это расстояние.

Вот более точная формула для вычисления расстояния между двумя земными координатами .

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