Reference implementation of Natural Location Identifiers, ISO 8000-118.
The NLI API provides utilities for creating, encoding, decoding, and managing Natural Location Identifiers (NLI). These identifiers can represent geographical locations and storey-specific data in a standardized format.
Creates an NLI from latitude, longitude, and elevation.
lat
(number): Latitude of the location.long
(number): Longitude of the location.elevation
(Elevation): Elevation of the location.
NLI
: A Natural Location Identifier.
Encodes an NLI
into a standalone ISO-compliant string with a prefix.
nli
(NLI): The Natural Location Identifier to encode.
string
: The encoded ISO-compliant string.
Decodes a string into an NLI
.
s
(string): The encoded string to decode.
NLI
: The decoded Natural Location Identifier.
Encodes a StoreyNLI
for use within a TUID.
nli
(StoreyNLI): The Storey-specific Natural Location Identifier.
string
: The encoded string for use in a TUID.
Decodes a string into a StoreyNLI
.
s
(string): The encoded TUID string.
StoreyNLI
: The decoded Storey-specific Natural Location Identifier.
Represents a Natural Location Identifier. For details on its structure, refer to the types.d.ts
file.
Represents a Storey-specific Natural Location Identifier. Refer to the types.d.ts
file for more details.
Represents the elevation of a location. Refer to the types.d.ts
file for the expected structure.
import { create, encode, decode, encodeTUID, decodeTUID } from "nli"
// Example: Create and encode an NLI
const nli = create(37.7749, -122.4194, { storey: 3 })
const encoded = encode(nli)
console.log(encoded)
// Example: Decode a standalone NLI
const decoded = decode(encoded)
console.log(decoded)
// Example: Encode and decode a StoreyNLI for TUID
const storeyNli = { ...decoded, storey: 5 }
const tuidEncoded = encodeTUID(storeyNli)
console.log(tuidEncoded)
const tuidDecoded = decodeTUID(tuidEncoded)
console.log(tuidDecoded)