15

.shp(esriシェープファイル)をRに読み込むのに問題があります。Rでいくつかのオプションを試し、ArcMapのシェープファイルをシェープファイルを正しく読み込むものに変換しようとしましたが、まだ何も機能しません。(ArcMapで、ジオメトリを修正し、シングルからマルチポリゴンに変換したなど、おそらく必要ではないか、関連性がありませんでした)

おそらく、私のシェープファイルに「ポリゴン」ではなく「リージョン」(マルチポリゴン)が含まれているという事実と関係があります...

プロットするために、Rでそのタイプのシェープファイルを正しく読み取るにはどうすればよいですか?(ArcMapでは通常の形状のように見えます)

ArcMapでは、シェープファイルは次のようになります。http: //bfast.r-forge.r-project.org/arcmapshape.jpg

(他のポリゴン内にポリゴンを含むシェープファイルを表示します)

Rでは次のようになります。 ここに画像の説明を入力してください

(一部のポリゴンが誤って塗りつぶされているシェープファイルを示しています)

Rで次のコードを使用しました。

require(maptools)
require(rgdal)

newproj <- "+proj=utm +zone=55 +south +ellps=GRS80 +units=m"
shape<- readShapeSpatial(pdir, proj4string = CRS(newproj),repair=TRUE,force_ring=T,verbose=TRUE) # without any errors
plot(shape, col="gray",border="blue", axes=TRUE)

# via rgdal
folder <- c("spatial")
lyr <- c("clipped_forest_mga")
shp <- readOGR(dsn=folder,layer=lyr)
plot(shp, col="gray",border="blue", axes=TRUE)

両方のplot()コマンドは、同じR結果を返します。エラーは発生しません。次のメッセージのみ

OGR data source with driver: ESRI Shapefile 
Source: "P:/Victoria_DSE/BFAST_spatial/vector/PLM_excl_fire03_09_GDA94LL/mgaz94z55/clipped_EG", layer: "clipped_forest_mga"
with 1 features and 4 fields
Feature type: wkbMultiPolygon with 2 dimensions

これはどのように解決できますか?

4

1 に答える 1

11

1月、

シェープファイルはおそらく正しく読み取られています。プロットが正しくなかった可能性が高くなります。plot()の代わりにspplot()を試してください:

spplot(shp, col.regions="gray", col="blue")

シェープファイルに複数の列がある場合(可能性が高い)、zcol = 1(または他の列)を追加して、パネルが1つだけになるようにします。

spplot(shp, zcol=1, col.regions="gray", col="blue")

本当にプロットを使用したい場合は、背景の色を設定する必要があります。そうしないと、穴が透明に印刷されます。したがって、pbg="white"を設定します。試す:

plot(shp, col="gray", border="blue", axes=TRUE, pbg="white")

ちなみに、Dirkが参照していたと思うリストはR-sig-Geoで、そこには多くの答えがあり、sigに関連する多くの質問をすることができます。

于 2010-01-15T20:54:23.270 に答える