У меня есть данные разреза с широтой, долготой и типами субстрата.Ниже я приведу сценарий, который создает гипотетические данные с 3 типами субстрата вдоль прямого разреза, начиная с долготы -24,5 и заканчивая -23,2.В пределах этого трансекта существует 3 типа субстрата (a, b и c), но тип субстрата "a" встречается 4 раза, а тип субстрата "b" - дважды.Я хотел бы рассчитать общую длину (в метрах) каждого сегмента субстрата типа "a", "b" и "c" в разрезе.В качестве примера, сегмент подложки «a» заканчивается в положении первого наблюдения типа подложки «b», а сегмент подложки c заканчивается там, где начинается четвертый сегмент «a» типа подложки.Я бы хотел, чтобы длина.Я изучил пакеты sp и Rdistance, но я действительно застрял.С благодарностью заранее.
гипотетический пример : каждое поле обозначает каждый сегмент, для которого я хотел бы рассчитать длину
Alon<-c(-23.20, -23.30,-23.40,-24.10,-24.15, -23.95, -23.70, -23.60,- 24.20, -24.25)
Blon<-c(-23.80, -23.85, -24.00, -24.03, -24.06)
Clon<-c(-23.47, -23.50,-23.55)
Alat<-c(64,64,64,64,64, 64, 64, 64,64, 64)
Blat<-c(64,64, 64, 64,64)
Clat<-c(64,64, 64)
A<-as.data.frame(cbind(Alon, Alat))
B<-as.data.frame(cbind(Blon, Blat))
C<-as.data.frame(cbind(Clon, Clat))
plot(A$Alon, A$Alat, pch=97)
points(B$Blon, B$Blat, col="red", pch=98)
points(C$Clon, C$Clat, col="blue", pch=99)
A$ID<-seq.int(nrow(A))
A[,3]<-"A"
B$ID<-seq.int(nrow(B))
B[,3]<-"B"
C$ID<-seq.int(nrow(C))
C[,3]<-"C"
colnames(A)<-c("lon", "lat", "ID")
colnames(B)<-c("lon", "lat", "ID")
colnames(C)<-c("lon", "lat", "ID")
A<-as.data.frame(A)
B<-as.data.frame(B)
C<-as.data.frame(C)
pos<- rbind(A,B,C)
pos<-pos[,c("ID","lon","lat")]