現在、ある領域(ポリゴン)から別の領域(ポリゴン)への移動をマップするためのリーフレットのフローマップを作成しようとしています。不正なポリゴンを指す派生空間線
library(sp)
library(rgdal)
library(tidyverse)
library(leaflet)
私はポリゴンのイギリスの地方自治体(LAS)のthis shapefileを使用している、と私はラインを導出していますが、それらの座標から。
Map <- readOGR(dsn = "Map", layer = "LEA_Boundaries")
Map <- Map[!is.na(Map$lad16cd),]
私は私は私のラインの開始および終了ポイントを導出する元と宛先ポリゴンは緯度と経度(複数可)を使用し、別の1つの多角形の中心から線を作成したいです。 地図のデータスロットからLAの名前をサンプリングし、サンプリングして出発点と終点のLAを作成し、開始LAの座標をマージし、終点LAの座標を次のようにマージします:
私はそれがよりアクセス可能だとプログラミングを除外A私はここに使用します空間のラインを作成するには、2つの別々の道、1はベジエ行を追加するカスタム関数で、他はgcIntermediate()
だったが、試してみました。この後
StartingLA <- sample([email protected]$lad16nm, 100000, replace = TRUE)
NextLA <- sample(StartingLA, 100000, replace = TRUE)
Movement <- data.frame(StartingLA, NextLA)
LD <- merge(Movement, [email protected][,c("lad16nm", "long", "lat")], by.x = "StartingLA", by.y = "lad16nm") %>%
merge([email protected][,c("lad16nm", "long", "lat")], by.x = "NextLA", by.y = "lad16nm", suffixes = c("",".y"))
関数のエラー
flow <- gcIntermediate(LD[,c("long", "lat")], LD[,c("long.y", "lat.y")], sp = TRUE, addStartEnd = TRUE)
地図自体のためです。ポリゴンにポップアップラベルを追加して、どのポリゴンがどのポリゴンであるかを確認します。
leaflet() %>%
addProviderTiles(providers$CartoDB.PositronNoLabels) %>%
addPolygons(data = Map, weight = 1, col = "#000000", fillOpacity = 0, popup = [email protected]$lad16nm) %>%
addPolylines(data = flow)
次に、行を作成するために使用されたデータを見ていきます。
LD
私のマップでは、次の1つのポリゴンを結合する青い線があります。しかしStartingLA
がLD
の場合は「East Sussex」、 NextLA
の場合は「Hillingdon」ですが、バーミンガムとワンズワースの間を指しています。
これは私のカスタム関数をベジェ線に合わせることでも当てはまりました。これは前に起こったことかもしれないと思うかもしれませんが、すべてのデータはSpatialLinesにラインが作られるまで正しいものです。すべてが乾杯になる。
私はどこに間違っているのかについての洞察はありますか?
ありがとうございます。