首页 > 解决方案 > 使用 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

标签: rtmap

解决方案


您需要使用 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 坐标系的更多信息


推荐阅读