Я искал решение для преобразования декартовых координат (широта, долгота), которые у меня есть, в полярные координаты, чтобы облегчить моделирование, которое я хочу запустить, но я не нашел здесь никаких вопросов или ответов, чтобы сделать это в R. Есть несколько вариантов, в том числе встроенная функция cart2pol в Matlab, но все мои данные находятся в R, и я хотел бы продолжать комфортно работать в этой структуре.
Вопрос:
У меня есть координаты широты и долготы из данных тегов, и я хочу преобразовать их в полярные координаты (то есть размер и угол перехода: http://en.wikipedia.org/wiki/Polar_coordinate_system), чтобы затем я мог перетасовать или загрузить их (еще не решил, какой) около 1000 раз и вычислить расстояние по прямой для каждой моделируемой дорожки. с начальной точки. У меня есть точный след, и мне интересно определить, проявляет ли это животное сходство с местом, путем моделирования 1000 случайных следов с теми же размерами прыжков и углами поворота, но в совершенно разных порядках и комбинациях. Итак, мне нужно 1000 расстояний по прямой от начала координат, чтобы создать распределение расстояний, а затем сравнить это с расстоянием по прямой линии моего истинного набора данных.
Мне удобно выполнять начальную загрузку, но я застрял на самом первом этапе, который заключается в преобразовании моих декартовых координат широты и долготы в полярные координаты (размер прыжка и угол поворота). Я знаю, что есть встроенные функции для этого в других программах, таких как Matlab, но я не могу найти способ сделать это в R. Я мог бы сделать это вручную вручную в цикле for, но если есть пакет там или любым более простым способом, я бы предпочел это.
В идеале я хотел бы преобразовать данные в полярные координаты, запустить моделирование, а затем для каждого случайного трека вывести конечную точку в виде декартовых координат, широта / долгота, чтобы затем я мог вычислить пройденное расстояние по прямой.
Я не публиковал никаких образцов данных, так как это был бы просто двухколоночный фрейм данных с координатами широты и долготы.
Спасибо за любую помощь, которую вы можете оказать! Если где-то на этом или другом сайте есть простое объяснение, которое я пропустил, укажите мне, пожалуйста, в этом направлении! Ничего не нашел.
Ваше здоровье
cart2pol
функцию Matlab? - person Nishanth   schedule 03.05.2013circular
: cran.r-project. org / web / packages / круговой / круговой.pdf - person Ricardo Saporta   schedule 03.05.2013r= sqrt(x^2+y^2)
? (А если вы не знаете обратное преобразование, просто посмотрите Википедию или любой текст по координатной геометрии?) - person IRTFM   schedule 03.05.2013r= sqrt( (x-x0)^2+(y-y0)^2)
... результат должен быть неизменным относительно вращение. Но если вопрос действительно о расстоянии от поверхности Земли, то оно будет сильно варьироваться в зависимости от широты, потому что широта и долгота обычно не являются декартовыми. Если бы все это были данные, собранные в небольшом диапазоне широт, то вы могли бы применить простой поправочный коэффициент косинуса ко всем значениям долготы перед выполнением вычислений. - person IRTFM   schedule 05.02.2016