## Not run:
# # From a numeric vector of length 2, making a point type
# geojson_json(c(-99.74,32.45), pretty=TRUE)
# geojson_json(c(-99.74,32.45), type = "GeometryCollection", pretty=TRUE)
#
# ## polygon type
# ### this requires numeric class input, so inputting a list will dispatch on the list method
# poly <- c(c(-114.345703125,39.436192999314095),
# c(-114.345703125,43.45291889355468),
# c(-106.61132812499999,43.45291889355468),
# c(-106.61132812499999,39.436192999314095),
# c(-114.345703125,39.436192999314095))
# geojson_json(poly, geometry = "polygon", pretty=TRUE)
#
# # Lists
# ## From a list of numeric vectors to a polygon
# vecs <- list(c(100.0,0.0), c(101.0,0.0), c(101.0,1.0), c(100.0,1.0), c(100.0,0.0))
# geojson_json(vecs, geometry="polygon", pretty=TRUE)
#
# ## from a named list
# mylist <- list(list(latitude=30, longitude=120, marker="red"),
# list(latitude=30, longitude=130, marker="blue"))
# geojson_json(mylist, lat='latitude', lon='longitude')
#
# # From a data.frame to points
# geojson_json(us_cities[1:2,], lat='lat', lon='long', pretty=TRUE)
# geojson_json(us_cities[1:2,], lat='lat', lon='long',
# type="GeometryCollection", pretty=TRUE)
#
# # from data.frame to polygons
# head(states)
# ## make list for input to e.g., rMaps
# geojson_json(states[1:351, ], lat='lat', lon='long', geometry="polygon", group='group')
#
# # from a geo_list
# a <- geojson_list(us_cities[1:2,], lat='lat', lon='long')
# geojson_json(a)
#
# # sp classes
#
# ## 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)
# geojson_json(sp_poly)
# geojson_json(sp_poly, pretty=TRUE)
#
# ## Another SpatialPolygons
# library("sp")
# library("rgeos")
# pt <- SpatialPoints(coordinates(list(x = 0, y = 0)), CRS("+proj=longlat +datum=WGS84"))
# ## transfrom to web mercator becuase geos needs project coords
# crs <- gsub("\n", "", paste0("+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0
# +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs", collapse = ""))
# pt <- spTransform(pt, CRS(crs))
# ## buffer
# pt <- gBuffer(pt, width = 100)
# pt <- spTransform(pt, CRS("+proj=longlat +datum=WGS84"))
# geojson_json(pt)
#
# ## data.frame to geojson
# geojson_write(us_cities[1:2,], lat='lat', lon='long') %>% as.json
#
# # From SpatialPoints class
# x <- c(1,2,3,4,5)
# y <- c(3,2,5,1,4)
# s <- SpatialPoints(cbind(x,y))
# geojson_json(s)
#
# ## From SpatialPointsDataFrame class
# s <- SpatialPointsDataFrame(cbind(x,y), mtcars[1:5,])
# geojson_json(s)
#
# ## From SpatialLines class
# library("sp")
# c1 <- cbind(c(1,2,3), c(3,2,2))
# c2 <- cbind(c1[,1]+.05,c1[,2]+.05)
# c3 <- cbind(c(1,2,3),c(1,1.5,1))
# L1 <- Line(c1)
# L2 <- Line(c2)
# L3 <- Line(c3)
# Ls1 <- Lines(list(L1), ID = "a")
# Ls2 <- Lines(list(L2, L3), ID = "b")
# sl1 <- SpatialLines(list(Ls1))
# sl12 <- SpatialLines(list(Ls1, Ls2))
# geojson_json(sl1)
# geojson_json(sl12)
#
# ## From SpatialLinesDataFrame class
# dat <- data.frame(X = c("Blue", "Green"),
# Y = c("Train", "Plane"),
# Z = c("Road", "River"), row.names = c("a", "b"))
# sldf <- SpatialLinesDataFrame(sl12, dat)
# geojson_json(sldf)
# geojson_json(sldf, pretty=TRUE)
#
# ## From SpatialGrid
# x <- GridTopology(c(0,0), c(1,1), c(5,5))
# y <- SpatialGrid(x)
# geojson_json(y)
#
# ## From SpatialGridDataFrame
# sgdim <- c(3,4)
# sg <- SpatialGrid(GridTopology(rep(0,2), rep(10,2), sgdim))
# sgdf <- SpatialGridDataFrame(sg, data.frame(val = 1:12))
# geojson_json(sgdf)
#
# # From SpatialRings
# library("rgeos")
# r1 <- Ring(cbind(x=c(1,1,2,2,1), y=c(1,2,2,1,1)), ID="1")
# r2 <- Ring(cbind(x=c(1,1,2,2,1), y=c(1,2,2,1,1)), ID="2")
# r1r2 <- SpatialRings(list(r1, r2))
# geojson_json(r1r2)
#
# # From SpatialRingsDataFrame
# dat <- data.frame(id = c(1,2), value = 3:4)
# r1r2df <- SpatialRingsDataFrame(r1r2, data = dat)
# geojson_json(r1r2df)
#
# # From SpatialPixels
# library("sp")
# pixels <- suppressWarnings(SpatialPixels(SpatialPoints(us_cities[c("long", "lat")])))
# summary(pixels)
# geojson_json(pixels)
#
# # From SpatialPixelsDataFrame
# library("sp")
# pixelsdf <- suppressWarnings(
# SpatialPixelsDataFrame(points = canada_cities[c("long", "lat")], data = canada_cities)
# )
# geojson_json(pixelsdf)
#
# # From SpatialCollections
# library("sp")
# library("rgeos")
# pts <- SpatialPoints(cbind(c(1,2,3,4,5), c(3,2,5,1,4)))
# 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")
# poly <- SpatialPolygons(list(poly1, poly2), 1:2)
# dat <- SpatialCollections(pts, polygons = poly)
# geojson_json(dat)
#
# ## Pretty print a json string
# geojson_json(c(-99.74,32.45))
# geojson_json(c(-99.74,32.45)) %>% pretty
# ## End(Not run)
Run the code above in your browser using DataLab