Geodata Processor

How to download and run

Go to the Public Downloads and get this executable:

  • tinmanpc.exe

The executable is self-contained and can be run without prior installation.

The geodata processor is included in the command-line tool tinmanpc (see SDK components), which provides access to the functionality of the Tinman 3D SDK via scripting.

Please refer to the Geodata Examples for details and examples on how to use the geodata processor.
Command-line prompt
  _______  _                                   ____   _____
 |__   __|(_)                                 |___ \ |  __ \
    | |    _  _ __   _ __ ___    __ _  _ __     __) || |  | |
    | |   | || '_ \ | '_ ` _ \  / _` || '_ \   |__ < | |  | |
    | |   | || | | || | | | | || (_| || | | |  ___) || |__| |
    |_|   |_||_| |_||_| |_| |_| \__,_||_| |_| |____/ |_____/

          http://www.tinman3d.com - info@tinman3d.com

Tinman Processor - v1.0 (C) 2012-2021 Matthias Englert, Fulda

Using logfile path: c:\Users\Tinman3D\tinmanpc.log
Using geo registry: EPSG 9.9.1 / Tinman 1.0

No command line given, exiting now.

Type 'tinmanpc help' for a quick-start.

Technically, the user configures one or more Operation objects, which are then run by the tool.

The Workshop Application provides a convenient way to work with script files interactively.

The executables of the geodata processor can be found in the Tinman 3D SDK package here:

bin/win.*/tinmanpc

Help System

A help system is built into the geodata processor, which can be accessed via the help command.

The help system includes a copy of the scripting reference, so you can work with the geodata processor even if you have no access to this manual.
Output of 'help' command
> tinmanpc help

Command line usage:

help <name>

  Shows information about the config script element <name>.

  Try 'help Tinman' for a start.

whats <path>

  Shows information about the file given by <path>.

grammar

  Displays detailed information about the syntax of the command line.

run <targets> [ with <parameters> ] [ from <path> ]

  Runs action targets that are defined in a config script.

  targets    : Comma-separated list of script expressions that shall be
               evaluated and processed or * to run all suitable variables in
               the script.

  parameters : Optional comma-separated list of <lvalue>=<expr> pairs, where
               <lvalue> is an expression that evaluates to an L-value (e.g. a
               script variable or config object field) and <expr> is the
               expression that gives the value.

  path       : Optional path to the config script file. If not given, the
               config script text is read from standard input.

  The following config types can be run:

  Tinman.Operation

    A background operation, e.g. for importing geodata into heightmaps or
    projecting geodata. A progress bar is displayed for each target.

dump [ @asc | @bmp | @hgt ] <targets>
     [ with <parameters> ]
     [ from <path> ]

  Similar to 'run' command, but prints information about the targets instead of
  processing them.

  Use '@asc' to dump image pixels onto the console as an ASCII art image. This
  can be useful for quickly checking that all parameters are set correctly
  before starting a lengthy import operation.

  Use '@bmp' to dump the image as a bitmap file into the current directory.

  Use '@hgt' to dump the image as a rectangular heightmap dataset file into
  the current directory.

sysinfo

  Dumps some system information.

unlock <file>

  Unlocks a protected content file.

  The unlock key is read from standard input.

System Info

You can dump system information specific to the Tinman 3D SDK with the geodata processor.

Use the system info to quickly determine which plugins are available and to find out where each module puts its user data.
Output of 'sysinfo' command
> tinmanpc sysinfo

Dumping system information...

Tinman.Core v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.Core

  DatabaseUtil.Cache   : 96 MB
  LowLevel.Is64Bit     : true
  LowLevel.IsDebug     : false
  LowLevel.Language    : C#
  LowLevel.MemoryTotal : 16069 MB
  LowLevel.MemoryUsed  : 56 MB
  LowLevel.Platform    : DOT.NET 4.8/WinAPI
  LowLevel.Processors  : 24
  Path.Home            : c:\Users\Tinman3D
  Path.Temp            : c:\Users\Tinman3D\AppData\Local\Temp\

Tinman.Terrain v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.Terrain

  Heightmap.Cache : 1024 MB
  Pyramid.Cache   : 1024 MB

  ImageFormat

    'Any' : Automatic image format
    'BMP' : Built-in support for BMP
    'DDS' : Built-in support for DDS
    'JPG' : Built-in support for JPEG
    'PNG' : Built-in support for PNG
    'PXB' : Tinman 3D PiXel Buffer
    'TGA' : Built-in support for TGA
    'TIFF' : Built-in support for TIFF, GeoTIFF, BigTIFF
    'TXB' : Tinman 3D TeXel Buffer
    'GDAL' : GDAL 2.4.4, released 2020/01/08
    'GDAL+PROJ' : GDAL 2.4.4, released 2020/01/08

  ShapeFormat

    'Any' : Automatic shape format
    'CSH' : Tinman 3D Compiled SHape
    'SHP' : ESRI Shapefile

Tinman.AddOns.GDAL v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.AddOns.GDAL

Tinman.Engine v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.Engine

  ModelFormat

    'Any' : Automatic model format
    'CMH' : Tinman 3D Compiled Model Hierarchy
    'LAS' : LASer (LAS) File Format 1.3
    'OBJ' : Wavefront OBJ

Tinman.AddOns v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.AddOns

  ConfigValueBrowser:

    'Tinman/AddOns'

Tinman.AddOns.Assimp v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.AddOns.Assimp

Tinman.Processor v1.0 - 2020/12/22

  Settings : c:\Users\Tinman3D\AppData\Local\Tinman3D\Tinman.Processor

Log Messages

A logfile is written to each time the Processor runs (tinmanpc.log).

The full path to the logfile is indicated in the console output:

> tinmanpc
...
Using logfile path: c:\Users\Tinman3D\tinmanpc.log
...

This is the log file format:

2015-07-01 06:49:40 [C] Tinman Processor started with command line:
                        whats Logo.png                              [Tinman.Tools.Processor.ProcessorApplication]

Errors are indicated with [E], warnings with [W].

During normal operation, neither errors nor warnings should occur.

Geodata Inspection

You can use the geodata processor to inspect properties of images and datasets.

The Workshop Application provides advanced interactive inspection and browsing capabilities.
Output of 'whats' command
> tinmanpc whats mega90n000eb.lbl

What is [mega90n000eb.lbl]?

It is a file in the local filesystem:

e:\Hive\svn.tinman\release\data\geo\Mars\MOLA\data\mega90n000eb.lbl

It is an image:

Image.Info
{
  width                = 5760,
  height               = 2880,
  pixelFormat          = [Grayscale, SixteenBits],
  nodata               = -32768,
  pixelRange           = {Vec2: -32768, 32767},
  layer                = Elevation,
  georef               =
  {
    coordSys =
    {
      name           = 'SIMPLE_CYLINDRICAL MARS',
      geographic     = {null, 'D_MARS', {null, 'MARS', 3396000}, {null, 'Reference_Meridian'}},
      projection     = CoordOp
      {
        method    = Equirectangular,
        easting   = {0, {'EPSG::9001/U', 'metre', Length}},
        latitude  = {0, {'EPSG::9102/U', 'degree', Angle, 0.0174532925199433}},
        longitude = {180, {'EPSG::9102/U', 'degree', Angle, 0.0174532925199433}},
        northing  = {0, {'EPSG::9001/U', 'metre', Length}},
        parallel1 = {0, {'EPSG::9102/U', 'degree', Angle, 0.0174532925199433}}
      },
      geographicUnit = {'EPSG::9102/U', 'degree', Angle, 0.0174532925199433},
      projectionUnit = {'EPSG::9001/U', 'metre', Length},
      verticalUnit   = {'EPSG::9001/U', 'metre', Length}
    },
    raster   = {TiepointScale: {0, 0}, {-10674105, 5338905}, {3705, -3705}}
  },
  fileFormat           = 'GDAL',
  filePath             = <e:\Hive\svn.tinman\release\data\geo\Mars\MOLA\data\mega90n000eb.lbl>,
  groundSampleDistance = 3704.9987137777734,
  optimalHeightmapSize = [{1025, 4690.112288108032}, {2049, 2345.054047424423}]
}

Dump image pixels to console (y/n) ? n

Also you can dump image pixels to the console as ASCII art. This is a fun-feature, but can still be helpful for verification and testing.

The feature to output colored text to the console has been dropped from the Tinman 3D SDK. However, for historical reasons, here is a screenshot of a colorful ASCII art dump:

ascii dump
Figure 1. Geodata Processor - ASCII dump