2017-07-21 57 views
1

私は、フォーマットがrdsのマップデータを持っています。今私はshp形式を求める別のソフトウェアでこのデータを使用したいと思います。 rds形式のデータをRのshp形式に変換する方法それはタイプ「シングルオブジェクトの直列化インタフェース」のR固有のバイナリファイルとして保存された空間オブジェクトがある場合rds形式のデータをR形式のshp形式に変換するには?

答えて

2

library(rgdal) 
library(sp) 

x <- readRDS("path/to/the/rds_file.rds") 

とを使用してファイルを読み込み、おそらくsaveRDS()によっていくつかの時点で作成された(?readRDSを参照してください)次いでそれを書く:

rgdal::writeOGR(x, "path/to/destination", "filename", driver = "ESRI Shapefile") 

は、あなたの出力ファイル名の末尾に「.SHP」を入れてないください。

でない場合は、宛先フォルダの末尾に/を置くようにしてください。エラー

Error: inherits(obj, "Spatial") is not TRUE

はあなたがwriteOGR関数の最初の引数としてxを忘れてしまった可能性がある場合にはそうしないと、エラー

Creation of output file failed

に直面するかもしれません。

+0

私が正常にRDSファイルを読むが、私は、出力コードを実行すると、エラーがあります:(OBJ、「空間」)を継承しますがTRUEではありません。どうして? –

+0

オブジェクトを(私の例では 'x')' writeOGR'関数に入れるのを忘れたのでしょう。また、必要なライブラリのための私の編集を参照してください。 – loki

+0

私は2つのパッケージをインストールし、xをコードに入れました: '>ライブラリ(rgdal)>ライブラリ(sp)> a = readRDS(' D:/data/chinamap/chinamap.rds ')> rgdal :: writeOGR(a 、 "D:/ data/chinamap /"、 "china"、driver = "ESRI Shapefile") 'というエラーが表示されます。私は非常に混乱しています。 –

関連する問題