ポイントとポリゴンの 2 つのシェープファイルがあります。以下のコードではgCentroid()
、rgeos
パッケージから を使用してポリゴンの重心を計算し、重心の周りにバッファーをプロットします。
各セルから重心の周りの関連付けられたポリゴン バッファー内にある最も近いポイント (赤) までの距離を表すポリゴンからラスター レイヤーを作成したいと考えています。
たとえば、ポリゴン ユニットでは、AI は 2 つの仮想ラスター セルを表示し、計算しようとしている直線距離を示します。
更新 1 : @JMT2080AD のコメントに基づいて実際のバッファーを作成します。leaflet
コードの交換。
library(raster)
library(rgdal)
library(rgeos)
url <- "https://www.dropbox.com/s/25n9c5avd92b0zu/example.zip?raw=1"
download.file(url, "example.zip")
unzip("example.zip")
myPolygon <- readOGR("myPolygon.shp")
proj4string(myPolygon) <- CRS("+init=epsg:4326")
myPolygon <- spTransform(myPolygon, CRS("+proj=robin +datum=WGS84"))
myPoints <- readOGR("myPoints.shp")
proj4string(myPoints) <- CRS("+init=epsg:4326")
myPoints <- spTransform(myPoints, CRS("+proj=robin +datum=WGS84"))
centroids <- gCentroid(myPolygon, byid=TRUE)
buffer <- gBuffer(centroids, width=5000, byid=TRUE)
plot(myPolygon, col="green")
plot(buffer, col="blue", add = T)
plot(centroids, pch = 20, col = "white", add = T)
plot(myPoints, pch = 20, col = "red", add = T)
gis.stackexchangeでこの質問をしましたが、QGIS のコンテキストで。Rでこれを理解する方が良いと思うので、質問と新しいR MREをここに再投稿しています。質問をSOに移行してMREを変更するより良い方法があるかどうかはわかりません同時に。