Lately (September 2006) I've been wondering if the below xml rss type feeds might be more suitable to simple sharing of latest observation data from platforms. ObsRSS is shorthand for Observations RSS.
A common concern is collecting latest observations in near real-time from various platforms
... [More]
and many different entities are trying both to provide and consume these latest data via both the usual http/ascii/xml type feeds and web services/SOAP/REST type feeds.
In addition to a more complex query based web services approach(SOAP or REST based) which can be time consuming/resource intensive to develop and maintain, what's needed for this simpler publishing/report issue is an rss type approach where there is agreement on the rss/xml format and methods for providing cross-organizational mapping for the content elements.
If existing data feeds were mapped by platform to a more community standard rss/xml type feed below once then the duplicated effort of understanding/mapping to the various individual feeds could be reduced.
Below are listed what I would consider the critical elements to achieving a useful rss type feed listed in the 'minimal form' section.
* position
o Latitude and longitude are represented in a georss style tag ( http://georss.org )which is a simplified version of gml. Latitude and longitude are representative for all observations listed with this platform or rss message.
o Elevation is referenced by the 'elev' tag (also borrow from georss) and has units of meters and a frame of reference as positive where this is height above the earth or ocean surface(mean sea level) and negative where this is depth below the earth or ocean surface(mean sea level). Elevation is listed with each observation.
* time
o use ISO8601 format in the 'dateTime' element listed with each observation including time zone to hour resolution
* observation description
o an observation needs to be described in terms of its type such as sea surface temperature, air pressure, etc. , unit of measure (uom) and observed value.
* platform handle
o we need a platform handle to display and to be used for mapping against other possibly duplicate data sources
Note in the below that xml namespace elements (xmlns) are given which further reference the list of valid element values and their definitions(such as http://nautilus.baruch.sc.edu/obsrss/observation_types.xml which was created using the perl DBIx::XML_RDB package code example). These additional reference documents could be used to create further higher level mappings and ontologies and reused as reference sources for others additional data feeds.
The filename includes a reference to the platform handle, unique timestamp for the file creation date or latest obs and convention version.
The platform handle in the below reference is a concatenation of the organization name, platform name and platform type(like carocoops_SUN2_buoy ). The platform type can be used to break up different messages from different parts of the platform like '..._buoy','..._met','..._waves',etc. This has been a useful convention for my purposes, but this convention does not have to be followed as long as the handle provides some description and forms a unique string key.
A new obs rss file would be produced with each latest set of (say hourly) observation data. These files could accumulate for say the previous day's worth of data or possibly just the latest obs only is shared depending on the data provider. The xml could be extended to reference a subscription time, frequency and possible secondary source.
Minimal form
#filename convention like follows:
#__latest_obs_v1.xml
#carocoops_SUN2_buoy_200608171400_latest_obs_v1.xml
33.83 -78.48
carocoops_SUN2_buoy
sea_surface_temperature
2006-08-17T14:00:00-00 #ISO8601 time format GMT
20
celcius
-1
air_pressure
2006-08-17T14:00:00-00 #ISO8601 time format GMT
1016
millibar
3
Full form
Below is the 'full form' version of the above. I've added useful additional reference tags such as platform and data url's, quality flags and a breakout of the elements which form the platform handle. Other additional tags could be added for additional metadata or data product specific elements.
#filename convention like follows:
#__latest_obs_v1.xml
#carocoops_SUN2_buoy_200608171400_latest_obs_v1.xml
33.83 -78.48
carocoops
SUN2
buoy
carocoops_SUN2_buoy
http://nautilus.baruch.sc.edu/carocoops_website/buoy_detail.php?buoy=buoy6
sea_surface_temperature
2006-08-17T14:00:00-00 #ISO8601 time format GMT
20
celcius
-1
3
http://nautilus.baruch.sc.edu/carocoops_website/buoy_graph.php?buoy=buoy6&graph_type=temperature_surface
air_pressure
2006-08-17T14:00:00-00 #ISO8601 time format GMT
1016
millibar
3
3
http://nautilus.baruch.sc.edu/carocoops_website/buoy_graph.php?buoy=buoy6&graph_type=air_pressure
Future development
* I could develop a google earth/kmz based visualization of a list of such rss type feeds similar to earlier google earth visualizations listed at http://bbs.keyhole.com/ubb/showthreaded.php/Cat/0/Number/335650/an/0/page/1#335650 and http://nautilus.baruch.sc.edu/twiki_dmcc/bin/view/Main/ObsCatalog . Such visualizations could be developed in a generic way allowing different observations/unit of measurements combinations for varying geospatial communities.
* Please email me at jcothran[at]asg.sc.edu if interested in providing feedback on the above type latest observation rss type feed or something similar and if you would be interested in providing such feeds or are interested in visualizations/products derived from such feeds.
Other earlier and ongoing work
The above xml rss forms are related to and derive from earlier and ongoing work related to ocean observing system web services development documented at
http://twiki.sura.org/twiki/bin/view/Main/OosTechServiceDefinition
http://twiki.sura.org/twiki/bin/view/Main/OOSTechSWE
Also at the relational database level I'm working to provide a generalized table schema which would be used to collect and share data/products from documented at
http://nautilus.baruch.sc.edu/twiki_dmcc/bin/view/Main/XeniaPackage
Data feeds
Currently the latest observations from the Seacoos database (1000+ platforms, federal and institution level) are hourly provided as both:
zipped xml file
http://nautilus.baruch.sc.edu/gearth/oostech.xml.zip
kmz file for display in google earth
http://nautilus.baruch.sc.edu/gearth/latest_placemarks.kmz
Smaller bounding boxes, individual platforms and observations can be queried via examples of the REST oriented web service documented at
http://twiki.sura.org/twiki/bin/view/Main/SoapliteSeacoos
Work done to convert data from their hourly raw ascii feeds to other formats is documented at
http://nautilus.baruch.sc.edu/twiki_dmcc/bin/view/Main/CarolinasCoastGetData
-- JeremyCothran - 07 Sep 2006 [Less]