Parent Topic: GeoGateway Data Model

Metadata

Each layer in a GeoGateway database can have metadata associated with it. Metadata is a set of string name/value pairs. An example is the NO_DATA_VALUE metadata field for raster channels. If this metadata is provided, the name or tag is NO_DATA_VALUE, and the value will be treated as a special raster image value, which is a no-data or missing data value.

There are a variety of predefined metadata tags with special meanings, but there is no system-imposed restriction on what metadata tags can be used. In essence, metadata is a way of associating application or translator defined information with data layers, without requiring that the whole GeoGateway system or all GeoGateway applications be aware of issues relating to that metadata.

Details of predefined metadata items for different layers are described in the definitions of those layers above.

Major current uses of metadata are for associating pointers to related topological vector layers, and for indicating display information (preferred scaling, LUTs, and PCTs) with raster layers.

These include a special class of ``layer reference'' metadata tags. Any tag ending in _REF is treated as being in the layer reference format. A layer reference is a special format for referring to other layers in the same or different GeoGateway databases.

Layer References
A REF string, is a string intended to encode enough information to find a particular data layer, with the assumption that it may be interpreted as being relative to a particular base file not shown in the string.

First, some examples to help get the flavour of the REF strings:

  gdb:/pci/src/gen/irvine.pix/{IMG:3}
This is a reference to the third channel of the file /pci/demo/irvine.pix.

  gdb:/{IMG:3}
This is a reference to the third channel of the current (base) file.

  gdb:../irvine.pix/{VEC:5}
This is a reference to vector segment five (not necessarily the fifth vector segment) on the file irvine.pix, which is one directory above the current base file.

  gdb:/{LUT:6}
This is a reference to LUT segment 6, in the current file.

  gdb:/pci/demo/irvine.pix
This is a reference to the file /pci/demo/irvine.pix. Within the API, the layer type would be LAYER_FILE.

  gdb:/{VEC:"FIELDBND"}
This is a reference to the vector segment in the current file with a layer name of FIELDBND.

Generally speaking, a GeoGateway Layer REF contains the following pieces.

REF class: Currently this is always "gdb:"; however, this should be treated as optional on input, in order that the layer ``/pci/demo/irvine.pix'' is the same as ``gdb:/pci/demo/irvine.pix''. The intention is that in the future, protocol specifiers like ``ftp://ftp.pci.on.ca/pub/irvine.pix'' can be used to refer to layers on the internet.

Filename: This is a filename in absolute or relative format. Either forward or backward slashes are considered acceptable as path component separators. It is unclear yet whether VMS or MacOS path formats will be acceptable. This field is optional; if omitted, the file of operation is implicitly the current one. Relative paths are interpreted relative to the path of the current file.

Layer Specifier: This takes the form ``/{layer_type:layer_id}''. The whole layer specifier is omitted for LAYER_FILE REF strings. The layer type is either IMG, or one of the three-letter segment type names. The layer_id is either a channel number, segment number, or layer name enclosed in double quotes.


Parent Topic: GeoGateway Data Model
About PCI Help Gateway