首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区域测绘的空间数据

区域测绘的空间数据
EN

Stack Overflow用户
提问于 2017-03-29 16:37:34
回答 1查看 199关注 0票数 0

我在英国有一些数据,我需要介绍一张英格兰所有9个地区的地图。我试着使用图书馆(地图),但我得到的地块没有任何区域信息,我只是结束了整个英国。

理想情况下,我正在寻找类似于这个2009.svg.png的结果

(由于缺乏声誉点,我实际上无法附上照片,对不起!)

我的数据有一列用于具有字符值的区域:

代码语言:javascript
复制
         EastMid
         EastEng 
         London
         NorthEast 
         NorthWest 
         SouthEast 
         SouthWest
         WestMid 
         Yorkshire

然后,我将继续按不同属性的颜色区域进行映射。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-02 15:26:09

首先,正如Andrew所写的,您需要找到并下载带有必要区域的shapefiles。您需要的这种分割通常称为历史区域或标准统计区域。您可能需要检查这个站点:http://www.natureonthemap.naturalengland.org.uk/

第二,读取shapefile并与公投数据合并。确保公投文件中的区域名称与地理空间文件中的区域名称完全相同(我使用从上面提到的站点下载的文件,如果您下载另一个shapefile,名称可能会有所不同):

代码语言:javascript
复制
library(rgdal)    
library(tmap)
geoEN = readOGR(".", "maghistengland")

在这种情况下,区域名称存储在名称中(在另一个shapefile属性名称中可以是不同的)。您可以通过以下方法检查由地理空间文件组成的信息:

代码语言:javascript
复制
ogrInfo(".", "maghistengland")

就这个例子而言,我是在伪造投票结果的数字。

代码语言:javascript
复制
votes = as.data.frame(
    cbind(
    c("EAST MIDLANDS",
    "EAST OF ENGLAND",
    "LONDON",
    "NORTH EAST",
    "NORTH WEST",
    "SOUTH EAST",
    "WEST MIDLANDS",
    "YORKSHIRE AND THE HUMBER",
    "SOUTH WEST"),
    c(60, 65, 55, 50, 45, 40, 35, 30, 30),
    c(40, 35, 45, 50, 55, 60, 65, 70, 70)
  ), stringsAsFactors = FALSE)

names(votes) = c("Regions", "Yes", "No")

votes$Yes = as.numeric(votes$Yes)
votes$No = as.numeric(votes$No)
votes$Result = colnames(votes)[max.col(votes[,2:3])+1]

现在我们可以合并这两个文件了:

代码语言:javascript
复制
mapEN = append_data(geoEN, votes, key.shp = "NAME", key.data = "Regions")

第三,创建必要的图表。这里有三个例子。你可以玩组数(n = 2,3,4.),颜色等。

代码语言:javascript
复制
tm_shape(mapEN) +
    tm_fill("Yes", title = "This is a title", palette = "Blues", n=4) +
    tm_borders(alpha=.5)

tm_shape(mapEN) +
    tm_fill("No", title = "This is a title", palette = "Reds", n=5) +
    tm_borders(alpha=.5)

tm_shape(mapEN) +
    tm_fill("Result", palette = c("Red", "Blue")) +
    tm_borders(alpha=.5)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43099328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档