Description Usage Arguments Details Value Author(s) Source See Also Examples
Creates a GeoJSON file from data frame, Spatial object or an external spatial data file.
1 2 |
data |
Spatial data: |
name |
Name of the resulting GeoJSON file, as string. Optional – if missing, the name of the data frame or data file is used. |
dest |
Directory the file shall be saved to, as string. Optional – if missing, the current working directory is used. |
lat.lon |
For data frame conversion only. Names or indices of the columns in |
overwrite |
|
toGeoJSON
can handle three types of spatial data: a simple data.frame
, Spatial
objects and external spatial data files.
data.frame
objects
Point data might be available as simple data.frame
or tbl_df
(see dplyr
package) objects. The data.frame
must contain latitudes and longitudes in two separate columns and optionally may contain data columns.
Spatial
objects
Spatial
objects (sp
package) should have geographical coordinates (longlat, WGS84). If other projections are used, toGeoJSON
can transform the coordinates on the fly, using the rgdal
package.
Conversion of external spatial data files
toGeoJSON
uses the Ogre web API (http://ogre.adc4gis.com). See the Ogre website for a list of supported formats. Please note that for Shapefiles, MapInfo and VRT, Ogre only accepts a zip file. The Ogre API does not support large files (>15 MB). Have a look at the rgdal
package and its writeOGR
function, to convert files on your local machine.
GeoJSON file path, as string.
Christian Graul
The code for the conversion of external data files is taken from the togeojson
function of the rgbif
package. Package import would have unreasonably increased the dependencies of leafletR
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | ## Not run:
# convert data frame
data(quakes)
toGeoJSON(data=quakes, name="quakes", dest=tempdir(), lat.lon=c(1,2))
# convert data frame - minimal call
# storing output file path in variable
data(quakes)
path <- toGeoJSON(data=quakes)
# preserve existing files from overwriting
toGeoJSON(data=quakes, overwrite=FALSE)
# convert Spatial objects
library(sp)
data(meuse)
coordinates(meuse) <- ~x+y
proj4string(meuse) <- CRS("+init=epsg:28992")
toGeoJSON(data=meuse, dest=tempdir()) # rgdal package required
crd <- coordinates(meuse)
msl <- SpatialLines(list(Lines(list(Line(crd)), "line1")),
proj4string=CRS("+init=epsg:28992"))
toGeoJSON(data=msl, dest=tempdir()) # rgdal package required
data(meuse.riv)
msp <- SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)),
"meuse.riv")), proj4string=CRS("+init=epsg:28992"))
toGeoJSON(data=msp, dest=tempdir()) # rgdal package required
# convert a shapefile (in zipped archive)
# (httr package required)
toGeoJSON(data=system.file(package="leafletR", "files", "lynx.zip"),
name="lynx_telemetry", dest=tempdir())
# convert a KML/KMZ file
# using name of data file and saving to working directory
# (httr package required)
toGeoJSON(system.file(package="leafletR", "files", "peak_sk.kmz"))
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.