Преобразование адресов горящих людей в лат / долг - PullRequest
2 голосов
/ 25 августа 2011

Мне нужна функция, которая берет адрес лагеря горящего человека и возвращает его длину.

Город выглядит так - http://www.burningman.com/preparation/maps/11_maps/BRC2011_070611.jpg

Адреса горящих людей указаны как Anniversary & 6:15. На линиях часов каждые 15 минут есть улицы, но иногда люди указывают свой адрес как 6:05 или 6:10, чтобы указать, где они находятся в этом блоке.

С веб-сайта горящего человека: «Расстояние от самой внутренней улицы Эспланада до Человека составляет 2400 футов. Это означает, что все блоки от Эспланады до Градации шире между улицами с часами. глубина 400 футов. Другие блоки двойной глубины имеют глубину 430 футов. Остальные блоки имеют глубину 200 футов. "

Я думаю, это означает, что улицы имеют ширину 30 футов, а блоки обычно имеют ширину 200 футов, за исключением первого большого блока. И это 2400 футов от центра до внутреннего края Эспланады, 2430 футов до начала первого блока.

Центр круга находится по адресу {40.782920000000004, -119.20903000000001}, а улица 4:30 выходит на север.

Для тестирования (это только приблизительно):

40.77574, -119.20334 is 3:30 & Birthday
40.77521, -119.20879 is 4:30 & Anniversary
40.78579, -119.22369 is 8:00 & Graduation

Я написал приложение iBurn для Burning Man, если я смогу получить эту функцию сегодня, я надеюсь, я могу добавить больше данных в приложение до начала мероприятия.

1 Ответ

2 голосов
/ 25 августа 2011

Если я понимаю вашу проблему (исправьте меня, если я ошибаюсь), вы можете найти решение в формуле Винсенти, найденной по адресу:

http://www.movable -type.co.uk / scripts/latlong-vincenty-direct.html

...