1

R に空間データがあり、次のようにロードされますSpatialPolygonsDataFrame

library(sp)
library(tmap)
d <- readRDS("data.rds")
qtm(d)

例として、 http://www.gadm.org/downloadからのドイツのデータを使用しました。

以下に、 によってプロットされたマップが表示されqtm(d)ます。しかし、私は自分のデータを表示したいと思います。経度と緯度の場所があり、マップされたポリゴン内のポイントの数を数え、それらの数を下のマップの色として表示したいと思います。

どこから始めればよいかわかりません。位置をポリゴンにマッピングする簡単な方法はありますか?

地図

4

1 に答える 1

1

私は空間データの経験があまりありませんが、これをスターターとして使用できるかもしれません:

library(sp)
library(raster)
library(rgeos)

# load map
d <- getData("GADM", country = "Germany", level = 2)

# generate some random points 
set.seed(1)
p <- data.frame(
  lon = jitter(sample(8:13, 20, T)), 
  lat = jitter(sample(49:52, 20, T))
)

# match points with polygons
mat <- gContains(d, SpatialPoints(p, proj4string=CRS(sp::proj4string(d))), byid=TRUE)
hits <- colSums(mat)
cols <- rev(heat.colors(diff(range(hits))+1))

# plot
plot(d, col = cols[hits+1], border = "green")
with(p, points(lon, lat, col = "blue", pch = 19, cex = .5))

ここに画像の説明を入力

于 2015-10-11T17:21:33.470 に答える