Операция между 2 столбцами (значения градусов)
В R I не могу найти способ расчета в градусах для Аспекта.
У меня есть шейп-файл с 2 столбцами для аспекта. Первый столбец ASPECT
соответствуют новому аспекту точки и второго столбца Aspect
это ссылочный аспект. Я хотел бы сохранить только значения, которые не больше или меньше 45° вокруг значения в ASPECT
колонка. Я хочу сделать этот расчет для каждого значения.
Мои данные выглядят так:
ID ASPECT Aspect
0 17.15395 223.9521
1 323.72394 225.1147
2 294.01069 225.7785
3 302.72811 226.4539
4 321.79413 227.1748
5 326.36743 227.9040
Я думал о том, чтобы сделать разницу между ASPECT
а также Aspect
для того, чтобы отфильтровать все значения, которые не подходят. Проблема в том, что, как и в градусах, у меня иногда есть различия до 359, что на самом деле составляет всего несколько градусов.
gr73999<-readOGR(dsn=wd, layer="73366_CORRPOINTS")
gr<-as.data.frame(gr73999)
gr_df<- gr[,c("ID","ASPECT","Aspect")]
gr_df$degree_diff<- gr_df$Aspect-gr_df$ASPECT
ID ASPECT Aspect Difference_aspect
0 17.15395 223.9521 -206.79816
1 323.72394 225.1147 98.60924
2 294.01069 225.7785 68.23220
3 302.72811 226.4539 76.27422
4 321.79413 227.1748 94.61931
5 326.36743 227.9040 98.46343
min(gr_df$degree_diff)
-359.0588
max(gr_df$degree_diff)
358.2314
Мой вопрос: как я могу сделать все мои вычисления в градусах? Можно ли иметь -30 вместо 330, если Aspect
это 340 и ASPECT
это 10?
1 ответ
Я думаю, что это делает то, что вы ищете. Он всегда даст ответ в диапазоне от -180 до +180.
gr_df$degree_diff <- ((gr_df$Aspect-gr_df$ASPECT+180) %% 360) - 180