我一直在寻找一个解决方案,以将我所拥有的笛卡尔坐标(纬度,经度)转换为极坐标,以便于我想运行的模拟。然而,在R中没有发现任何关于此的问题或答案。虽然Matlab内置了cart2pol函数等多种选项,但我的所有数据都在R中,并且我想继续熟悉这个框架。
问题:
我从标记数据中获得了纬度/经度坐标,并希望将它们转换为极坐标(指跳跃大小和角度:http://en.wikipedia.org/wiki/Polar_coordinate_system),以便我可以将它们随机排列或自助重采样(还没有决定),约1,000次,并计算每个模拟轨迹的直线距离从起点开始。我有一个真实轨迹,并且我有兴趣确定这种动物是否表现出网站亲和性,通过模拟具有相同跳跃大小和转向角度但完全不同的顺序和组合的1,000个随机轨迹来进行比较。因此,我需要从原点获取1,000条直线距离来创建距离分布,然后将其与我的真实数据集的直线距离进行比较。
我擅长启动引导,但卡在第一步,即将笛卡尔纬度/经度坐标转换为极坐标(跳跃大小和旋转角度)。我知道其他程序(比如Matlab)中有内置函数可以做到这一点,但我找不到在 R 中实现的方法。我可以手动使用for循环完成,但如果有包或更简单的方法可用,我更喜欢使用它。
理想情况下,我希望将数据转换为极坐标,运行模拟,然后针对每个随机轨迹输出一个端点作为笛卡尔坐标、纬度/经度,以便我可以计算直线距离。
我没有发布任何样本数据,因为它只是一个纬度和经度坐标的两列数据框。
感谢您提供的任何帮助!如果这个网站或其他地方有易于理解的解释,请指引我!我找不到任何信息。
干杯
问题:
我从标记数据中获得了纬度/经度坐标,并希望将它们转换为极坐标(指跳跃大小和角度:http://en.wikipedia.org/wiki/Polar_coordinate_system),以便我可以将它们随机排列或自助重采样(还没有决定),约1,000次,并计算每个模拟轨迹的直线距离从起点开始。我有一个真实轨迹,并且我有兴趣确定这种动物是否表现出网站亲和性,通过模拟具有相同跳跃大小和转向角度但完全不同的顺序和组合的1,000个随机轨迹来进行比较。因此,我需要从原点获取1,000条直线距离来创建距离分布,然后将其与我的真实数据集的直线距离进行比较。
我擅长启动引导,但卡在第一步,即将笛卡尔纬度/经度坐标转换为极坐标(跳跃大小和旋转角度)。我知道其他程序(比如Matlab)中有内置函数可以做到这一点,但我找不到在 R 中实现的方法。我可以手动使用for循环完成,但如果有包或更简单的方法可用,我更喜欢使用它。
理想情况下,我希望将数据转换为极坐标,运行模拟,然后针对每个随机轨迹输出一个端点作为笛卡尔坐标、纬度/经度,以便我可以计算直线距离。
我没有发布任何样本数据,因为它只是一个纬度和经度坐标的两列数据框。
感谢您提供的任何帮助!如果这个网站或其他地方有易于理解的解释,请指引我!我找不到任何信息。
干杯
cart2pol
函数吗? - Nishanthcircular
包可能会引起您的兴趣:http://cran.r-project.org/web/packages/circular/circular.pdf - Ricardo Saportar= sqrt(x^2+y^2)
?(如果你不知道反向转换,只需查看维基百科或任何坐标几何文本即可?) - IRTFMr= sqrt( (x-x0)^2+(y-y0)^2)
... 结果应该与旋转无关。但如果问题实际上是关于“地球表面上”的距离,那么它将因纬度而异,因为纬度/经度通常不是“笛卡尔坐标系”。如果这些数据都在一小范围的纬度内收集,则可以在进行计算之前对所有经度值应用简单的余弦校正因子。 - IRTFM