Nemo Library - introduction and purpose

Petaluma 1

The natural domain of all geographical data is isometric, finite and boundless spheroidal surface of the planet Earth. This is why it is frequently both easier and more useful to build a digital globe, then it is to build a digital map:

Petaluma 2

The traditional method of numerical representation of geographic coordinates consists of angular latitude and longitude (φ and λ, respectively). This coordinate form is ill-suited for processing on a digital computer. Specifically, the implementer of any application that handles large volumes of wide area geographic data must find a solution to three fundamental software engineering problems:

Nemo library is a collection of C-language functions, that provides a path to the solution of those problems. It may work effectively for a large number of wide area or global geographical applications that are built using the following design strategy:

The approach to geographic data representation outlined above provides a sound foundation for construction of complex, multi‑point data objects (point sets, lines, surface areas) and of their application‑specific spatial sorting and searching.

This web‑page is only a brief outline; there is a [Library Reference Manual] and a discussion of the above mentioned [Nemo Library Coordinate Systems]; both documents are included in the distribution and are viewable on‑line. Abundant comments and many illustrations accompany the C language Library source code.

The use of the Nemo Library is governed by a [BSD‑style license], the text of which is also included in the distribution archive.

The Library is distributed as a compresed .tar archive. There are no "library versions" and thus there is no "version control"; there is however a 4+3‑digit (YYYY.DDD) numeric string Library edition publication date, which is included in the distribution file name, the reference manual and the API header (nemo.h) file.

Download the Library 2023.215 release archive (1.5 MB): [nemoLibrary2023.215.tar.gz]

Library distribution archives are time‑stamped by In addition to time‑stamping, this makes possible the verification of downloaded file using its SHA‑2 fingerprint (bfa3d6c72f6d6b51d4f9aff3229a03c203a4836230c1d965d1c953b267b72feb) and's signing key. (Consult their web-site and/or the cerificate for details).

Contact the author: [Hrvoje Lukatela]