我想我的地理座標從度到小數轉換,我的數據如下:轉換地理距離度座標轉換爲十進制
lat long
105252 30°25.264 9°01.331
105253 30°39.237 8°10.811
105255 31°37.760 8°06.040
105258 31°41.190 8°06.557
105259 31°41.229 8°06.622
105260 31°38.891 8°06.281
我有這樣的代碼,但我不明白爲什麼它不工作:
convert<-function(coord){
tmp1=strsplit(coord,"°")
tmp2=strsplit(tmp1[[1]][2],"\\.")
dec=c(as.numeric(tmp1[[1]][1]),as.numeric(tmp2[[1]]))
return(dec[1]+dec[2]/60+dec[3]/3600)
}
don_convert=don1
for(i in 1:nrow(don1)){don_convert[i,2]=convert(as.character(don1[i,2])); don_convert[i,3]=convert(as.character(don1[i,3]))}
轉換函數的工作原理,但我要求循環爲我做這項工作的代碼不起作用。
任何建議都可以解決。
它看起來像轉換功能期望度,分鐘和秒,但你的輸入似乎有度和浮點分鐘,沒有秒字段。它看起來並不像正確處理負值。但不確定這些問題是否與您的問題有關。 –