私は、地理的領域の緯度と経度の四角形メッシュを持っています。しかし、私はこのメッシュの4隅の緯度と経度の値しか知っていません。これらを使って、すべての十字線でlat-long値を計算する必要があります。そこで、緯度と経度のネストされたループプログラムをRに追加しました。目的の結果をエクスポートできません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()
左上メッシュ正方形の緯度の値です。
ループが最初にすべての緯度、長い値を計算することがわかります。次に、2番目の行に移動し、次に3番目に移動します。しかし、私は両方のプログラムのためにエクスポートされたテキストファイルを取得すると、私はすべての値を含む単一の列を取得します。これは私にとって大したものではありません。 xlsx形式のシンク(「output_long.xlsx」)のRの出力結果をエクスポートしようとしましたが、Excelファイルを取得したとき(4-5時間のループの一定時間が経過した後)、開くことができません。エラーメッセージには、ファイルが破損しているか、ファイルの形式が異なるかのいずれかが表示されます。私はこれを3〜4回試みましたが無駄でした。
どのようにしてこれらの2つのプログラムの結果をExcelファイルにエクスポートすれば、すべての値が1つの列ではなく適切な行列形式になります(つまり、各セルのlat、longの値は対応しますメッシュの対応する十字線のlong、latの値まで)。
また、同じファイル内で1回の実行でlat-long値を取得できるように、これらの2つのプログラムを一緒に実行する方法を教えてもらえればいいです。
シンクは、Excelファイルではなくテキストファイルを作成します。また、ループは必要ありません。私のような何か - <0:10; j < - 0:10; res.-expand.grid(startx-cumsum(i)* dx、starty-cumsum(j)* dy)が動作するはずで、write.csvを使用して結果をエクスポートすることができます。 – Roland