Changes between Version 4 and Version 5 of DXInterface


Ignore:
Timestamp:
11/07/06 11:05:06 (13 years ago)
Author:
astephen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DXInterface

    v4 v5  
    1818Given its fluid nature that is all we'll say about the DX WSDL for now. More pertinent to NDG is what you can send to the DX client as HTTP keyword-value pairs. 
    1919 
    20 '''2. The DX CGI Arguments''' 
     20'''2. The DX User Interface CGI Arguments''' 
     21 
     22Within NDG2 it is most likely that users and applications will talk to the DX User Interface (DXUI). Hence they will need to know what arguments can be sent via HTTP POST or GET when some pre-selection has been made that is then pushed to the DX. The information below is still draft so comments are welcome. 
     23 
     24Recently I have modified the DX server to just express the axes of any variable/feature as "axis_<datasetGroup_n>.<dataset_n>.<variable_n>.<axis_n>". This makes it much more flexible for different types of feature/variable. However, from the client end it is slightly less accessible so the DXUI needs more intelligence.  
     25 
     26So, the DXUI is going to run at: 
     27 
     28http://glue.badc.rl.ac.uk/cgi-bin/dxui 
     29 
     30You can pass the arguments: 
     31 
     32{{{ 
     33datasetURI_<n>=<local_csml_file> 
     34variable_<n>=<variable_ID>    # you can call this "feature_<n>" if you want 
     35}}} 
     36 
     37Then I reckon I'll have to get it parse spatiotemporal stuff based on: 
     38 
     39{{{ 
     40<axis_id>_<n>=[<low>,<high>] 
     41}}} 
     42 
     43OR 
     44 
     45{{{ 
     46<axis_id>_<n>=[<comma_separated_list>] 
     47}}} 
     48 
     49Also, you can specify format with: 
     50 
     51{{{ 
     52outputFormat_<n>=<format> 
     53}}} 
     54 
     55That is all pretty much off the top of my head and I'll have to add a bit of code in the client to do it. However, should work. 
     56 
     57An example would be: 
     58 
     59{{{ 
     60http://glue.badc.rl.ac.uk/cgi-bin/dxui?datasetURI_1=/badc/ecmwf-e40/metadata/e40-1.0-as.csml&variable_1=u&time_1=["1999-09-09T12:00:00","2000-01-01T00:00:00"]&longitude_1=[20,20]&outputFormat_1=CSML-NetCDF 
     61}}} 
     62 
     63In this way you could pass multiple variables/features. Inside the DX, it labels them systematically as: 
     64 
     65 
     66{{{ 
     67datasetGroup_1=blah 
     68dataset_1.1=xsdfksd 
     69dataset_1.2=sdljfksjfl 
     70variable_1.1.1=uioweruwo 
     71variable_1.2.1=werwe 
     72variable_1.2.2=iewurwo 
     73axis_1.1.1.1=[wre,were] 
     74axis_1.2.1.1=[wer,wer] 
     75axis_1.2.1.2=[qw,qew] 
     76axis_1.2.2.1=[sdfds,sfs,sfsd,sdf] 
     77outputFormat_1.1.1=NetCDF 
     78outputFormat_1.2.1=NASAAMes 
     79outputFormat_1.2.2=CSML-NetCDF 
     80}}} 
     81 
     82 
     83However, you probably don't want to get into that from an external viewpoint. You just want to follow the basic strategy in the above URL. 
     84 
     85NOTE: it might be bad practice to stick square (or any) brackets in the URL. If so, we can get around it by using (as the DXUI already does to get HTML form data across) <axis_id>_<n>_low and <axis_id>_<n>_high as the names. 
    2186 
    2287