Другой geojsonio
автор здесь ...
Я не думаю, что это проблема с какой-либо из библиотек / пакетов (geojsonio
, rgdal
и т. Д.), Но тот факт, что квадратные скобки делают его неподходящим объектом geojson согласно спецификации (квадратные скобки) обозначим массив).
Этот URL-адрес возвращает объект json, который содержит массив (вызывающе называемый featurecollection
), который затем содержит два объекта, каждый из которых содержит name
и особенность, и каждая особенность является правильной geojson
FeatureCollection
. Те FeatureCollections
- это то, что мы хотим вывести - один Point
(вероятно, центр тяжести водораздела?), А другой * Polygon
, определяющий границу водораздела.
library(jsonlite)
library(geojsonio)
library(sp)
# Don't simplify the results so that it's easier to pull out the full geojson objects
mydata <- fromJSON("https://streamstats.usgs.gov/streamstatsservices/watershed.geojson?rcode=NY&xlocation=-74.524&ylocation=43.939&crs=4326&includeparameters=false&includeflowtypes=false&includefeatures=true&simplify=true",
simplifyVector = FALSE, simplifyDataFrame = FALSE)
# Extract each geojson object and 'auto_unbox' to remove square brackets from
# arrays of length 1:
point_geojsonsting <- toJSON(mydata$featurecollection[[1]]$feature,
auto_unbox = TRUE)
poly_geojsonsting <- toJSON(mydata$featurecollection[[2]]$feature,
auto_unbox = TRUE)
# Read directly to sp without writing to disk first:
point_sp <- geojson_sp(point_geojsonsting)
poly_sp <- geojson_sp(poly_geojsonsting)
plot(poly_sp)
plot(point_sp, add = TRUE, col = "red", pch = 21, cex = 5)
Создано в 2018-05-09 пакетом Представить (v0.2.0).