[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reprsenting OGC services in a THREDDS catalog



----- Original Message -----
From: "Daniel Holloway" <address@hidden>
To: <address@hidden>
Sent: Wednesday, June 19, 2002 1:34 PM
Subject: Reprsenting OGC services in a THREDDS catalog


>
>    Continuing  my autogeneration of THREDDS catalogs from
> dods-dir service requests, following is an example of a catalog
> representing a filesystem directory where the datafiles are
> accessible from 4 different access protocols.   In particular
> I'm looking for input on how to represent the OGC services for
> WMS/WCS access to the datafiles.
>
>     First, given that the OGC WMS/WCS request protocol is
> well-defined, client applications expect to interrogate the
> remote server for its capabilities document, and then request
> the appropriate layer.  Also, layers on a WMS/WCS server
> to a certain extent are an abstract representation of the
> underlying data granules comprising the layer.  When I state
> 'abstract' I mean that only in the sense that the layer name is
> an arbitrary name provided, and the multi-granular nature of
> multifile data archives is represented in the layer's sample
> dimensions.   To make a long story short, all a WMS/WCS
> client really needs is the layer name corresponding to a
> particular collection/dataset to properly access the datafile
> with that service (assuming the client app interacts with the
> server to determine the sample dims, etc.) (Dataset #1
> in the example)
>
>    However, if you want to insure that a particular datafile is
> accessed by the WMS/WCS service, without requiring the
> client to figure out the sample dimensions necessary
> to access that particular datafile, then you would need to
> add the minimal set of sample dimensions necessary to
> uniquely identify the granule in the particular WMS/WCS
> server.  (Dataset #2 in the example)

I would say that this situation is analogous to DODS, in the sense that you
specify a dataset in the catalog, which can be further decomposed from
within the protocol, or as an explicit catalog entry.


>
>    It would be relatively easy to support example 1 in an
> automated mode, and somewhat  more difficult to support
> example #2.  Is example #1 sufficient?  Is it even correct
> given I'm using the empty string in urlPath?
>


Because urlPath is required on the access element, I hadnt thought of doing
what you do in Example 1:

<dataset name="QS_XWGRD3_2002001.20020041637.Z" serviceName="DODS"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041637.
Z">
  <access serviceName="FTP"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041637.
Z"/>
  <access serviceName="WCS" urlPath=""/>
  <access serviceName="WMS" urlPath=""/>
</dataset>

Since you are assuming I think that a blank urlPath means "use the one in
the dataset element". If this was allowed, then the meaning would be:

The dataset is available through WCS and WMS, as

"http://seablade.jpl.nasa.gov/cgi-bin/esip/de.pl/pub/ocean_wind/quikscat/L3/
data/2002/QS_XWGRD3_2002001.20020041637.Z"

though DODS as

"http://dods.jpl.nasa.gov/dods-bin/nph-dods/pub/ocean_wind/quikscat/L3/data/
2002/QS_XWGRD3_2002001.20020041637.Z"

and through FTP as

"http://podaac.jpl.nasa.gov/pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2
002001.20020041637.Z"

(shouldnt protocol type be ftp ?)

(Note that I have removed serviceType attribute in the access element, which
is intended to be used with an absolute URL instead of a serviceName
attribute.)


I had thought of doing it this way:

<service name="OGC-DODS" serviceType="Compound" base="">
  <service name="DODS" serviceType="DODS"
base="http://dods.jpl.nasa.gov/dods-bin/nph-dods/"/>
  <service name="WCS" serviceType="WCS"
base=http://seablade.jpl.nasa.gov/cgi-bin/esip/de.pl/>
  <service name="WMS" serviceType="WMS"
base="http://seablade.jpl.nasa.gov/cgi-bin/esip/de.pl"/>
</service>

<dataset name="myName" serviceName="OGC-DODS"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041637.
Z">
  <access serviceName="FTP"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041637.
Z"/>
</dataset>

or maybe even

<service name="OGC-DODS-FTP" serviceType="Compound" base="">
  <service name="DODS" serviceType="DODS"
base="http://dods.jpl.nasa.gov/dods-bin/nph-dods/"/>
  <service name="FTP" serviceType="FTP" base="http://podaac.jpl.nasa.gov/"/>
  <service name="WCS" serviceType="WCS"
base=http://seablade.jpl.nasa.gov/cgi-bin/esip/de.pl/>
  <service name="WMS" serviceType="WMS"
base="http://seablade.jpl.nasa.gov/cgi-bin/esip/de.pl"/>
</service>

<dataset name="myName" serviceName="OGC-DODS-FTP"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041637.
Z" />

-------------
For example 2:

<dataset name="myName" serviceName="DODS"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041638.
Z">
  <access serviceName="FTP"
urlPath="pub/ocean_wind/quikscat/L3/data/2002/QS_XWGRD3_2002001.20020041638.
Z"/>
  <access serviceName="WCS"
urlPath="?SERVICE=WCS&REQUEST=GetCoverage&TIME=2002-01-02&LAYER=QuikScat-Lev
el3"/>
  <access serviceName="WMS"
urlPath="?SERVICE=WMS&REQUEST=GetMap&TIME=2002-01-02&LAYER=QuikScat-Level3"/
>
</dataset>

I assume you mean (for WCS, WMS) use the urlPath from the dataset, and
append, so the URL is

"http://seablade.jpl.nasa.gov/cgi-bin/esip/de.pl/pub/ocean_wind/quikscat/L3/
data/2002/QS_XWGRD3_2002001.20020041637.Z?SERVICE=WCS&REQUEST=GetCoverage&TI
ME=2002-01-02&LAYER=QuikScat-Level3"

??