[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"

??



NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.