2012-04-18 6 views
3

rgdalパッケージのreadOGRを使用してシェイプファイルで読み込んで作成したSpatialPolygonsDataFrameがあります。私は、パッケージ内のspsampleを使用してサンプリンググリッドを生成するためにそれを使用しようとしていますが、このエリアで収集された測量データからの補間に使用されます。ただし、SpatialPointsDataFrameは調査よりもはるかに広い範囲を包含し、その結果、補間は、調査が行われた場所から遠く離れた値を予測しています。調査データと形状ファイルは、両方とも同じproj4stringを使用して投影されました。サブセットSpatialPolygonsDataFrame

測量ステーションで設定された座標を使用してSpatialPolygonsDataFrameのサブセットを作成したいと思いますが、オブジェクトに関連する値がどこに格納されているかわかりません。

シェイプファイルがオンラインでホストされていないため、関連するデータを提供することができません。しかし、私は、オランダのために、このpostにポールHiemstraの応答からいくつかのコードを借ります:私はその領域を切り抜くことができますどのように

bbox(surveys) 
    >   min  max 
    >r1  4.000 7.000 
    >r2 51.000 53.000 

library(ggplot2) 
library(sp) 
library(automap) 
library(rgdal) 

#get the spatial data for the Netherlands 
con <- url("http://gadm.org/data/rda/NLD_adm0.RData") 
print(load(con)) 
close(con) 

class(gadm) 
bbox(gadm) 
>   min  max 
>r1 3.360782 7.29271 
>r2 50.755165 53.55458 

はのは、調査はこの領域で行われたとしましょうのSpatialPolygonsDataFrame?


編集:このquestionは私の答えです。十分な検索をしなかったことに対する謝罪(コメントでは、どこでrgeosを使うのか分かります)。しかし、gIntersectionクラッシュするRを引き起こし...

+0

ような何かを行うことができポリゴンの大きさによっては短い答えは、おそらく「パッケージ:rgeos」です。申し訳ありませんが、今私は長い答えの時間がありません。したがって、唯一のコメントです... – Spacedman

+1

パッケージr.gos内のgIntersection()関数を見てください – Sophia

+0

私の曖昧な思い出は、空間パッケージの1つが一致するポリゴンの論理値を返すオーバーレイ関数を持っているということです。 taRifx :: subsetSPDFを使用して、それらのポリゴンだけを取得できます。 –

答えて

0

あなたは

range = cbind(c(4,7), c(51,53)) 
centroids <- coordinates(spdf) 

spdf.subset <- spdf[centroids[,1] > range[1,1] & 
        centroids[,1] < range[2,1] & 
        centroids[,2] > range[1,2] & 
        centroids[,2] < range[2,2],] 
関連する問題