geojsonio
converts geographic data to geojson and topojson formats. Nothing else. We hope to do this one job very well, and handle all reasonable use cases.
Functions in this package are organized first around what you’re working with or want to get, geojson or topojson, then convert to or read from various formats:
geojson_list()
/topojson_list()
- convert to GeoJSON/TopoJSON as R list formatgeojson_json()
/topojson_json()
- convert to GeoJSON/TopoJSON as JSONgeojson_sp()
- convert output of geojson_list()
or geojson_json()
to spatial objectsgeojson_read()
/topojson_read()
- read a GeoJSON/TopoJSON file from file path or URLgeojson_write()
/topojson_write()
- write a GeoJSON/TopoJSON file locallyEach of the above functions have methods for various objects/classes, including numeric
, data.frame
, list
, SpatialPolygons
, SpatialLines
, SpatialPoints
, etc.
Additional functions:
map_gist()
- push up a geojson or topojson file as a GitHub gist (renders as an interactive map) - See the maps with geojsonio vignette.map_leaf()
- create a local interactive map with the leaflet
package - See the maps with geojsonio vignette.Install rgdal - in case you can’t get it installed from binary , here’s what works on a Mac (change to the version of rgdal
and GDAL
you have).
install.packages("http://cran.r-project.org/src/contrib/rgdal_1.1-3.tar.gz", repos = NULL, type="source", configure.args = "--with-gdal-config=/Library/Frameworks/GDAL.framework/Versions/1.11/unix/bin/gdal-config --with-proj-include=/Library/Frameworks/PROJ.framework/unix/include --with-proj-lib=/Library/Frameworks/PROJ.framework/unix/lib")
Stable version from CRAN
Development version from GitHub
From a numeric
vector of length 2
as json
as a list
From a data.frame
as json
as a list
From SpatialPolygons
class
library('sp')
poly1 <- Polygons(list(Polygon(cbind(c(-100,-90,-85,-100),
c(40,50,45,40)))), "1")
poly2 <- Polygons(list(Polygon(cbind(c(-90,-80,-75,-90),
c(30,40,35,30)))), "2")
sp_poly <- SpatialPolygons(list(poly1, poly2), 1:2)
to json
to a list
From SpatialPoints
class
to json
to a list
To JSON
To a list
Read from a file
file <- system.file("examples", "us_states.topojson", package = "geojsonio")
out <- topojson_read(file, verbose = FALSE)
summary(out)
Read from a URL
url <- "https://raw.githubusercontent.com/shawnbot/d3-cartogram/master/data/us-states.topojson"
out <- topojson_read(url, verbose = FALSE)
Or use as.location()
first