5

私は 1 つの属性 (便宜上 z と呼びましょう) と緯度/経度座標を持つ SpatialPointsDataFrame を持っています。

これを XYZ ファイル (つまり、3 列の ASCII ファイル) に書き出したいと考えています。

最初に私が試した

write.table(spdf, filename, row.names=FALSE)

ただし、これは最初に z 値を書き込み、次に座標を各行に書き込みました。つまり、XYZ 形式ではなく、ZXY 形式でした。おそらく大したことではありませんが、ファイルを使用する必要がある他の人にとっては迷惑です。

現在、私はこれを行うのに非常に恐ろしいボッジのように感じられるものを使用しています (以下を参照) が、私の質問は、列を正しい順序で XYZ として SPDF を書き出すための適切で簡単な方法はありますか? 簡単にできるはずです!

アドバイスをありがとう。

ボッジ:

dfOutput <- data.frame(x = coordinates(spdf)[,1], y = coordinates(spdf)[,2])
dfOutput$z <- data.frame(spdf)[,1]
write.table(dfOutput, filename, row.names=FALSE)
4

3 に答える 3

4

なぜだけではないのですか

library(sp)
spdf <- SpatialPointsDataFrame(coords=matrix(rnorm(30), ncol = 2), 
                               data=data.frame(z = rnorm(15)))


write.csv(cbind(coordinates(spdf), spdf@data), file = "example.csv", 
          row.names = FALSE)
于 2014-02-15T18:20:58.060 に答える
2

writeOGRfromrgdalパッケージを使用して .shp ファイルに書き込むことができます。または、fortify(からggplot2) データを取得し、それを csv ファイルとして書き込むこともできます。

于 2013-06-27T11:34:57.193 に答える