0

ポリゴンを含む領域を含むシェープファイルがあり、次のように PlotOnStaticMap を正常に使用できます。

#Map <- GetMap.bbox(bb$  #Just to show I read "Map" here
shp_0 <- rgdal::readOGR(dsn="dir", layer="TheLayer")
shp_1 <- shp_0@polygons[[i1]]  # where i1=the region I'm looking at
shp_2 <- shp_1@Polygons[[i2]]  # where i2=the polygon I want to plot
tbl_coords_i2 <- data.frame(shp_2@coords)
tbl_coords_i2$color <- colors()[33]  # red
tmp <- PlotOnStaticMap(lat=tbl_coords_i2$X2, lon=tbl_coords_i2$X1, cex=0.5, pch=15, col=tbl_coords_i2$color, MyMap=Map, add=FALSE, NEWMAP=FALSE, FUN=points)

しかし、私が本当に欲しいのは、次のように赤で塗りつぶされた領域をプロットすることです:

tmp <- PlotPolysOnStaticMap(polys=shp_2, col=colors()[33], MyMap=Map, border = NULL, lwd=0.25, add=FALSE, NEWMAP=FALSE)

しかし、それはエラー「polys [、 "Y"]のエラー:タイプ 'S4'のオブジェクトはサブセット化できません」を返します。代わりにこれをどのように行う必要がありますか?

  • shp_0 は「SpatialPolygonsDataframe」です
  • shp_1 は「ポリゴン」です
  • shp_2 は「ポリゴン」です

再現可能なコードを提供していないことをお詫び申し上げます。

どうもありがとうございました。

/クリス

更新: PlotPolysOnStaticMap(shp) の「shp」は、列「X」と「Y」を持つデータフレームである必要があることに気付きました。つまり、以前に想定したシェープファイルではありません。

更新 2:「border=NA」を使用しても、赤いポリゴンと黒い境界線が表示されます。国境をなくす方法を知っている人はいますか?

4

1 に答える 1

1

他の人の利益のために、私が見つけた回避策をここに提示します。「PlotPolysOnMap」を印刷し、それを自分の関数「PlotPolysOnMap2」に貼り付けました。次に、新しい関数 (共有されていない) で、border=NA を手動で設定しました (border=border でした)。次に、ポリゴンは周囲に線なしでプロットされました。この「醜い修正」は、おそらく私より熟練したプログラマーを動揺させるでしょうが、今日は終わらせる必要がありました...

/クリス

于 2012-02-27T20:44:49.377 に答える