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.