This wiki page describes a simple observation catalog (ObsCatalog
) and an initial google earth visualization product which is created by transforming the input data to KML.
See also ObsKML
October 16, 2006 - Please see the additional notes here regarding how this kml product can also be utilized with an xml supplied record instead of csv.
I recently(June 2006) attended a 2 day conference at WHOI
organized by the Coastal Services Center
to try and organize a very simple ocean observing system catalog of existing or planned observation types. This resulted in the following documentation which is some general discussion
items and a spreadsheet
of the catalog record content we are trying to capture.
I've moved forward with developing this out some. The required spreadsheet elements are listed below and a corresponding owl file with codelist lookups is shown here
For now, I'm representing this record format using a CSV(Comma Separated Value) file.
The following scripts allow a user to use their browser and reference a php webpage ( http://nautilus.baruch.sc.edu/gearth/catalog/csv2kml.php
) with the supplied http argument of the CSV catalog record input file (csv_url
argument, example file listed here
) which returns a KML file (example file listed here
)) for visualization in Google Earth ( http://earth.google.com
For example the following link
will return the following kml file and it's visualization
Note the following details in how the catalog information is presented in Google Earth(GE).
Basic GE usage
GE data layers are organized using a select/expand/collapse folder convention in the left hand sidebar labeled 'Places'. To expand/collapse a folder click on the associated folder arrow to the left hand side of the folder label. To select/deselect an entire folders contents or individual folder items use the checkbox to the left hand side of the folder label. To see the information available at a placemark, click on the placemark or it's label in the sidebar.
Catalog specific usage
The observation catalog information is presented via two lists/folders.
The first folder is by operator
which lists all platforms by their associated operator. Each platform when selected will display all observations and associated links available for that platform.
The second folder is by observation
which lists the observation types supplied earlier in the input files. When an observation type is selected, platforms which contain that observation will be displayed. Selecting an individual platform only shows the links associated with that particular selected observation.
Placemark icons and area coverages use the following color coding:
For the by operator
list, the platform status(Operational,Offline,Planned) assumes the same status as the last alphabetically listed observation type.
For the by observation
list it's advised to only select one observation at a time as most observations overlap at the same platform.
CSV catalog record input file recommendations
- The first field must be '_1.0' which is the initial version for this record format. If a record starts with anything else it will be ignored.
- Since the input file is CSV(Comma Separated Value), don't use commas in the 'comments' field or anywhere else unintentionally.
- Try to stay within the specified codelists for the field values listed here until a 'blessed' version is available.
- A coverage area will be created whenever the 'bounding' arguments(westboundLongitude, southboundLatitude, eastboundLongitude, northboundLatitude) are supplied. If you don't require a coverage area for the observation leave these fields empty. Note also that coverage areas don't have any associated description or links - these should be described with the originating platform/data links.
- For the some of the sample records I've listed the platformURL and dataURL as the same, but it's better to be more specific with the dataURL if applicable which is listed as the observation type link within the visualization.
This type of tool allows several methods for aggregation and display:
- Users might use the tool for a quick visual validation of their own csv files.
- Users might append several supplied csv files together to create one larger kml file.
- Users might append sevaral supplied kml files together to create one larger kml file.
- Note that kml files can be zipped(compressed) to kmz files
This tool is also observation domain non-specific
in that none of the underlying codelists/functionality are hardcoded or validated to the ocean observation domain. Someone in the terrestrial or other domain could supply similar csv files and an observation types list to produce a kml visualization.
Note also that using the tool as a general discovery mechanism for operators/observations and their associated links that it would be preferable to keep the usage of observation types very general, not necessarily requiring a fixed or narrow definition for each observation type.
Note also that this solution does not resolve possible duplications of supplied platforms or observations.
The [[http://nautilus.baruch.sc.edu/twiki_dmcc/pub/Main/ObsCatalog/csv2kml.php.txt][php page] supplies the http argument for the source csv file
to the underlying perl script
. The perl script transforms the csv files into the returned kml file
Also used by the script are the following png image files red icon
, green icon
and yellow icon
Why KML ?
My primary reason for focusing on Google Earth for an initial visualization (besides that it's easy to do and looks great) is that Google Earth is driven by KML (Keyhole Markup Language http://earth.google.com/kml
) which is an XML format(Hooray!
). If folks prefer something else they can use XML tools (XPath, XSLT,etc) to remap the KML output to something of their preference or use the source catalog records.
The secondary reason is that Google is in the process of better supporting KML within their google maps service (see the following links http://maps.google.com/support/bin/answer.py?answer=41136&topic=1475 http://maps.google.com/maps?q=http://kml.lover.googlepages.com/my-vacation-photos.kml
which means that it may eventually be possible to display most of the same 2D KML described data within a generic browser interface.
Long-term I'm hoping to supply more
KML and less
effort maintaining my own specific GIS portals and technology. Users can select and share their KML data layers/collections as needed.
I've created some basic colored circle icons which are png files with a transparency layer. No problem to substitute a different image or add other placemark type icons as needed.
Polygon area coverage
The current bounding box for observation coverage areas is actually described as a polygon in the kml. The input file could use say tab separated fields and allow the coverage area to be more detailed description as a polygon area.
Web form tool for add/edit catalog records
While the existing CSV based input file record format is fairly simple, it would be fairly easy to develop a web form based tool to add/edit these same types of records. An excel based forms tool has also been suggested for development by Coastal Services Center.
XML based catalog records
The existing CSV based file could also be represented as an xml document with a reference xml schema and controlled vocabulary URI references for validation. I've been working with Luis Bermudez at http://marinemetadata.org
and using the Protege ontology editor to develop something more along these lines with the latest developed valid owl document here
- 04 Jul 2006