我有一个FeatureCollection
包含 2 种地理数据类型的 geojson:aLineString
和 a - 请参阅此处waypoint
的原始文件- 这是它在GitHub 上的外观:
我只想加载LineString
,所以这就是我所做的:
library(RCurl)
obj <- getURL("https://raw.githubusercontent.com/Robinlovelace/stplanr/master/inst/extdata/route_data.geojson")
writeLines(obj, "/tmp/obj.geojson")
obj <- readLines("/tmp/obj.geojson")
just_lines <- obj[14:(length(obj) - 28)]
just_lines[1] <- paste0("{", just_lines[1])
just_lines[length(just_lines)] <- "}"
writeLines(just_lines, "/tmp/just_lines.geojson")
现在我们已经删除了文件开头和结尾的讨厌的行,这是一个格式很好的 GeoJSON 文件,我们可以加载和绘制它,是的:
library(rgdal)
route <- readOGR("/tmp/just_lines.geojson", layer = "OGRGeoJSON")
plot(route)
除了任何 R 用户都应该清楚,这是一种非常笨重且效率低下的方法,涉及太多代码行和对硬盘的不必要读写。一定有别的办法!
我看过的选项
语境
我正在为可持续交通规划创建一个包,stplanr。查找骑行路线的功能(如下图所示)需要从CycleStreets.net api加载FeatureCollection geojson 数据。