gpt4 book ai didi

r - 如何在空间图上绘制热图

转载 作者:行者123 更新时间:2023-12-03 20:23:19 24 4
gpt4 key购买 nike

我是 R 中空间数据分析的新手,想做一些简单的事情,但我仍然遇到困难...
我有一张大 table latitudeslongitudes

sample = structure(list(Longitude = c(-0.19117, -0.211708, -0.206458, 
-0.173862, -0.156618), Latitude = c(51.489096, 51.520075, 51.525301,
51.482442, 51.495752), Location_Easting_OSGR = c(525680L, 524170L,
524520L, 526900L, 528060L), Location_Northing_OSGR = c(178240L,
181650L, 182240L, 177530L, 179040L)), .Names = c("Longitude",
"Latitude", "Location_Easting_OSGR", "Location_Northing_OSGR"
), row.names = c(NA, -5L), class = c("data.table", "data.frame"
))

我从 GADM 得到了英国 map (英国 map 的第 2 级)。

enter image description here

我希望能够
  • map 上由经度/纬度定义的绘图点
  • 构建一个热图,显示点更集中的地方...

  • 这简单吗 ?如果没有,你有什么建议(请只在英国)
    干杯

    最佳答案

    这是你想到的吗?

    您的 sample太小而无法展示热图,因此我创建了一个更大的样本,其中包含 (long,lat) = (-1,52)、(-2,54) 和 (-4.5,56) 处的人工集群。 IMO 如果没有这些点, map 会提供更多信息。

    另外,我下载了 shapefile,而不是 .Rdata,然后将其导入。原因是你更有可能在其他项目中找到 shapefile,而且很容易将它们导入到 R 中。

    setwd("< directory with all your files>")
    library(rgdal) # for readOGR(...)
    library(ggplot2)
    library(RColorBrewer) # for brewer.pal(...)

    sample <- data.frame(Longitude=c(-1+rnorm(50,0,.5),-2+rnorm(50,0,0.5),-4.5+rnorm(50,0,.5)),
    Latitude =c(52+rnorm(50,0,.5),54+rnorm(50,0,0.5),56+rnorm(50,0,.5)))
    UKmap <- readOGR(dsn=".",layer="GBR_adm2")
    map.df <- fortify(UKmap)

    ggplot(sample, aes(x=Longitude, y=Latitude)) +
    stat_density2d(aes(fill = ..level..), alpha=0.5, geom="polygon")+
    geom_point(colour="red")+
    geom_path(data=map.df,aes(x=long, y=lat,group=group), colour="grey50")+
    scale_fill_gradientn(colours=rev(brewer.pal(7,"Spectral")))+
    xlim(-10,+2.5) +
    coord_fixed()

    说明:

    此方法使用 ggplot包,它允许您创建图层然后渲染 map 。调用执行以下操作:
    ggplot -         establish `sample` as the default dataset and define (Longitude,Latitude) as (x,y)
    stat_density2d - heat map layer; polygons with fill color based on relative frequency of points
    geom_point - the points
    geom_path - the map (boundaries of the admin regions)
    scale_fill_gradientn - defines which colors to use for the fill
    xlim - x-axis limits
    coord_fixed - force aspect ratio = 1, so map is not distorted

    关于r - 如何在空间图上绘制热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21802253/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com