Package com.luciad.format.vpf


package com.luciad.format.vpf

This package provides support for decoding VPF (Vector Product Format) data and displaying VPF data using GeoSym.

Vector Product Format support

This package provides support for the VPF format. The implementation is based on US military standard MIL-STD-2407, 28 June 1996.

VPF database structure
  • The database (represented by TLcdVPFDatabase) is the root element of a VPF dataset, and contains one or more libraries.
  • A library (represented by TLcdVPFLibrary) contains data for a specific geographic area (depending on the level of detail, this can be a continent, a country, or another geographic consistent area), and has several coverages.
  • A coverage (represented by TLcdVPFCoverage) is a group of feature classes, grouped per theme (for example, transportation, vegetation, ...). All coverages within a library share the same geographic reference system.
  • A feature class (represented by TLcdVPFFeatureClass is a group of features of the same type (for example, roads, trees, ...). All feature classes within a coverage have the same topological level.
  • A feature is an object, representing a real-world entity (for example, one road, one airport, ...). It is represented in LuciadLightspeed by an object, implementing several interfaces:
    • ILcdVPFFeature
    • ILcdFACCFeature
    • ILcdDataObject
    • ILcdFeatured
    • ILcdShape (depending on the feature class type, this can be an ILcdPoint, an ILcdPolyline, an ILcdComplexPolygon or an ILcdText
  • Each feature has a set of attributes, which can be accessed in different ways (see the API docs of TLcdVPFFeatureClass for more information on attributes).

These classes can be used to inspect the structure of a VPF database, and, for example, represent it as a tree in a GUI component.

Decoding models

The TLcdVPFModelDecoder can be used to create an ILcdModel containing parts of the VPF dataset (a VPF model can contain part or all of the features of a single VPF feature class). The easiest way to create a model for a certain feature class, is to retrieve the feature class from the database, and pass it to the decoder, as follows:

 TLcdVPFFeatureClass fc = new TLcdVPFDatabase("path").getLibrary("aLibName").getCoverage("aCovName").getFeatureClass("aFeatureClassName").
 TLcdVPFModelDecoder vpf_decoder = new TLcdVPFModelDecoder();
 ILcdModel model = vpf_decoder.decode(fc);
 
Displaying VPF data

The com.luciad.format.vpf.gxy package can be used for displaying the VPF data on a map.

GeoSym support

Since version 3.0 this package provides support for the GeoSym symbology. GeoSym defines a set of styles for points, lines, areas and text, and how real-world objects should be mapped on these symbols. For the mapping, it makes use of the DIGEST FACC standard, which defines a list of feature class codes and attribute codes for specifying the properties of an object in a unique, standardized way. This GeoSym implementation is based on US military standard MIL-PRF-89045, 5 June 2000.

The main access point for using GeoSym is the TLcdVPFGeoSymProvider.getInstance(aProductType) method, which instantiates a TLcdVPFGeoSymProvider for the given VPF product type. The VPF product type can be retrieved from the VPF library.

The GeoSym provider can return a valid point, line or area style for any object implementing the ILcdVPFFACCFeature interface, by inspecting the object's FACC feature classs code and FACC attributes. All model elements of models decoded by the TLcdVPFModelDecoder implement this interface.

The VPF painter provider in the com.luciad.format.vpf.gxy package can be configured to use a GeoSym provider.

Deprecated classes

The following classes are deprecated and should no longer be used:
  • TLcdVPFDatabasePanel
  • TLcdVPFDatabaseTree
  • TLcdVPFLayer
  • TLcdVPFLayerFactory
This package depends on JDK 1.2.
Since:
1.5