OSMscale is an R package to easily handle and project lat-long coordinates,
download background maps and add a correct scale bar to 'OpenStreetMap' plots in any map projection.
There are some other spatially related miscellaneous functions as well.
It relies on OpenStreetMap to do the actual work,
rjava must be available.
On Windows: Check if Java is available.
There should be no errors when running
install.packages("rJava") ; library(rJava) in R.
If necessary, install Java in the same bit-version as R (eg 64bit).
The Java binary file must be on the search path,
which will normally happen automatically.
On Linux: open a terminal (CTRL+ALT+T) and paste (CTRL+SHIFT+V) the following line by line to install gdal and rJava:
sudo apt update sudo apt install libgdal-dev libproj-dev sudo apt-get install r-cran-rjava R install.packages("rgdal") library("rgdal"); library("rJava") # should not return errors q("no") # to quit R
OSMscalefrom within R:
install.packages("OSMscale") library(OSMscale) ?OSMscale # To update to the most recent development version: berryFunctions::instGit("brry/berryFunctions") berryFunctions::instGit("brry/OSMscale")
Assuming a data.frame with lat-long coordinates:
d <- read.table(sep=",", header=TRUE, text= "lat, long # could e.g. be copied from googleMaps, rightclick on What's here? 55.685143, 12.580008 52.514464, 13.350137 50.106452, 14.419989 48.847003, 2.337213 51.505364, -0.164752") png("ExampleMap.png", width=4, height=3, units="in", res=150) map <- pointsMap(lat, long, data=d, type="maptoolkit-topo", proj=putm(d$long), scale=FALSE) scaleBar(map, abslen=500, y=0.8, cex=0.8) lines(projectPoints(d$lat, d$long), col="blue", lwd=3) points(projectPoints(52.386609, 4.877008, to=putm(zone=32)), cex=3, lwd=2, col="purple") dev.off()
If direct installation doesn't work, your R version might be too old.
In that case, an update is really recommendable: r-project.org.
If you can't update R, try installing from source (github) via
instGit as mentioned above.
If that's not possible either, you might be able to
source some functions from the
package zip folder
This creates all R functions as objects in your globalenv workspace (and overwrites existing objects of the same name!).
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.