【问题标题】:Plot postcodes on London Map in R在 R 中绘制伦敦地图上的邮政编码
【发布时间】:2019-07-08 21:31:12
【问题描述】:

我有一列包含 1,000 多个伦敦完整邮政编码。我需要将这些邮政编码转换为纬度和经度,然后将每个点绘制到伦敦的底图上。我想将我的邮政编码的空间分布和集中度显示为伦敦上的点。

我曾尝试使用 ggmap、maps 和 mapdata 进行此练习,但无济于事。

install.packages("ggmap")

install.packages(c("maps", "mapdata"))

library(ggmap)
library(mapdata)
library(tidyverse)
library(dplyr)
mapdata <- filter(mapdata, Country--'UK')

错误信息:

as.ts(x) 中的错误:找不到对象“mapdata”

【问题讨论】:

  • 你认为mapdata来自哪里?包mapdata不包含具有该名称的数据集。

标签: r maps


【解决方案1】:

首先,我找到了英国水的 shapefile 层here。您可能希望找到一个更好的。最好将所有 shapefile 下载到一个 GIS 文件夹中以备将来使用,包括与它们一起压缩的所有文件。

其次,我使用rgdal 包通过readOGR 命令打开该shapefile。

第三,我使用leaflet 包将这些数据放在伦敦地图上。

library(leaflet);library(rgdal)
setwd("/yourpathhere/")  #update your path here

ukwater<-readOGR(dsn='.',layer='GBR_water_lines_dcw')

leaflet() %>% 
  addProviderTiles("Stamen.Toner") %>% 
  setView(0,51.4,zoom=9) %>%  # longitude and latitute, respectively
  addPolygons(data=ukwater)

【讨论】:

  • 为什么要将所有 shapefile 下载到一个文件夹中?这不一定是好建议。
  • 当然,我为不同主题/主题的 shapefile 保留子目录。我的意思是,我所有的 shapefile 数据(写得很大)都存储在一个文件夹中。至少对我来说,以这种方式管理我的数据要容易得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
  • 2010-11-29
  • 1970-01-01
  • 2012-01-25
相关资源
最近更新 更多