Discovery of Object Schemas Discovery of Feed Data

Copyright © 2006 Open Geospatial Consortium – All rights reserved 71 16 GeoVideo Service GVS A GeoVideo Service provides an integrated client access to live or archived video data and associated technical and geospatial metadata. This section documents the process of accessing a geovideo services from an Integrated Client.

16.1 Connecting to a GeoVideo Service

The GeoVideo Service as currently implemented does not lend itself well to the publishfindbind archetype, and so only the clientserver interaction is described below.

16.1.1 Discovery of Object Schemas

A getGVSObjectDescr request is issued to retrieve an array of CObjectDescr objects. These objects provide access to metadata regarding the role of each object, as well as its attribution.

16.1.2 Discovery of Feed Data

Once the schema is known, this information can be used to discover the feed the user is interested in either tabularly, or graphically. A Tabular Discovery 72 Copyright © 2006 Open Geospatial Consortium – All rights reserved Integrated Client GVS getGVSObjectDescr ArrayOfCObjectDescr getCamerasFromQuery ArrayOfCCamera getFeedsFromQuery ArrayOfCFeeds Request URL Video Stream Video Server Figure 21 Tabular Discovery To retrieve a list of geovideo objects, two method calls are available, getFeedsFromQuery and getCamerasFromQuery, which return arrays of feed and camera objects respectively. The syntax for making the requests is the same. A CQueryObject is created with the objectName reflecting the object of interest feed or camera. A criteria string, conforming to the syntax of an SQL where clause is used to narrow the search, and an ArrayOfCSpaceTimeBounds object describes the spatial-temporal extents of interest. The CSpaceTimeBounds object contains flags indicating whether the search is to match videos that start before or end after the given times, span the times or fall entirely between them. It also defines the time endpoints, and a bounding box to restrict the search. In the case of the getFeedsFromQuery request, the result is an ArrayOfCFeed object that contain data about the feed, including a URL that can be used to request the geovideo stream. Copyright © 2006 Open Geospatial Consortium – All rights reserved 73 The result of a getCamerasFromQuery request is an ArrayOfCCamera object. The camera id field can be used in a getFeedsFromQuery request. The purpose of these methods is to distinguish the properties of a feed from those of a camera. This method of discovery is illustrated in the following diagram. B Graphical Discovery Graphical discovery allows the client to display a live set of points over a map, and select one based on its location. Integrated Client GVS getGVSObjectDescr ArrayOfCObjectDescr getFeedsFromQuery Geotemoral Stream Request URL Video Stream Video Server getFeedsFromIds ArrayOfCFeeds Figure 22 Graphical Discovery There is no method defined to allow a stream to be requested to include only those feeds within a specified area. A getFeedsFromQuery request is used, with the added condition of source like boundingbox added to the criteria clause. This will provide an ArrayOfCFeed object as before, but the feeds included will be those that contain id, temporal and location data for multiple geovideo feeds. 74 Copyright © 2006 Open Geospatial Consortium – All rights reserved C Connecting to a Video Stream After a feed has been selected as described above, the feed data can be retrieved using a getFeedsFromIds. Each CFeed object contains a URL field that is used to connect to the geovideo stream. The geotemporal data is embedded in the closed-caption field of the video stream and must be extracted and parsed.

16.2 Issues and Tradeoffs with GeoVideo Service Communication