地理的なポリゴンをプロットすることは R の強みではありませんが、うまくやれば非常にやりがいがあります。私は英国からのデータを使用していますが、ポリゴンの境界線の詳細が途方もなく高く、プロットまたは操作機能が遅くなります (特に、強化を実行して ggplot 対応にした後)。
論理的なアプローチは、ポリゴン ジオメトリを単純化して、複雑さを軽減することです。
この投稿に従って、Douglas-Peucker アルゴリズムを実装して R でこれを実行しましたが、非常に遅かったです。このデータセット(イングランドの地域) に適用すると、16 Gb の RAM を搭載した Intel® Core™ i7-3630QM マシンで次のコードを実行するのに約 10 分かかりました。
for(i in 1:length(gors@polygons)){
for(j in 1:length(gors@polygons[[i]]@Polygons)){
temp <- as.data.frame(gors@polygons[[i]]@Polygons[[j]]@coords)
names(temp) <- c("x", "y")
temp2 <- dp(temp, 0.01)
gors@polygons[[i]]@Polygons[[j]]@coords <- as.matrix(cbind(temp2$x, temp2$y))
}QGIS
}
QGISでは、同じ機能に約 1 秒かかりました。もちろん、将来的には QGIS の実装を使用することになるでしょうが、R の実装には非常に長い時間がかかることに戸惑いました。より高速にする方法や、より効率的な方法でアルゴリズムを実装する方法についてのアイデアは大歓迎です。