Home Hierarchy Members Alphabetical Related Pages

GeoMetadata Class Reference
[Standard Node Types]

#include <geometadata.h>

Inherits Node.

Inheritance diagram for GeoMetadata:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 GeoMetadata (const char *name="")
virtual ~GeoMetadata ()
virtual unsigned int nbFields () const
virtual FieldHandle field (const std::string &n)
virtual FieldHandle field (const unsigned int i)
virtual bool isSetToDefaultValue (const unsigned int i) const
virtual unsigned int nbEventsIn () const
virtual EventInHandle eventIn (const std::string &n)
virtual EventInHandle eventIn (const unsigned int i)
virtual unsigned int nbEventsOut () const
virtual EventOutHandle eventOut (const std::string &n)
virtual EventOutHandle eventOut (const unsigned int i)
const char * typeName () const
virtual Nodeduplicate () const
virtual Nodeduplicate (std::map< const Node *, Node * > &) const

Public Attributes

Exposed Fields
A field that is capable of receiving events via an eventIn to change its value(s), and generating events via an eventOut when its value(s) change.

MFNode data
MFString summary
MFString url
Events In
EventIn< MFNodeset_data
EventIn< MFStringset_summary
EventIn< MFStringset_url
Events Out
EventOut< MFNodedata_changed
EventOut< MFStringsummary_changed
EventOut< MFStringurl_changed

Detailed Description

Here is the documentation for this node type, from the ISO standard.

6.27 GeoMetadata

The GeoMetadata node aims to specify metadata describing any number of GeoVRML nodes. This can be thought of as similar to a WorldInfo node, but specifically for describing geospatial information.

There are a number of organizations that are already working on standards and representations for geospatial metadata, such as the FGDC, ISO TC211, CEN TC287, OpenGIS Consortium, and others. Rather than adopt any particular standard, the purpose of the GeoMetadata node is to provide links to any of these complete metadata descriptions, with the option to also supply a short, human-readable summary. It is not the purpose of the GeoMetadata node to introduce a new metadata standard.

The url field is used to specify a hypertext link to an external, complete metadata description. Multiple URL strings can be specified in order to provide alternative locations for the same metadata file. An optional hint can be provided in the summary field to specify the format of the metadata in the case where this cannot be deduced easily.

The summary string array contains a set of keyword/value pairs, with each keyword and its subsequent value contained in a separate string, i.e. there should always be an even (or zero) number of strings. This provides a simple, extensible mechanism to include metadata elements that are human-readable and easy to parse. The following list specifies a number of keywords and the format that should be used to describe their values. To support future additions to this list, if an unknown keyword is found, it (and its associated value) should be ignored.

Table 6.x -- GeoMetadata recommended keywords

Keyword

Value

title

A name to succinctly identify the dataset to user. For example, "San Francisco, CA".

description

A brief textual description or summary of the content of the dataset. For example, "LANDSAT 7 satellite imagery taken over northern Scotland".

coordinateSystem

The spatial reference frame used to represent the data, e.g. GD, UTM, LCC, etc. The list of valid codes that can be used in this field are defined in Section 4.1 of E.[RI00]. In the case of UTM, the zone number should also be specified in the format "UTM Zx", where 1 <= x <= 60. For example, "UTM Z11".

horizontalDatum

The name of the geodetic datum. The list of valid codes that can be used in this field are defined in Section 4.3 of E.[RI00]. For example, "W84".

verticalDatum

The name of the vertical datum (geoid). The list of valid codes that can be used in this field are defined in Section 4.3 of E.[RI00]. For example, "W84".

ellipsoid

The name of the geodetic ellipsoid. The list of valid codes that can be used in this field are defined in Section 4.2 of E.[RI00]. For example, "WE".

extent

The bounding coordinates for the dataset given in spatial reference frame specified by the coordinateSystem keyword. These are provided in the order eastmost, southmost, westmost, northmost, followed by the minimum and maxiumum elevation for the dataset. An example for GD is: "-180.0 -90.0 180.0 90.0 0.0 2000.0".

resolution

The resolution, or ground sample distance, given in units of metres. For example, "30".

originator

A string defining the originator of the data, for example the author, agency, organization, publisher, etc. For example, "Martin Reddy, SRI International, Menlo Park, CA 94025"

copyright

Any appropriate copyright declaration that pertains to the data. For example, "(c) Copyright 2000, SRI International. All rights reserved. Freely distributable."

date

A single date/time, or a date/time range, defining the valid time period that the data pertains to. Dates are specified in the format "YYYY MM DD [HH:MM]". Years in the current time period should be specified using four digits, e.g. "1999" or "2001". Years can have other than 4 digits and can be negative. A date range is specified by supplying two values separated by a "-" character. An optional time can be supplied should this level of accuracy be required. Times are to be specified in 24-hour format with respect to GMT. For example, "1999 01 01 00:00 - 1999 12 31 23:59".

metadataFormat

A string that specifies the format of the external metadata description pointed to by url field of the GeoMetadata node. For example, "FGDC", "ISO TC211", "CEN TC287", "OGC", etc.

dataUrl

A hypertext link to the source data used to create the VRML node(s) these metadata pertain to. Multiple dataUrl keyword/value pairs can be specified in order to provide alternative locations for the same source file. For example, "http://www.foo.bar/data/sf1".

dataFormat

A free-text string that describes the format of the source data used to create the VRML node(s) that these metadata pertain to. This refers to the source data pointed to by the dataUrl keyword (if present). For example, "USGS 7.5-min DEM".

The data field is used to list all of the nodes that implement the data described in the GeoMetadata node. For example, if the GeoMetadata node is describing a height field grid, the appropriate GeoElevationGrid node could be included inside the data field. The nodes in the data field are not rendered, so DEF/USE may be employed to first describe them and then to use them in the scene graph This approach associates multiple data nodes with a single GeoMetadata node, specifies multiple GeoMetadata nodes within a single scene, and provides a mechanism to easily locate all of the data that pertain to any particular metadata entry. If the data field is not specified, it is assumed that the GeoMetadata node pertains to the entire scene.


Constructor & Destructor Documentation

GeoMetadata const char *  name = ""  ) 
 

Construct a node with all its fields set to default value, which is equivalent to the code below:

~GeoMetadata  )  [virtual]
 

Virtual destructor, does nothing


Member Function Documentation

wrl::Node * duplicate std::map< const Node *, Node * > &   )  const [virtual]
 

Implements Node.

wrl::Node * duplicate  )  const [virtual]
 

Returns a deep copy of this node, that is a fully independant node with all children (if any) also copied. This is mainly useful for instanciating protos.

Implements Node.

wrl::Node::EventInHandle eventIn const unsigned int  n  )  [virtual]
 

Return a handle on the i th event in of the node or a "unknown" typed handle if there is no such node. emarks This class has no eventIn. This function is useful, with nbEventsIn() if you want to traverse all events in of a Node.

Implements Node.

wrl::Node::EventInHandle eventIn const std::string &  n  )  [virtual]
 

Return a handle on the event in named n of the node or a "unknown" typed handle if there is no such event. Valid names are:

  • set_data
  • set_summary
  • set_url

Implements Node.

wrl::Node::EventOutHandle eventOut const unsigned int  n  )  [virtual]
 

Return a handle on the i th event out of the node or a "unknown" typed handle if there is no such node. Here is how i is related to fields:

  • 0 : data_changed
  • 1 : summary_changed
  • 2 : url_changed This function is useful, with nbEventsOut() if you want to traverse all events in of a Node.

Implements Node.

wrl::Node::EventOutHandle eventOut const std::string &  n  )  [virtual]
 

Return a handle on the event out named n of the node or a "unknown" typed handle if there is no such event. Valid names are:

  • data_changed
  • summary_changed
  • url_changed

Implements Node.

wrl::Node::FieldHandle field const unsigned int  n  )  [virtual]
 

Return a handle on the i th field of the node or a "unknown" typed handle if there is no such node. Here is how i is related to fields:

  • 0 : data
  • 1 : summary
  • 2 : url This function is useful, with nbFields() if you want to traverse all fields of a Node.

Implements Node.

wrl::Node::FieldHandle field const std::string &  n  )  [virtual]
 

Return a handle on the field named n of the node or a "unknown" typed handle if there is no such field. Valid names are:

  • data
  • summary
  • url

Implements Node.

bool isSetToDefaultValue const unsigned int  i  )  const [virtual]
 

Implements Node.

unsigned int nbEventsIn  )  const [inline, virtual]
 

Returns the number of events in for this node type.

Implements Node.

unsigned int nbEventsOut  )  const [inline, virtual]
 

Returns the number of events out for this node type.

Implements Node.

unsigned int nbFields  )  const [inline, virtual]
 

Returns the number of fields (exposed or not) for this node type.

Implements Node.

const char * typeName  )  const [inline, virtual]
 

Returns "GeoMetadata". Useful for printing.

Implements Node.


Member Data Documentation

MFNode data
 

See Detailed Description for meaning of this field. Default value is set to MFNode default value

EventOut<MFNode> data_changed
 

Changed event associated to exposedField data

EventIn<MFNode> set_data
 

Set event associated to exposedField data

EventIn<MFString> set_summary
 

Set event associated to exposedField summary

EventIn<MFString> set_url
 

Set event associated to exposedField url

MFString summary
 

See Detailed Description for meaning of this field. Default value is set to MFString default value

EventOut<MFString> summary_changed
 

Changed event associated to exposedField summary

MFString url
 

See Detailed Description for meaning of this field. Default value is set to MFString default value

EventOut<MFString> url_changed
 

Changed event associated to exposedField url


Generated on 24 Feb 2005 with doxygen version 1.3.9.1. Valid HTML 4.0! Valid CSS!