Document

advertisement
How my generator works
Linyun
Data provider has the following
Raw data
Dataset: ECMWF_ERA-40_subset.ncml
longitude, 0, 2.5, …, 355, 357.5
latitude, 90, 87.5, …, -87.5, -90
time, 898476, 898482, …, 899196, 899202
tcw.longitude, 0, 2.5, …, 355, 357.5
tcw.tcw[tcw.time=898476][tcw.latitude=90], -25311, -25311, …, -25311
tcw.tcw[tcw.time=898476][tcw.latitude=87.5], -23880, -23798, …, -25311
……
Metadata
NC_GLOBAL.Conventions: CF-1.0
NC_GLOBAL.history: 2004-09-15 17:04:29 GMT by mars2netcdf-0.92
DODS_EXTRA.Unlimited_Dimension: time
WcsMetadata:
<Domain xmlns="http://www.opengis.net/wcs/1.1" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml">
<SpatialDomain>
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::4326">
<ows:LowerCorner>360 90</ows:LowerCorner>
<ows:UpperCorner>0 -90</ows:UpperCorner>
</ows:BoundingBox>
</SpatialDomain>
<TemporalDomain>
<TimePeriod>
<BeginPosition>2002-07-01T09:00/15:00</BeginPosition>
<EndPosition>2002-07-31T15:00/21:00</EndPosition>
<TimeResolution>6 hours</TimeResolution>
</TimePeriod>
</TemporalDomain>
</Domain>
<SupportedCRS xmlns="http://www.opengis.net/wcs/1.1">urn:ogc:def:crs:EPSG::4326</SupportedCRS>
They want the data portal in this way
• End users can select the data section to view
by selecting variables and applying constraints
on time, latitude and longitude
• End users can get the data section in forms of
an ASCII textual file, a NetCDF file or a binary
DAP object
• There is a visualization of the currently
selected data section shown on the Web page
They want the portal looks like
So they write a description file
<description>
<dataset>
<name>ECMWF_ERA-40</name>
<url>http://test.opendap.org:8080/opendap/ECMWF_ERA-40_subset.ncml</url>
<access-method>NetCDF</access-method>
</dataset>
<widget>
<label id=“label1”>Action:</label>
<button id=“button1”>
<name>Get ASCII</name>
<action type=“javascript” function=“ascii_button” />
</button>
<button id=“button2”>
…
</button>
</widget>
<layout>
<row><cell id=“label1” /><cell id=“button1” /><cell id=“button2” />…</row>
…
<row><cell id=“previewLabel” /></row>
<row><cell id=“preview1” /><cell id=“preview2” /></row>
</layout>
</description>
The descritpion file defines the
following elements
• URL of the dataset and access method
• Widgets on the UI and their layout
– Label
– Button
– Section selector
– Facet list
– Query display
– Search result
For example, a section selector looks
like
<widget>
…
<section-selector variable=“tcw” id=“section-tcw”>
<introduction>Grid of Array of 16 bit Integers [time = 0..61][latitude = 0..72][longitude = 0..143]</introduction>
<constraint variable=“time”>
<default start=0 step=1 end=61/>
</constraint>
<constraint variable=“latitude”>
<default start=0 step=1 end=72/>
</constraint>
<constraint variable=“longitude”>
<default start=0 step=1 end=143/>
</constraint>
</section-selector>
…
</widget>
A facet list looks like
<facet-list id=“main”>
<facet name=“Catalogs:” facet=“Catalog” />
<facet name=“Agencies:” facet=“Agency” />
<facet name=“Categories:” facet=“Category” />
</facet-list>
A query display looks like
<query-display id=“right” modify=“true” layout=“vertical”>
<constraint name=“Keywords:” type=“keyword” />
<constraint name=“” type=“facet-list” reference=“main”/>
</facet-list>
<facet-list id=“main”>
<facet name=“Catalogs:” facet=“Ca
<facet name=“Agencies:” facet=“Ag
<facet name=“Categories:” facet=“
</facet-list>
A query display can also looks like
<query-display id=“left” modify=“false” layout=“horizontal”>
<constraint name=“Keywords:” type=“keyword” />
<constraint type=“facet-list” reference=“main”/>
</facet-list>
A search result can be a table
<search-result id=“result” type=“table” data=“result-data” results-per-page=10 />
Where “result-data” is a hidden element containing the
search result
A search result can also be a preview
<search-result id=“result” type=“preview” data=“result-data” forward=“onclick” />
Where “result-data” is a hidden element containing the
search result
Download