9

世界の陸域エコリージョン用にworldwildlife.orgからダウンロードしたシェープファイルがあります。ファイルはここにロードできます:http ://worldwildlife.org/publications/terrestrial-ecoregions-of-the-world 。

これは標準のシェープファイルとして提供されており、2つのことを実行したいと思います。まず、ローカルディレクトリからシェープファイルを取得し、北米東部の範囲にクリップします(ext =範囲(-95、-50、24、63))

# Read shapefile using package "maptools"
eco_shp <- readShapeLines("F:/01_2013/Ecoregions/Global/wwf_terr_ecos.shp", 
                          proj4string=CRS("+proj=utm +zone=33 +datum=WGS84")) 


# Set the desired extent for the final raster using package "raster" 
ext <- extent(-95, -50, 24, 63)

パッケージ「raster」でrasterize関数を使用する必要があると確信していますが、それでも正しく機能させることができません。これを行う方法についての提案をいただければ幸いです。

4

1 に答える 1

14

空間ラスターデータには(ラスター空間クラスrasterではなく)使用する必要があると考えるのは正しいことです。また、空間ベクトルデータの読み取り、書き込み、およびその他の操作には、(ではなく)をsp使用する必要があります。rgdalmaptools

これで始められるはずです:

library(rgdal)
library(raster)

## Read in the ecoregion shapefile (located in R's current working directory)
teow <- readOGR(dsn = "official_teow/official", layer = "wwf_terr_ecos")

## Set up a raster "template" to use in rasterize()
ext <-  extent (-95, -50, 24, 63)
xy <- abs(apply(as.matrix(bbox(ext)), 1, diff))
n <- 5
r <- raster(ext, ncol=xy[1]*n, nrow=xy[2]*n)

## Rasterize the shapefile
rr <-rasterize(teow, r)

## A couple of outputs
writeRaster(rr, "teow.asc")
plot(rr)

ここに画像の説明を入力してください

于 2013-02-21T00:25:20.910 に答える