2列之间的操作(度值)
Operation between 2 columns (degree values)
在 R 中,我找不到以度数计算坡度的方法。
我有一个包含 2 列纵横比的 shapefile。第一列 ASPECT
对应点的新方面,第二列 Aspect
是参考方面。我只想保留 ASPECT
列中值周围不大于或小于 45° 的值。我想为每个值做这个计算。
我的数据是这样的:
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
我的问题是:我怎样才能以度为单位进行所有计算?如果 Aspect
是 340 并且 ASPECT
是 10,是否可以使用 -30 而不是 330?
我认为这符合您的要求。它总是会给出 -180 和 +180 之间的答案。
gr_df$degree_diff <- ((gr_df$Aspect-gr_df$ASPECT+180) %% 360) - 180
在 R 中,我找不到以度数计算坡度的方法。
我有一个包含 2 列纵横比的 shapefile。第一列 ASPECT
对应点的新方面,第二列 Aspect
是参考方面。我只想保留 ASPECT
列中值周围不大于或小于 45° 的值。我想为每个值做这个计算。
我的数据是这样的:
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
我的问题是:我怎样才能以度为单位进行所有计算?如果 Aspect
是 340 并且 ASPECT
是 10,是否可以使用 -30 而不是 330?
我认为这符合您的要求。它总是会给出 -180 和 +180 之间的答案。
gr_df$degree_diff <- ((gr_df$Aspect-gr_df$ASPECT+180) %% 360) - 180