geo2topo | R Documentation |
GeoJSON to TopoJSON and back
geo2topo(x, object_name = "foo", quantization = 0, ...)
topo2geo(x, ...)
x |
GeoJSON or TopoJSON as a character string, json, a file path, or url |
object_name |
(character) name to give to the TopoJSON object created. Default: "foo" |
quantization |
(numeric) quantization parameter, use this to
quantize geometry prior to computing topology. Typical values are powers of
ten ( |
... |
for |
An object of class json
, of either GeoJSON or TopoJSON
topojson_write()
, topojson_read()
# geojson to topojson
x <- '{"type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]}'
z <- geo2topo(x)
jsonlite::prettify(z)
## Not run:
library(leaflet)
leaflet() %>%
addProviderTiles(provider = "Stamen.Terrain") %>%
addTopoJSON(z)
## End(Not run)
# geojson to topojson as a list
x <- list(
'{"type": "LineString", "coordinates": [ [100, 0], [101, 1] ]}',
'{"type": "LineString", "coordinates": [ [110, 0], [110, 1] ]}',
'{"type": "LineString", "coordinates": [ [120, 0], [121, 1] ]}'
)
geo2topo(x)
# change the object name created
x <- '{"type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]}'
geo2topo(x, object_name = "HelloWorld")
geo2topo(x, object_name = "4")
x <- list(
'{"type": "LineString", "coordinates": [ [100, 0], [101, 1] ]}',
'{"type": "LineString", "coordinates": [ [110, 0], [110, 1] ]}',
'{"type": "LineString", "coordinates": [ [120, 0], [121, 1] ]}'
)
geo2topo(x, "HelloWorld")
geo2topo(x, c("A", "B", "C"))
# topojson to geojson
w <- topo2geo(z)
jsonlite::prettify(w)
## larger examples
file <- system.file("examples", "us_states.topojson", package = "geojsonio")
topo2geo(file)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.