gpt4 book ai didi

r - ggplot2:组合来自两个不同地理数据集的形状文件

转载 作者:行者123 更新时间:2023-12-02 00:38:25 26 4
gpt4 key购买 nike

我正在尝试在 ggplot 中绘制一些与英国和爱尔兰相关的地理位置数据。运行以下代码,我可以成功映射 this tab-separated file 中的一些值到 GBR shapefile 数据中发现 here (国家=英国):

library(rgdal)
library(ggplot2)
library(rgeos)
library(plyr)

#this data comes from http://www.gadm.org/country (download the Great Britain data set, and set path to the downloaded data's topmost directory)
shape.dir <- "C:\\Users\\Douglas\\Desktop\\estc_clean_analysis\\geoanalysis\\GBR_adm"

#the first parameter we pass to readOGR species the location of the shapefile we want to read in; layer indicates which shapefile in that dir we want to read in. Data via UK shapefile from http://www.gadm.org/country
uk.shp <- readOGR(shape.dir, layer = "GBR_adm2")

#read in csv with values by county
small_geo_data <- read.csv(file = "small_geo_sample.txt", header=TRUE, sep="\t", na.string=0, strip.white=TRUE)

#fortify prepares the data for ggplot
uk.df <- fortify(uk.shp, region = "ID_2") # convert to data frame for ggplot

#now combine the values by id values in both dataframes
combined.df <- join(small_geo_data, uk.df, by="id")

#now build plot up layer by layer
ggp <- ggplot(data=combined.df, aes(x=long, y=lat, group=group))
ggp <- ggp + geom_polygon(aes(fill=value)) # draw polygons
ggp <- ggp + geom_path(color="grey", linestyle=2) # draw boundaries
ggp <- ggp + coord_equal()
ggp <- ggp + scale_fill_gradient(low = "#ffffcc", high = "#ff4444",
space = "Lab", na.value = "grey50",
guide = "colourbar")
ggp <- ggp + labs(title="Plotting Values in Great Britain")
# render the map
print(ggp)

运行该代码会产生:enter image description here

我现在想做的是将有关爱尔兰的数据添加到我的图中。我从 same site 下载了“IRL”形状文件它提供了 GBR shapefile,但后来我遇到了一系列障碍。我尝试过组合 IRL_adm1.csvGBR_adm2.csv (重命名前者中的 id 值以避免冲突),但还没有任何效果。在破解剩下的解决方案之前,我想我应该停下来并在 SO 上发布以下问题:是否有一种相当简单的方法将 GBR 和 IRL 文件组合在一个图中?我将非常感谢其他人就这个问题提出的任何想法或建议。

最佳答案

如果您的英国和爱尔兰形状文件使用相同的投影/CRS,您可以将两个图层添加到绘图中,而无需像这样加入它们:

ggplot() +
geom_polygon(data = gbrshapefortified, aes(long, lat, group = group)) +
geom_polygon(data = irlshapefortified, aes(long, lat, group = group)) +
coord_equal()

即如果您只是绘制图层并且您绘制的主题值彼此不依赖,则不需要将它们组合起来。

关于r - ggplot2:组合来自两个不同地理数据集的形状文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27198540/

26 4 0
文章推荐: VHDL-测试台-泛型
文章推荐: python - 在后台运行命令
文章推荐: java - java 中的 Long 拆箱
文章推荐: Java 扫雷 GUI
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com