Bei der Arbeit mit räumlichen Daten hilft es, räumliche Klassen zu kennen! Ich gehe davon aus Sie Hacke kennen Ihre JSON-Datei als Datenrahmen in R. lesen
hier ein reproduzierbares Beispiel:
library(mapview)
library(sp)
### create some random data with coordinates from (data("breweries91", package = "mapview"))
set.seed(123)
dat <- data.frame(val = as.integer(rnorm(32, 10, 2)),
lon = coordinates(breweries91)[, 1],
lat = coordinates(breweries91)[, 2])
### state condition for creation of lines
cond <- c(8, 9, 10)
### loop through conditions and create a SpatialLines object for each condition
lns <- lapply(seq(cond), function(i) {
ind <- dat$val == cond[i]
sub_dat <- dat[ind, ]
coords <- cbind(sub_dat$lon, sub_dat$lat)
ln <- coords2Lines(coords, ID = as.character(cond[i]))
proj4string(ln) <- "+init=epsg:4326"
return(ln)
})
### view lines with mapview
mapview(lns[[1]], col = "darkred") +
mapview(lns[[2]], col = "forestgreen") +
mapview(lns[[3]], col = "cornflowerblue")
Wesentlichen, was wir hier machen, ist eine gültige sp erstellen :: SpatialLines Objekt für jede Bedingung, die wir angeben. Wir stellen diese unter Verwendung mapview dar, die Sie Interaktivität genannt haben. Plotten von Geo-Objekten können in vielerlei Hinsicht (Basis, Gitter, ggplot2, Faltblatt, ...), so gibt es viele Möglichkeiten zur Auswahl erreicht werden. Werfen Sie einen Blick auf sp Gallery für ein nettes Tutorial.
Hinweis: Diese Antwort ist nur für nicht projizierte geografische Koordinaten (d. H. Breiten-/Längengrad) gültig!