Найти ближайший почтовый индекс с базовым почтовым индексом

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

--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»?

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

Спасибо!


person Hassan Gulzar    schedule 12.04.2011    source источник


Ответы (1)


Учитывая приблизительный радиус Земли 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.)
person Delan Azabani    schedule 12.04.2011