Skip to content

Latest commit

 

History

History
148 lines (107 loc) · 5.65 KB

CONTENT.md

File metadata and controls

148 lines (107 loc) · 5.65 KB
  • The present file, describing the content of this package.

  • The specific LGPL-3.0 licensing data.

  • Examples of usage of the TURTLE library.

    • Example illustrating the API of the TURTLE library. Note that you'll need to run the projection example first, in order to generate a local map.

    • Example of usage of a TURTLE projection object. Note that external data tiles are required, E.g. from SRTMGL1.

    • Example of usage of a TURTLE client object for multi-threaded applications. Note that external data tiles are required as well.

    • Example of usage of a TURTLE stepper object for ray tracing or Monte-carlo stepping. Note that several external data are required as detailed in the preamble of the file.

    • The specific licensing data for the examples (Public domain).

  • C header file describing the API of the TURTLE library.

  • The generic GPL-3.0 licensing data.

  • Example of Makefile for compiling the TURTLE library and the examples on UNIX systems.

  • A brief description of the TURTLE library with some guidance for usage.

  • The C source for building TURTLE library.

    • External dependencies packaged with the TURTLE library and re-distributed with their own licenses.

      Source of the JSMN library, allowing to parse JSON files. This library is distributed under the MIT license.

      Header file of the JSMN library, including the licensing data.

      Source of the TinyDir library, an OS-independent wrapper for browsing directories content. This library is distributed under a simplified BSD license.

      Header file of the TinyDir library, including the licensing data.

    • The source of the TURTLE library, written in C99.

      • Implementation of the TURTLE client object. The client object allows thread safe access to a stack of maps, E.g. for global DEMs.

      • Internal definitions for the TURTLE client object.

      • Implementation of ECEF conversion routines.

      • Implementation of error handling routines.

      • Internal definitions and helper macros for error handling.

        • Implementation of a specialised GEOTIFF reader and writter, restricted to 16b grayscale TIFF images.

        • Implementation of the GRD reader and writter. This format is used by the EGM96 geoid grid.

        • Implementation of the HGT reader and writter. This is a raw binary format with network byte order, used for example by the SRTMGL1 tiles.

        • Implementation of a specialised PNG reader and writter, restricted to 16b grayscale images and including meta data in JSON.

      • Implementation of generic reader and writter objects.

      • Internal definitions of the reader and writter objects.

      • Implementation of a chained list used internaly by TURTLE.

      • Internal definitions for chained lists.

      • Implementation of the TURTLE map object. This object is a wrapper to grid topography data.

      • Internal definitions for the TURTLE map object.

      • Implementation of the TURTLE projection object. This object allows to convert cartographic coordinates to/from geodetic ones.

      • Internal definitions for the TURTLE projection object.

      • Implementation of the TURTLE stack object. This object handles a stack of maps, E.g. for global DEM.

      • Internal definitions for the TURTLE stack object.

      • Implementation of the TURTLE stepper object. This object is a utility for stepping through a topography described by one or more DEMs, E.g. in a Monte-Carlo.

      • Internal definitions for the TURTLE stepper object.

  • Unit tests for the TURTLE library. This requires libcheck which can be installed as: make libcheck. Then to run the tests do: make test.