3

我正在尝试使用 Eurostat 提供的 shapefile 和数据生成 Choroplete 地图。shapefile 已在此处下载:使用此帖子中的 JD Longs 代码。

这是重现我在下面发布的图的最少代码。

library(maptools)
tmpdir <- tempdir()
url <- 'http://ec.europa.eu/eurostat/cache/GISCO/geodatafiles/NUTS_2010_03M_SH.zip'
file <- basename(url)
download.file(url, file)
unzip(file, exdir = tmpdir )
shapeFile <- paste(tmpdir,"/Shape/data/NUTS_RG_03M_2010", sep="")

EU <- readShapeSpatial(shapeFile)
plot(EU)

我的问题是我希望情节区域只关注欧洲,但由于海外地区(法国和西班牙),情节没有正确的重点。在上面的例子中,有没有一种简单的方法来“裁剪”绘图区域?

我想摆脱的多边形是“Country_Shape”的一部分,因此无法过滤掉它们。我试图通过在 plot 命令中定义 xlim 和 ylim 参数来实现我的目标,但没有成功。我使用 locator() 从图形设备获取坐标,但插入这些值并没有提供想要的结果。

最小的例子

4

1 回答 1

6

shapefile 投影文件 (Shape/data/NUTS_RG_03M_2010.prj) 显示如下:

GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]

.prj 文件中包含的信息指定了 Shapefile 中几何数据的地理坐标系。为这个坐标系xlim尝试适当的坐标:ylim

R> plot(EU, ylim=c(30, 70), xlim=c(-10, 44))
R> box()

绘图示例

于 2012-10-10T14:09:28.587 回答