【问题标题】:Cropping plot from shapefile从 shapefile 裁剪图
【发布时间】:2015-05-22 01:45:16
【问题描述】:

我正在尝试使用 Eurostat 提供的 shapefile 和数据制作 Choroplete 地图。 shapefile 已下载here:使用来自this post 的 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() 从图形设备获取坐标,但插入这些值并没有提供想要的结果。

【问题讨论】:

    标签: r spatial


    【解决方案1】:

    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 中几何数据的地理坐标系。为该坐标系尝试xlimylim 的适当坐标:

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

    【讨论】:

    • 太棒了!非常感谢。这样就可以了。
    猜你喜欢
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2021-09-26
    • 1970-01-01
    • 2018-09-15
    • 2020-08-05
    • 2016-08-14
    相关资源
    最近更新 更多