在地图周围绘制各州省份,并用德国邮政编码着色

2024-04-02

我正在尝试创建一张地图,在其中按德国邮政编码进行着色,并且我想添加德国各州作为边界。

# for loading our data
library(raster)
library(readr)
library(readxl)
library(sf)
library(dplyr)

# for datasets
library(maps)
library(spData)

# for plotting
library(grid)
library(tmap)
library(viridis)

获取德国的形状文件(link https://opendata-esri-de.opendata.arcgis.com/datasets/5b203df4357844c8a6715d7d411a8341_0/explore?location=51.099785%2C10.454062%2C7.47)。在德国,邮政编码称为 Postleitzahlen (PLZ)。

germany <- read_sf("data/OSM_PLZ.shp")

将 PLZ 分为任意组以进行绘图。

germany <- germany %>% 
  mutate(plz_groups = case_when(
    substr(plz, 1, 1) == "1" ~ "Group A",
    substr(plz, 2, 2) == "2" ~ "Group B",    
    TRUE ~ "Group X" # rest
  ))

由PLZ进行绘图填充:

tm_shape(germany) +
  tm_fill(col = "plz_groups") 

尝试在顶部绘制德国各州(“Bundesland”)的边界:

tm_shape(germany) +
  tm_fill(col = "plz_groups") +
  tm_borders(col = "bundesland")

col2rgb(col, alpha = TRUE) 中的错误:“bundesland”中的 ungültiger Farbname


要在顶部绘制德国各州的边界,您首先必须获得德国各州的形状文件,例如从ESRI https://opendata-esri-de.opendata.arcgis.com/datasets/esri-de-content::bundesl%C3%A4ndergrenzen-2018/explore?location=50.910218%2C10.454033%2C7.00。之后您可以通过添加该形状文件tm_shape并通过绘制边界tm_borders 哪里的col参数用于设置边框线的颜色。来自文档:

对于tm_borders,它是指定边框线颜色的单一颜色值。

library(sf)
library(dplyr)
library(tmap)

germany <- read_sf("Postleitzahlengebiete_-_OSM/OSM_PLZ.shp")

german_states <- read_sf("Bundesl%C3%A4ndergrenzen_2018/Bundesländergrenzen_2018.shp")

germany <- germany %>%
  mutate(plz_groups = case_when(
    substr(plz, 1, 1) == "1" ~ "Group A",
    substr(plz, 2, 2) == "2" ~ "Group B",
    TRUE ~ "Group X" # rest
  ))

tm_shape(germany) +
  tm_fill(col = "plz_groups") +
  tm_shape(german_states) +
  tm_borders(col = "black")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在地图周围绘制各州省份,并用德国邮政编码着色 的相关文章

  • 从 foreach 循环赋值

    我想并行化一个循环 例如 td lt data frame cbind c rep 1 4 2 rep 1 5 rep 1 10 2 names td lt c val id res lt rep NA NROW td for i in l
  • 用圆形雷达数学方法表示点

    我正在编写一个简单的应用程序 它可以向您显示您周围的朋友 但不是在法线地图中 而是在像 UI 这样的真正圆形雷达上 https i stack imgur com Au3IP png https i stack imgur com Au3I
  • 当按多列分组时,如何命名 dplyr 中的 group_split 列表

    我在 dplyr 中使用 group split 在分割了多个列后 我很难命名列表 当我们按一列分组时 我知道该怎么做here https stackoverflow com questions 57107721 how to name t
  • 有条件地将可选组替换为 gsub

    一位用户问我如何做到这一点如何使 ggplot 图例中的选定单词变为斜体 https stackoverflow com questions 76054997 how to italicize select words in a ggplo
  • 将阿拉伯文本分配给 R 变量

    R 无法正确显示阿拉伯文本 当我使用阿拉伯语时 我得到了非常奇怪的东西 这是一个屏幕截图 问题是我想创建一个带有阿拉伯文本的词云 我需要首先解决这个问题 R 版本 R 2 15 2 GUI 1 53 Leopard 版本 64 位 6335
  • ggmap 错误:GeomRasterAnn 是使用不兼容版本的 ggproto 构建的

    我正在使用 ggmap 并收到以下错误 Error GeomRasterAnn was built with an incompatible version of ggproto Please reinstall the package t
  • 使用 Rcpp 得出斐波那契数列的意外结果

    我刚刚开始使用Rcpp很抱歉 如果我错过了一个简单的步骤或类似的东西 我已经尝试过这个 sourceCpp library Rcpp sourceCpp code include
  • 在knitr中打印漂亮的交叉表

    我想要的是使用 R Markdown 和 knit 从 RStudio 打印漂亮的交叉表 无论是在 pdf 文件中 还是在 html 文件中 我怀疑我错过了一些非常明显的东西 因为我不敢相信这是如此困难 我使用 xtabs 或 ftable
  • 完全缺失列的 VaR 计算

    我需要计算股票收益的滚动 VaR 从这篇文章 使用rollapply函数使用R进行VaR计算 https stackoverflow com questions 25045612 using rollapply function for v
  • R 的 dplyr 切片中的奇怪行为

    打电话时slice df i 在 R 的 dplyr 包中 如果我要求的行索引不存在 nrows lt i 它似乎返回除组中的第一行之外的所有行 就像我调用的那样slice df 1 例如 library dplyr c1 lt c a b
  • Rglpk - 梦幻足球阵容优化器 - For 循环输出的 Rbind

    我有一个使用 Rgplk 的梦幻足球阵容优化器 它使用for循环生成多个最佳阵容 其数量由用户输入 代码如下 Lineups lt list for i in 1 Lineup no matrix lt rbind as numeric D
  • 自动将变量名称添加到列表的元素[重复]

    这个问题在这里已经有答案了 我有一个模型列表 为了使代码更易于维护 因此可以方便地添加和删除模型 我希望有一个地方来存储它们及其名称 为此 我必须解决以下命名问题 上游 我生成模型的方式比以下方式效率低 如果是这样压缩的 我会assign他
  • r 连接两个列表并对它们的值求和

    我有两个列表 x y gt x carlo monte simulation model quantum 31 31 9 6 6 gt y model system temperature quantum simulation proble
  • 如何对工作区中的元素运行循环?

    gt ls 1 A anorex 1 anorexia B byMonth C clotting 8 counts d D d AD DelayByDay delayed glm D93 15 glmout groups h housing
  • 如何将环境变量传递给shinyapps

    我想将安全参数传递给shinyapps io部署 以便我的应用程序可以通过以下方式获取它们 Sys getenv PASSWORD X 我找不到任何相关内容deployApp函数在rsconnect包裹 您可以使用Renviron网站 or
  • 粘贴两个 data.table 列

    dt lt data table L 1 5 A letters 7 11 B letters 12 16 L A B 1 1 g l 2 2 h m 3 3 i n 4 4 j o 5 5 k p 现在我想粘贴列 A 和 B 以获得一个新
  • 如何使用 grid.arrange 移动图例位置

    我试图在一页中排列 4 个图 将图例放在底部中心 我用它来获取其中一个图的图例 因为它们对于四个图来说是相同的 get legend lt function myggplot tmp lt ggplot gtable ggplot buil
  • dplyr 总结小计

    Excel 中数据透视表的一大优点是它们会自动提供小计 首先 我想知道 dplyr 中是否已经创建了任何可以实现此目的的东西 如果没有 实现它的最简单方法是什么 在下面的示例中 我按气缸和化油器的数量显示了平均排量 对于每组气缸 4 6 8
  • 如何在r中进行左连接[重复]

    这个问题在这里已经有答案了 我有两个数据集一和二 数据集一 a b c 111 a 1 112 b 2 113 c 3 114 d 4 115 e 5 数据集二 e d g 222 ss 11 111 ff 22 113 ww 33 114
  • 如何在RcppParallel中调用用户定义的函数?

    受到文章的启发http gallery rcpp org articles parallel distance matrix http gallery rcpp org articles parallel distance matrix 我

随机推荐

  • 创建一个独立于顺序自动创建新组的函数

    I asked 这个问题 https stackoverflow com questions 73894399 creating new groups when the original groups do not have suffici
  • 折叠表达式的结合性

    N4191 http www open std org jtc1 sc22 wg21 docs papers 2014 n4191 html建议的 C 折叠表达式 那里的定义是 args 是左折 即 a0 a1 a2 然后 args 是右折
  • 是否可以使用 Dropbox 托管一个裸 Git 存储库来共享代码?

    我意识到有类似的问题 https stackoverflow com questions 1960799 using gitdropbox together effectively 但我的问题略有不同 我想知道是否共享裸存储库通过多台计算机
  • 如何在asp.net c#中仅获取不包括时间的日期

    如何在asp net c 中仅获取不包括时间的日期 我只想将日期作为搜索输入 例如 3 11 2013 您可以使用日期时间 日期 http msdn microsoft com en us library system datetime d
  • 等待运算符没有像我预期的那样等待

    我正在上课DelayedExecutor这将延迟执行Action传递给其DelayExecute方法按一定时间timeout 参见下面的代码 使用 async 和await 语句 我还希望能够中止执行timeout如果需要的话间隔 我编写了
  • 为什么 URL up ​​时会出现“java.net.ConnectException: Connection timed out”异常?

    我得到了一个ConnectException Connection timed out我的代码中有一定频率 我试图访问的 URL 已打开 相同的代码适用于某些用户 但不适用于其他用户 似乎一旦一个用户开始收到此异常 他们就会继续收到该异常
  • “未加载模块 MyLibrary.dll 的符号”?

    我正在尝试通过制作一个提供有关 Pokemon 信息的基本应用程序来学习 Windows Phone 开发 为此 我创建了一个可移植类库 PokeLib dll 以便它与通用应用程序兼容 我已经通过同一解决方案 测试 中的项目对此进行了测试
  • 为什么使用 IKernel 而不是 IWindsorContainer?

    我在几个代码示例中看到人们使用过IKernel而不是使用IWindsorContainer 为什么是这样 这是一个例子 http docs castleproject org S kwaa14uzdj55gv55dzgf0vui Winds
  • 在 Nodejs 中解析嵌套 JSON

    我一直在尝试解析嵌套的 JSON 数据 下面是我的代码 var string key1 value key2 value1 Key3 key31 value 31 var obj JSON parse string console log
  • 统一不同 clang-format 版本的输出

    我们尝试使用 clang format 工具稍微美化我们的代码 为了在我们所做的所有机器上获得统一的结果clang format style llvm dump config 已进行了一些调整并存储到 repo 中 问题是 clang 10
  • 如何绘制每个元素在列表中的次数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试做一些我认为并不困难的事情 但我不知道如何让 python matplotlib pylab 去做 给定一个输入 我想要一个直方
  • 如何在MessageBox中显示textBox控件?

    知道如何在 MessageBox 中显示 textBox 控件 我正在开发 winforms 项目 c 先感谢您 你不能 MessageBox 是一个特殊的容器 旨在仅显示消息和按钮 相反 您可以使用您想要的任何控件创建自己的表单 并使用
  • 这段代码中的 StringBuilder 变量线程安全吗?

    考虑下面的支柱Action类中 我正在使用StringBuilder执行方法中的变量 我的问题 变量是sb线程安全与否 public DemoAction extends Action public ActionForward execut
  • Chrome 23 中的 Vibration API 隐藏在哪里?

    根据一个post http peter sh 2012 08 key bindings for extensions and media streams for the web audio api 在 Peter Beverloo 的博客上
  • 使用 Swift 和 Cocoa 创建 nswindow 的正确方法

    通常我会使用此方法通过窗口控制器打开一个新窗口 class WindowTestController interface AppDelegate NSObject
  • 替换

    以前有人问过这个问题 但我从未见过足够的答案 是否有有效的替代品
  • 如何将数据库与微服务(以及新的)同步?

    我正在开发一个采用微服务架构的网站 每个服务都拥有一个数据库 数据库存储微服务所需的数据 Post Video服务需要用户信息 因此订阅的两个服务NEW USER EVENT The NEW USER EVENT当有新用户注册时将被触发 一
  • vi 退出后如何恢复终端内容?

    像 vi 或 man 或任何其他程序这样的程序如何用程序自己的内容替换终端内容 然后在退出这些程序后它们会带回旧的终端内容 Vi 翻转到终端支持的备用屏幕缓冲区 这是通过使用转义序列来实现的 看这个链接 http invisible isl
  • 从链表中删除最小值[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要从链表中删除最小的元素值 喜欢
  • 在地图周围绘制各州省份,并用德国邮政编码着色

    我正在尝试创建一张地图 在其中按德国邮政编码进行着色 并且我想添加德国各州作为边界 for loading our data library raster library readr library readxl library sf li