r - 使用 tmap 制作英国犯罪数量地图
问题描述
我通过使用区号组合数据在 R 中通过 tmap 制作地图。并非所有犯罪数据都可用。在我结合该地区的数据和犯罪数据后,我无法绘制地图
uk_la1 <- readOGR(dsn = "./infuse_dist_lyr_2011", layer = "infuse_dist_lyr_2011")
Totalcrime <- read.csv('Total_crime_in_each_area_full.csv', header = TRUE)
# Calculate the nnumber of crime per 1000 people
Totalcrime <- transform(Totalcrime, Crime_per_1000_people = Total / Population * 1000)
Totalcrimeno<-Totalcrime %>% select(geo_code, Crime_per_1000_people)
uk_la1@data<-left_join(uk_la1@data, Totalcrimeno,
by=c('geo_code'))
qtm(uk_la, fill="Crime_per_1000_people")
但我收到一个错误:
$<-.data.frame
( , " geometry*tmp*
", value = list(list(list( : 替换有 404 行,数据有 405
解决方案
您需要使用 WGS84 坐标系转换经度和纬度:
library(rgdal)
library(spdplyr)
library(geojsonio)
library(rmapshaper)
uk_la <- readOGR(dsn = "./infuse_dist_lyr_2011", layer = "infuse_dist_lyr_2011")
wgs84 <- "+proj=longlat +datum=WGS84"
uk_la_trans <- spTransform(uk_la, CRS(wgs84))
#Convert from Spatial Dataframe to GeoJson
uk_la_trans_json <- geojson_json(uk_la_trans)
uk_la_trans_sim <= ms_simplify(uk_la_trans_json)
有关WGS84 坐标系的更多信息
推荐阅读
- laravel - 如何创建一个excel文件并在邮件中附加而不存储在本地磁盘中
- flask - flask+uwsgi+supervisor 设置环境变量
- flutter - Flutter 使用 cloud_firestore 在 IOS 模拟器上给出错误
- android - 如何在Android中单击recyclerView项目的Webview中动态打开URL数据?
- .net - 读取其他进程的受保护内存
- javascript - Chart.js hours scale show day switch
- pdf - 计算pdf文件中的总页数
- linq - 在 LINQ Lambda 中的 on 子句内部加入两个等式
- python - 来自 C++ 背景,试图从 Scrapy 框架中了解回调在这个函数中的作用
- dashboard - 从这个 vega / vega-lite 世界地图中删除南极洲