There are two ways to authorize to work with your GitHub account:
PAT - Generate a personal access token (PAT) at https://help.github.com/articles/creating-an-access-token-for-command-line-use and record it in the
GITHUB_PAT
envar in your.Renviron
file.Interactive - Interactively login into your GitHub account and authorise with OAuth.
Using the PAT method is recommended.
Using the gist_auth()
function you can authenticate separately first, or
if you're not authenticated, this function will run internally with each
function call. If you have a PAT, that will be used, if not, OAuth will
be used.
Usage
map_gist(
input,
lat = "lat",
lon = "long",
geometry = "point",
group = NULL,
type = "FeatureCollection",
file = "myfile.geojson",
description = "",
public = TRUE,
browse = TRUE,
...
)
Arguments
- input
Input object
- lat
Name of latitude variable
- lon
Name of longitude variable
- geometry
(character) Are polygons in the object
- group
(character) A grouping variable to perform grouping for polygons - doesn't apply for points
- type
(character) One of FeatureCollection or GeometryCollection
- file
File name to use to put up as the gist file
- description
Description for the GitHub gist, or leave to default (=no description)
- public
(logical) Want gist to be public or not? Default:
TRUE
- browse
If
TRUE
(default) the map opens in your default browser.- ...
Further arguments passed on to
httr::POST
Examples
if (FALSE) { # \dontrun{
if (!identical(Sys.getenv("GITHUB_PAT"), "")) {
# From file
file <- "myfile.geojson"
geojson_write(us_cities[1:20, ], lat = "lat", lon = "long", file = file)
map_gist(file = as.location(file))
# From SpatialPoints class
library("sp")
x <- c(1, 2, 3, 4, 5)
y <- c(3, 2, 5, 1, 4)
s <- SpatialPoints(cbind(x, y))
map_gist(s)
# from SpatialPointsDataFrame class
x <- c(1, 2, 3, 4, 5)
y <- c(3, 2, 5, 1, 4)
s <- SpatialPointsDataFrame(cbind(x, y), mtcars[1:5, ])
map_gist(s)
# from SpatialPolygons class
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)
map_gist(sp_poly)
# From SpatialPolygonsDataFrame class
sp_polydf <- as(sp_poly, "SpatialPolygonsDataFrame")
map_gist(sp_poly)
# From SpatialLines class
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))
map_gist(sl1)
# 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)
map_gist(sldf)
# From SpatialGrid
x <- GridTopology(c(0, 0), c(1, 1), c(5, 5))
y <- SpatialGrid(x)
map_gist(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))
map_gist(sgdf)
# from data.frame
## to points
map_gist(us_cities)
## to polygons
head(states)
map_gist(states[1:351, ], lat = "lat", lon = "long", geometry = "polygon", group = "group")
## From a list
mylist <- list(
list(lat = 30, long = 120, marker = "red"),
list(lat = 30, long = 130, marker = "blue")
)
map_gist(mylist, lat = "lat", lon = "long")
# From a numeric vector
## of length 2 to a point
vec <- c(-99.74, 32.45)
map_gist(vec)
## 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)
)
map_gist(poly, geometry = "polygon")
# From a json object
(x <- geojson_json(c(-99.74, 32.45)))
map_gist(x)
## another example
map_gist(geojson_json(us_cities[1:10, ], lat = "lat", lon = "long"))
# From a geo_list object
(res <- geojson_list(us_cities[1:2, ], lat = "lat", lon = "long"))
map_gist(res)
# From SpatialPixels
pixels <- suppressWarnings(SpatialPixels(SpatialPoints(us_cities[c("long", "lat")])))
summary(pixels)
map_gist(pixels)
# From SpatialPixelsDataFrame
pixelsdf <- suppressWarnings(
SpatialPixelsDataFrame(points = canada_cities[c("long", "lat")], data = canada_cities)
)
map_gist(pixelsdf)
}
} # }