запрос широты - точность - PullRequest
2 голосов
/ 09 сентября 2011

Я запрашиваю базу данных SQLite для получения сведений о широте / долготе.

SELECT * FROM tblMain 
  where latitude > -33.866 and latitude <=-33.865 
  and longitude > 151.20 and longitude <= 151.209

Я хочу предоставить пользователю диапазон выбора для запроса (1 км, 2 км и т. Д.)

Сколько метров в каждой широте / долготе, чтобы я мог рассчитать разрешение запроса?

Ответы [ 2 ]

4 голосов
/ 09 сентября 2011

Вы можете решить это с помощью небольшой тригонометрии и приближения к радиусу Земли.

earthradius = 6371 km
distance( deg1, deg2 ) = earthradius * sin( (2pi * (deg2-deg1))/360. )

Также полезно запомнить, что 1 угловая секунда составляет около 30 м.

3 голосов
/ 09 сентября 2011

Разница в один градус по широте составляет около 111,3 км, разница в один градус по долготе зависит от широты: 111,3 км * cos (широта). Точность составляет около 20 км по всей Европе.

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