シェイプファイル(.shpとそれに関連するファイルはhereです)を、ロング[80,90]とラット[20,30]の間の座標セットで区切られた別のものにサブセット化して、これを書きたいとします別のシェイプファイルとして。私はmaptools
パッケージを使用する場合:R/GIS:シェープファイルを緯線のバウンディングボックスでサブセット化する方法は?
df = readShapeLines("/path/asia_rivers.shp")
をし、その後as.data.frame(df)
とファイルの構造を見て、私は座標によってサブセットの任意の明白な方法を見つけることができません。
df = importShapefile("/path/asia_rivers.shp")
df_sub = subset(df, X>=80 & X<=90 & Y >=20 & Y <=30)
をその後私はmaptools
にwriteSpatialShape()
経由でエクスポートすることができデータフレームにこれを強制することができるように見えることはできません:私はサブセット化PBSmapping
パッケージを使用することができます。私はこのエラーが発生し続ける:Error in PolySet2SpatialLines(df_sub) : unknown coordinate reference system
。確かに私は何か非常に基本的なものを見逃していますし、地理座標によって地理データをサブセット化する簡単な方法があるはずですか?
問題はプロットではなく、サブセットにシェープファイルとしてエクスポートできる形式ではありません。 – user702432
シェイプファイルを読み込み、gIntersectionを使用して適切なバウンディングボックスと交差させてから、エクスポートしてみましたか? maptools :: writeShapeLinesでどうですか?私は、あなたが提供した形状ファイルが有効でないので、線がダミーデータでトリミングされていることを示すためにプロットしただけです(シェイプファイルは単なる* .shpファイル以外で構成されています; http://en.wikipedia.org/ wiki /シェイプファイル)。 – johannes
こんにちはjmsigner ...申し訳ありませんが、私の悪い。元の.dbf、.lyr、.prj、.sbn、.sbx、.shp、および.shxファイルを含むzipフォルダへのリンクを変更しました。ありがとう。 – user702432