2013-11-01 42 views
0

我有許多與空間點相關的生態變量的數據。每個點具有相對於邊界框的y座標,但是這些點代表不同直徑的圓形區域。我想要實現的是將每個點佔據的區域投影到觀察窗上,以便隨後對區域進行像素化並檢索每個點與每個像素(網格單元格)的區域的重疊程度。在過去,通過轉換爲psp線對象,然後使用spatstat包中的像素化函數,我可以通過橫斷面數據實現這一點,但我不確定如何處理這些圓形區域。這感覺就像我應該使用多邊形類,但我不確定如何定義它們。任何建議將不勝感激。使用點座標和直徑來計算點的面積投影

+0

這看起來像是一個更爲普遍的問題,並非R所特有的。您可以構建網格,並且對於網格中的每個點計算該點是否位於任何圓圈內(小於徑向距離)。或者,您也可以嘗試在網格上進行模擬。 –

+1

我建議使用由** sp **和** raster **包實現的空間數據類型。然後,您可以使用(類似於)rgeos :: gBuffer()來創建每個點周圍所需半徑的圓形「SpatialPolygons」(理想情況下存儲爲帶有附加屬性數據的「SpatialPolygonsDataFrame」),「raster :: rasterize( )'將SPDF轉換爲在現有光柵上註冊的光柵,並使用'raster :: crosstab()'或'raster :: zonal()'來提取有關重疊區域的信息。 (如果你包含一個最小可重現的例子,我可能已經告訴你如何做到這一點;) –

+0

謝謝,R是我通常使用的,所以我理想地尋找r解決方案。我已經想到了一些更「手動」的方法,但我希望通過利用許多r軟件包的空間功能來避免這種情況。只是無法弄清楚第一步。 –

回答

0

spatstat包,該函數discs將採取的位置(X,Y)和半徑R(或直徑,面積等)和生成圓的任一多邊形或像素掩碼錶示,並返回它們既可以作爲單獨的對象或者作爲單個組合對象。

相關問題