相关疑难解决方法(0)

曲线数据集的点数据集的平均值

我对ggplot比较新,所以如果我的一些问题非常简单或根本无法解决,请原谅我.

我想要做的是生成一个国家的"热图",其中形状的填充是连续的.此外,我有国家的形状.RData.我使用hadley wickham的脚本将我的SpatialPolygon数据转换为数据框.我数据框的long和lat数据现在看起来像这样

head(my_df)
long        lat         group
6.527187    51.87055    0.1 
6.531768    51.87206    0.1
6.541202    51.87656    0.1
6.553331    51.88271    0.1
Run Code Online (Sandbox Code Playgroud)

这个长/拉数据描绘了德国的轮廓.这里省略了数据框的其余部分,因为我认为不需要它.对于某些长/纬度点,我还有第二个数据帧.这看起来像这样

my_fixed_points
long        lat         value
12.817      48.917      0.04 
8.533       52.017      0.034
8.683       50.117      0.02
7.217       49.483      0.0542
Run Code Online (Sandbox Code Playgroud)

我现在想做的是,根据位于该点一定距离内的所有固定点的平均值,为地图的每个点着色.这样我就可以得到整个国家地图的(几乎)连续着色.到目前为止我所拥有的是用ggplot2绘制的国家地图

ggplot(my_df,aes(long,lat)) + geom_polygon(aes(group=group), fill="white") + 
geom_path(color="white",aes(group=group)) + coord_equal()
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是生成位于已绘制的地图内的点,然后计算每个生成点的值,my_generated_point如此

value_vector <- subset(my_fixed_points, 
  spDistsN1(cbind(my_fixed_points$long, my_fixed_points$lat),  
  c(my_generated_point$long, my_generated_point$lat), longlat=TRUE) < 50, 
  select = value)
point_value <- mean(value_vector)
Run Code Online (Sandbox Code Playgroud)

我还没有找到一种方法来产生这些点.就像整个问题一样,我甚至不知道是否有可能以这种方式解决.我现在的问题是,是否存在生成这些点的方法和/或是否有另一种方法来解决问题.

感谢Paul,我几乎得到了我想要的东西.以下是荷兰样本数据的示例.

library(ggplot2)
library(sp)
library(automap)
library(rgdal)
library(scales)

#get the spatial data …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 automap spatial-interpolation

8
推荐指数
1
解决办法
2875
查看次数

R/GIS:如何通过lat-long边界框对shapefile进行子集化?

我想将一个shapefile(将.shp和相关文件在这里)子集化为另一个由一组坐标限定的,例如在long [80,90]和lats [20,30]之间,然后将其写为另一个shape文件.如果我使用maptools包裹:

df = readShapeLines("/path/asia_rivers.shp")

然后看看文件的结构as.data.frame(df),我找不到任何明显的坐标子集方式.我可以使用PBSmapping包来分组:

df = importShapefile("/path/asia_rivers.shp")
df_sub = subset(df, X>=80 & X<=90 & Y >=20 & Y <=30)
Run Code Online (Sandbox Code Playgroud)

但我不能似乎能够强制成这样SpatialLines,其可通过以下方式导出的数据帧writeSpatialShape()maptools.我一直收到这个错误:Error in PolySet2SpatialLines(df_sub) : unknown coordinate reference system.当然,我遗漏了一些非常基本的东西,应该有一种通过地理坐标对地理数据进行分类的简单方法?

gis r

7
推荐指数
1
解决办法
6043
查看次数

标签 统计

r ×2

automap ×1

ggplot2 ×1

gis ×1

spatial-interpolation ×1