A unique locationID is created for each incoming
longitude
and latitude
. The following code is used to generate
each locationID. See the references for details.
# Retain accuracy up to ~.1m locationString <- paste0( sprintf("%.7f", longitude), "_", sprintf("%.7f", latitude) ) # Avoid collisions until billions of records locationID <- digest::digest(locationString, algo = "xxhash64")
location_createID(longitude = NULL, latitude = NULL)
longitude | Vector of longitudes in decimal degrees E. |
---|---|
latitude | Vector of latitudes in decimal degrees N. |
Vector of character locationIDs.
https://en.wikipedia.org/wiki/Decimal_degrees
https://www.johndcook.com/blog/2017/01/10/probability-of-secure-hash-collisions/
library(MazamaLocationUtils) # Wenatchee lon <- -120.325278 lat <- 47.423333 locationID <- location_createID(lon, lat)