January 09, 2006

Dealing with time in GML

Virtually all geographic phenomena involve time. It should come as no surprise then that GML provides constructs for the description of time, and for the representation of time dependent geographic features. GML can be used to describe a wide variety of features that are time dependent from the motion of a person or vehicle, to the development of a hurricane and the impact zone of an earthquake.

The description of time is handled by the temporal.xsd schema. This schema defines the key GML temporal objects, namely:

· TimePeriod

· TimeInstant

The description of the temporal development of a geographic feature or features is handled in the dynamicfeature.xsd which we will discuss in more detail a little later on.

TimeInstant models a moment in time and has the following structure.

<gml:TimeInstant>
    <gml:timePosition>2003-02-13T12:28-08:00</gml:timePosition>
</gml:TimeInstant>

Several time representations are possible for timePosition including:

· XML Schema time or dataTime (this is also based on ISO 8601)

· gml:CalDate - enables a very llexible encoding of calendar dates.

· A URI reference

· A decimal value

The interpretation of the timePosition value is determined by the optional attributes of timePosition. In particular the frame attribute allows the user to specify the temporal reference system to be used for interpretation of the value of gml:timePosition.

A temporal reference system can be defined in GML using the temporalReference.xsd. Such a definition might live in a coordinate reference system dictionary, possibly managed by a registry such as the OGC Web Registry Service (WRS). The frame attrbute could then reference this definition. Alternatively it could point to some other definition expressed as text ir in some other grammar.

TimePeriods are defined in the same menner. A TimePeriod (a temporal duration or interval) can be expressed in a number of different ways to allow users to tradeoff between expressiveness and simplicity. These different forms include:

<gml:TimePeriod>
    <gml:begin>2003-02-13T12:28-08:00</gml:begin>
    <gml:end>2003-02-13T12:30-08:00</gml:end>
<gml:TimePeriod>

Here the begin, end elements are timePositions and carry the same attributes as the timePosition discussed above.

<gml:TimePeriod>
    <gml:beginPosition>
        <gml:TimeInstant>
            <gml:timePosition>2003-02-13T12:28-08:00</gml:timePosition>
        </gml:TimeInstant>
    </gml:beginPosition>
    </gml:endPosition xlink:href = "... #T001"/>
<gml:TimePeriod>

Note that this form allows the TimePeriod to be defined by TimeInstant objects and allows those TimeInstant objects to be remotely referenced using the xlink:href attribute. This means that TimeInstants can be shared across multiple TimePeriod definitions. And finally:

<gml:TimePeriod gml:id="T001">
    <gml:duration>PT130S</gml:duration>
<gml:TimePeriod>

This form allows the expression of a time period by its length rather than by begin and end positions in time. The value type of gml:duration is xsd:duration, which is defined by ISO 8601 (see http://books.xmlschemata.org/relaxng/ch19-77073.html) for additional details.

Time constructs are typically used as the values of temporal properties of features. These might describe the creation or termination "time" of the feature, "effective" dates, the time of sensor observations, or the time at which a feature was in a particular state.

GML includes two models to describe the time evoluation of a feature (an object of interest). These are:

  • SnapShot
  • TimeSlice or time history
A SnapShot is a view of a feature at an instant in time or over an interval in time (depending on the time construct used). A snapshot has a single time property whose value is a TimePeriod or a TimeInstant. For example:

<abc:Company gml:id="L31">
    <gml:name>General Motors</gml:name>
    <abc:location>...</abc:location>
    <abc:founded>
        <gml:TimeInstant>.. </gml:TimeInstant>
    </abc:founded>
</abc:Company>

Each snapshot is an individual view of the feature in question and GML implies no organization of the snap shots into any sort of temporal evolution.

Such a view is, however, provided by the Dynamic Feature. A Dynamic Feature is a feature with a gml:history property, the value of which is a set of gml:TimeSlices. The time invariant properties of the feature are outside the history property. TimeSlices contain the time varying properties of the feature. The properties in a TimeSlice are determined by the application schema for the TimeSlice just as they are for the feature as a whole. Users can thus define more or less arbitrary time dependent properties for a feature. A dynamic feature has the folowing general structure:

<abc:Hurricanegml:id="I01">
    <gml:name>Katrina</gml:name>
    <gml:history>
        <abc:TimeView gml:id="H01">
            <gml:validTime>
                <gml:TimeInstant> .. </gml:TimeInstant>
            <gml:validTime>
            <abc:position> .. </abc:position>
            <abc:windSpeed> .. </abc:windSpeed>
            <abc:category> .. </abc:category>
        </abc:TimeView>
            ...
        <abc:TimeView gml:id="H01">
            <gml:validTime>
                <gml:TimeInstant> .. </gml:TimeInstant>
            <gml:validTime>
            <abc:position> .. </abc:position>
            <abc:windSpeed> .. </abc:windSpeed>
            <abc:category> .. </abc:category>
        </abc:TimeView>
    <gml:history>
<abc:Hurricane>

Note that by having such a standard structure, software can be written which can visualize or analyze the hisory of a feature instance. Note that this also avoids propblems with handling multiple feature fragments (same id, different validTimes) with the same gml:id.

Users can also create additional patterns for describing the temporal evolution of feature objects.


Further information on creating dynamic feature schemas and using GML temporal constructs can be found in the book GML Foundation for the GeoWeb (http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0470871539.html).
Posted by RLake at 22:06:27 | Permanent Link | Comments (1) |
Comments
1 - Hell! Great site!
animal stuffed webkinz
animal webkinz
animal code webkinz
webkinz dogs and more
free webkinz dog
free webkinz panda
webkinz
cheat code webkinz
cheat code pet webkinz
cheat code secret webkinz
cheat code webkinz world
cheat code money webkinz
webkinz world
cheat webkinz
code webkinz
webkinz welcome world
code secret webkinz
love puppy webkinz
child webkinz welcome world
recipe webkinz
webkinz world.com
cheeky dog webkinz
black lab webkinz
ganz webkinz world
ganz site web webkinz
ganz site web webkinz welcome
ganz webkinz welcome world
new webkinz
webkinz welcome
ganz webkinz
pet play webkinz world
code free secret webkinz
bear polar webkinz
game webkinz
code free webkinz
recipe secret super webkinz
toy webkinz
bunny sherbert webkinz
game pet play webkinz world
code secret webkins webkinz
web webkinz
cat cheeky webkinz
recipe secret webkinz
store webkinz
cat webkinz
code secret toy webkinz
panda webkinz
google webkinz
code pet plush secret webkinz
kinz lil webkinz
pug webkinz
googles webkinz
lil webkinz
monkey webkinz
ganz pet play webkinz world
clothes webkinz
search webkinz
leopard webkinz
valentine webkinz
picture webkinz
rabbit webkinz
cheat money webkinz
bullfrog webkinz
hippo webkinz
chihuahua webkinz
new recipe webkinz
pet webkinz
frog webkinz
koala webkinz
password webkinz
cheeky monkey webkinz
plush toy webkinz
dog webkinz
retired webkinz
cheap webkinz
bunny sherbet webkinz
horse webkinz
bulldog webkinz
com webkins webkinz
tiger webkinz
ca webkinz
gorilla webkinz
golden retriever webkinz
collection webkinz
cat persian webkinz
accessory webkinz
unicorn webkinz
cow webkinz
frog tree webkinz
webkins webkinz
free webkinz
locator store webkinz
cheeky webkinz
bull dog webkinz
find webkinz where
bear black webkinz
shop webkinz
penguin webkinz
webkinz yorkie
pig webkinz
cheat webkinz world
ganz site web webkinz world
recipe webkinz world
code secret webkinz world
recipe secret webkinz world
game webkinz world
play webkinz world
pet webkinz world
web webkinz world
cheat kinzcash webkinz
cheat tamagotchi webkinz
cheat ganz site web webkinz
cheat kincash webkinz
cheat secret webkinz
cheat game webkinz
cheat recipe webkinz
any cheat there webkinz
cheat tamagotchi toy webkinz
code unused webkinz
code com secret webkinz
code tag webkinz
buy code secret webkinz where
cheeky code dog secret webkinz
code webkinz xom
code pet secret webkinz
code free new pet webkinz
code pet webkinz
code friend webkinz
code secret tag webkinz
code love puppy secret webkinz
new pet recipe webkinz
food recipe webkinz
book recipe unofficial webkinz
banana dome recipe webkinz
recipe stove webkinz
holiday new recipe webkinz
ganz recipe webkinz
blender recipe webkinz
book recipe webkinz
cookie recipe tornado webkinz
recipe sandwich webkinz
rare recipe webkinz
webkinz welcome world.com
black lab new webkinz
game ganz site web webkinz world (Comment this)

Written by: Anonymous at 2007/06/15 - 11:07:40
Write a comment