open-location-code
2024-10-12
Open Location Code library.
Upstream URL
Author
Ralph Schleicher <rs@ralph-schleicher.de>
License
Modified BSD License
An Open Location Code library for Common Lisp.
Open Location Code is a location encoding system for addresses,
independent of street names and building numbers.
See <https://plus.codes>.
The methods requested by the Open Location Code specification
are implemented as follows:
encode (LATITUDE LONGITUDE)  ==>  FULL-CODE
     Convert a latitude and longitude into a 10 digit Open
     Location Code.
encode (LATITUDE LONGITUDE PRECISION)  ==>  FULL-CODE
     Convert a latitude and longitude into an arbitrary
     length Open Location Code.
decode (CODE)  ==>  CODE-AREA
     Decode an Open Location Code into, at a minimum, the
     latitude and longitude of the south-west corner and
     the area's height and width.
validp (CODE)  ==>  boolean
     Determine if a string is a valid sequence of Open
     Location Code characters.
fullp (CODE)  ==>  boolean
     Determine if a string is a valid full Open Location
     Code.
shortp (CODE)  ==>  boolean
     Determine if a string is a valid short Open Location
     Code.
shorten (FULL-CODE LATITUDE LONGITUDE)  ==>  SHORT-CODE
     Remove four or six digits from the front of an Open
     Location Code given a reference location.
recover (SHORT-CODE LATITUDE LONGITUDE)  ==>  FULL-CODE
     Recover a full Open Location Code from a short code
     and a reference location.
See <https://github.com/google/open-location-code/> for more
documentation and sample implementations.