Найти ближайший почтовый индекс с базовым почтовым индексом - PullRequest
0 голосов
/ 12 апреля 2011

Это со ссылкой на этот вопрос: Найдите почтовые индексы Великобритании, наиболее близкие к другим почтовым кодам Великобритании, сопоставив строку почтового индекса

--User wants to get all postcodes nearby B193SH
-- Postcode  = 'B193SH'
-- Latitude  = 52.488460
-- Longitude = -1.895690

SELECT [HouseNumber],
             [Street],
             [Area],
             [PostCode],
             [Latitude],
             [Longitude],
FROM   [dbo].[Address]
WHERE  ([Latitude]  BETWEEN ( 52.488460 - 0.100000 ) AND ( 52.488460 + 0.100000 )) AND 
             ([Longitude] BETWEEN ( -1.895690 - 0.100000 ) AND ( -1.895690 + 0.100000 ))
ORDER  BY [PostCode]
GO 

Выполняя этот запрос, я получаю пару результатов. Но вопрос в том, какую разницу (в метрах / милях) составляет +/- 0,100000 к широте / долготе?

Стоит ли пытаться найти закрытые почтовые индексы, используя первые три буквы базового почтового индекса, то есть «B19»?

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

Спасибо!

1 Ответ

1 голос
/ 12 апреля 2011

Учитывая приблизительный радиус Земли, равный 6378,1 км.

Широта (и долгота, когда вдоль экватора)

2 * pi * 6378.1 * 0.1 / 360 = 11.1319 km (4 d.p.)

Долгота, когда вдоль x градусов на север или юг

Например, когда на 50 градусов север:

2 * pi * 6378.1 * cos(50) * 0.1 / 360 = 7.1554 km (4 d.p.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...