VF Format

VF is an evolving specification for an efficient file format to describe vegetation instances.

Motivation and concepts

There is a need to describe the distribution of vegetation in an explicit way.  Some types of vegetation (e.g. grasses) are not well suited for representation of their location by a single point, but it is acceptable for the general case.  Each plant (plant instance) generally has a 'stem' or 'trunk' which is has a center which can be stored as a point.

Of the large number of additional attributes that could be used to describe the plant (type, size, age, shape, health, damage, coloring, etc.) we must pick a few key attributes.  The choice of attributes is constrained both for efficiency, and because the ability of visualization software to represent additional attributes is still limited with the software that exists in the foreseeable future.

Current format spec: VF Version 2.0

The header begins with the following:

Field Length Description
  6 A marker which indicates that this is a VF file.  It shall contain the characters "vf2.0"
CRS_Length 2 (short) Length in bytes of the CRS string.
CRS CRS_Length Description of a coordinate reference system (CRS) in the OpenGIS Well-Known Text (WKT) format.

Next is a list of species:

Field Length Description
Num_Species 4 (int) The number of species that occur in this file.

followed by a set of Num_Species strings.  Each string is encoded as a length (2 byte short) and an ASCII string containing the name of a species, e.g. Cocos nucifera.

Each species only needs to occur once.

Next is a list of the plant instances, which begins with:

Field Length Description
Num_Plants 4 (int) The number of plant instances in this file.
Origin_X 8 (double) X coordinate of local origin.
Origin_Y 8 (double) Y coordinate of local origin.

followed by Count plant instances, each composed of the following fields:

Length Contents Description
4 (float) local X coordinate  The location of this plant, relative to the local origin.
4 (float) local Y coordinate
2 (short) Height This is the full extent, in centimeters, from the ground to the top of the plant.  Visualization software can be expected to imply other attributes, such as width and age, from this value.
2 (short) Species An ID for the species.  This is an index into the list of species previously indicated in the file.

All numeric values use little-endian encoding (Intel, not Motorola).

The ASCII strings do not include a NULL at the end.


Choice of the local origin of the file is important for preserving precision when the VF file is read and written.  Therefore, the recommended location is the center of the geographic extents of the file.  With that choice of location, the VF file can cover an area as large as 200*200km with precision of better than 1cm.

Older format spec: VF Version 1.1