2012-06-17 11 views
5

私は非常に言葉を前にした質問を(削除して)言い換える必要があると思います。別の試みがあります。隣接する地域に参加して共通の国境が消え、外線だけが見えるようにしたい。ここで隣接領域をR(集約空間データ)で結合しますか?

は再現例です:

require(shapefiles) 
require(sp) 

xx <- readShapeSpatial(system.file("shapes/sids.shp", package="maptools")[1], 
        IDvar="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66")) 

# show all the subregions 
plot(xx) 

enter image description here

今度は、私はこれらの領域を集約することができますどのように3と5

plot(xx[c(3,5),]) 

領域のみの領域を考えてみましょう。実際に私がしたいのは、大陸全体の地図をすべての国に表示し、北米と南米を示す地図を作成することです。

これはかなり一般的な作業のように見えますが、これまでのところ正しい機能を見つけることができません。機能が不足しているのですか、それとも手動で行うことはできますか?

enter image description here

+2

'maptools'パッケージの' unionSpatialPolygons() 'を使います:http:// /gis.stackexchange.com/questions/21360/merging-2-polygon-adjacent-to-each-other-using-r –

+0

私はあなたの質問がRで言うことを知っていますが、空間操作ライブラリの優位性はpostgres/postgisです。 PostgresにRストアドプロシージャを書くこともできます。http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgresql_plr_tut01を参照してください。つまり、PostgisとRの統計から空間インデックスと関数の利点を得ることができます。ポストグルに同梱されているshp to postgres import関数も同様です。 –

答えて

9

rgeosパッケージがこの場合に使用することができるSpatial*データを処理するための優れたツールの数を提供します。例えば

library(rgeos) 
regionOfInterest <- gUnion(xx[3,], xx[5,]) 

これも同様の結果を有し、複数のポリゴンのために、より有用であり得る:

regionOfInterest <- gUnionCascaded(xx[c(3,5), ]) 

plot(regionOfInterest)から結果:

enter image description here

関連する問題