私は、Rパッケージラスタを使用してwww.GADM.orgから世界地図データセットをインポートしました。マップのサイズを小さくするために作成したポリゴンにクリップしたいと思います。私はデータを取得することができ、問題なくポリゴンを作成できますが、 'gIntersection'コマンドを使用するとわかりにくいエラーメッセージが表示されます。RのポリゴンでWorldMapをクリップする方法は?
私のワールドマップデータセットをクリップする方法に関する提案はありますか?
library(raster)
library(rgeos)
## Download Map of the World ##
WorldMap <- getData('countries')
## Create the clipping polygon
clip.extent <- as(extent(-20, 40, 30, 72), "SpatialPolygons")
proj4string(clip.extent) <- CRS(proj4string(WorldMap))
## Clip the map
EuropeMap <- gIntersection(WorldMap, clip.extent, byid = TRUE)
エラーメッセージ:少しの中間ステップに関する
Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, "rgeos_intersection") :
Geometry collections may not contain other geometry collections
In addition: Warning message:
In RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, "rgeos_intersection") :
spgeom1 and spgeom2 have different proj4 strings
これは素晴らしいことです!私はまだ部分集合がなぜ機能するのか分かりません。私はポリゴンのグリッドとポリゴンの交点にあります(基本的にグリッドを境界線にクリッピングします)。 - セルのサイズが十分大きい場合は、サブセットは必要ありませんが、セルが小さい場合はエラーが発生します。 gIntersection(グリッド、ポリ、byid = TRUE)、ポリ、byid = TRUE)はなぜ 'gIntersection(グリッド、ポリ、byid = TRUE)'で動作しないのですか? – MichaelChirico