나는 지리적 영역에 대해 위도와 경도의 정사각형 메쉬를 가지고 있습니다. 그러나 나는이 메쉬의 네 모퉁이의 위도와 경도 값만 알고 있습니다. 이들을 사용하여 모든 십자선에서 lat-long 값을 계산해야합니다. 그래서 위도와 경도에 대해 R에 중첩 루프 프로그램을 따로 따로 만들었습니다.원하는 결과를 내보낼 수 없습니다.
tllong<-67.481961
sink("output_long.txt")
for (i in c(1:11447)) {
for (j in c(1:10335)) {
tllong<- 67.481961 + (j-1)*0.0030769
print(tllong)
}
}
sink()
위의 프로그램은 경도를 계산하기위한 프로그램입니다. tllong은 메쉬의 왼쪽 상단 모서리에있는 경도 값입니다. 11447은 위도의 수이고 10335는 경도의 수입니다.
마찬가지로 위도 계산을위한 프로그램을 만들었습니다. tllat
tllat<-36.348639
sink("output_lat_again.txt")
for (i in c(1:11447)) {
for (j in c(1:10335)) {
print(tllat)
}
tllat<- tllat - (i-1)*0.002508
}
sink()
는 왼쪽 상단 메쉬 광장의 위도의 값입니다.
루프가 첫 번째 행에 대한 모든 위도와 긴 값을 계산한다는 것을 알 수 있습니다. 그런 다음 두 번째 행으로 이동 한 다음 세 번째로 이동합니다. 그러나 두 프로그램 모두에 대해 내 보낸 텍스트 파일을 가져올 때 모든 값이 포함 된 단일 열이 표시됩니다. 이것은 나에게별로 쓸모가 없다. 나는 xlsx 형식의 싱크 ("output_long.xlsx")을 사용하여 R의 출력 결과를 내보내려고했지만 엑셀 파일 (4-5 시간의 일정한 루프 실행 후)을 열면 열지 못했습니다. . 오류 메시지는 파일이 손상되었거나 파일의 형식이 다르다는 것을 나타냅니다. 나는 3-4 번 시도했지만 헛된.
그래서이 두 프로그램의 결과를 Excel 파일에 내 보내어 하나의 열에 있지만 적절한 행렬 형식으로 모든 값을 가져 오지는 않습니다 (예 : 각 셀의 long, long 값은 메쉬의 해당 십자선에서 long, lat 값까지).
또한 누군가가이 두 프로그램을 함께 실행하여 동일한 파일에서 한 번의 실행으로 위도 - 경도 값을 얻을 수 있다고 말하면 좋을 것입니다.
싱크는 Excel 파일이 아닌 텍스트 파일을 만듭니다. 또한 루프가 필요하지 않습니다. 나는 0:10; j <- 0:10; res - - expand.grid (startx - cumsum (i) * dx, starty - cumsum (j) * dy)가 작동해야하며, 결과를 write.csv 또는 excel 파일을 만들 수있는 패키지 중 하나를 사용하여 내보낼 수 있습니다. – Roland