Changeset 6125 for cows_wps


Ignore:
Timestamp:
14/12/09 23:32:34 (10 years ago)
Author:
astephen
Message:

Got bounding box added to MIDAS extractors. And in doing so they will work for all.

Location:
cows_wps/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • cows_wps/trunk/cows_wps/controllers/submit.py

    r6124 r6125  
    9999        pc = ProcConfig() 
    100100        proc_submission_form_html = pc.renderProcSubmissionForm(proc) 
     101        bbox_required = pc.bbox_arg_found 
    101102        resp = proc_submission_form_html 
    102103 
    103104        renderer = UIPageRenderer() 
    104105        resp = renderer.render("Submission Form for: '%s'" % proc, 
    105                                [("Define your inputs", resp)]) 
     106                               [("Define your inputs", resp)], 
     107                               bbox_required=bbox_required) 
    106108        return resp 
    107109 
  • cows_wps/trunk/cows_wps/lib/ui/proc_config.py

    r6124 r6125  
    1717                      "WaitForFileDeletionCached", "WaitForAllFilesToBeDeleted", 
    1818                      "WaitForFileDeletion") 
     19 
     20    def __init__(self): 
     21        # Set arg to be picked up by calling code to determine whether a bbox is needed/rendered 
     22        self.bbox_arg_found = False 
    1923 
    2024    def getProcList(self): 
     
    203207 
    204208            elif tp == "bbox": 
     209                self.bbox_arg_found = True 
    205210                extent = input.get("extent", False) 
    206211                resp += fm.renderBBox(name, extent) 
  • cows_wps/trunk/cows_wps/public/js/ui/map_select/boundingBoxMapSelect.js

    r6109 r6125  
    5656 
    5757    boundsMarkup : '<div id="bbox_sel_bounds_container" class="WMSC_domain">\n' + 
    58     '<div class="input_item"> \n<label for="bboxN">North :</label>\n' +  
    59     '<input type="text" name="bboxN" id="bboxN" size="4" value="90"> </input>\n </div>\n' + 
    60     '<div class="input_item"> <label for="bboxW">West  : </label>\n' +  
    61     '<input type="text" name="bboxW" size="4" value="-180" />\n </div>\n' + 
    62     '<div class="input_item"> <label for="bboxS">South : </label>\n' +  
    63     '<input type="text" name="bboxS" size="4" value="180"> </input>\n </div>\n' + 
    64     '<div class="input_item"> <label for="bboxE">East  : </label>\n' +  
    65     '<input type="text" name="bboxE" size="4" value="-90"> </input>\n </div>\n ' + 
     58    '<div class="input_item"> \n<label for="_bboxN">North :</label>\n' +  
     59    '<input type="text" name="_bboxN" id="_bboxN" size="4" value="90"> </input>\n </div>\n' + 
     60    '<div class="input_item"> <label for="_bboxW">West  : </label>\n' +  
     61    '<input type="text" name="_bboxW" id="_bboxW" size="4" value="-180" />\n </div>\n' + 
     62    '<div class="input_item"> <label for="_bboxS">South : </label>\n' +  
     63    '<input type="text" name="_bboxS" id="_bboxS" size="4" value="180"> </input>\n </div>\n' + 
     64    '<div class="input_item"> <label for="_bboxE">East  : </label>\n' +  
     65    '<input type="text" name="_bboxE" id="_bboxE" size="4" value="-90"> </input>\n </div>\n ' + 
    6666    '<input id="WMSC_clear" type="button" value="Reset selection"/>' + 
    6767    '</div>\n', 
     
    186186        if (this.inputElementId) { 
    187187            var inputElt = document.getElementById(this.inputElementId); 
    188             inputElt.value = bboxString; 
     188            inputElt.value = bboxString.replace(/,/g, "|"); 
    189189        } 
    190190    }, 
  • cows_wps/trunk/cows_wps/public/js/ui/map_select/boundsControl.js

    r6109 r6125  
    3333      '  <tr><td colspan="2"' + 
    3434          '          align="center">' + 
    35           '    <input type="text" name="bboxN" size="4" value="90"/><br/>N' + 
     35          '    <input type="text" name="_bboxN" size="4" value="90"/><br/>N' + 
    3636          '  </td></tr>' + 
    3737      '  <tr>' + 
    38       '   <td><input type="text" name="bboxW" size="4" value="-180"/> W</td>' + 
    39       '   <td>E <input type="text" name="bboxE" size="4" value="180"/></td>' + 
     38      '   <td><input type="text" name="_bboxW" size="4" value="-180"/> W</td>' + 
     39      '   <td>E <input type="text" name="_bboxE" size="4" value="180"/></td>' + 
    4040      '  </tr>' + 
    4141      '  <tr><td colspan="2" align="center">S<br/>' + 
    42           '    <input type="text" name="bboxS" size="4" value="-90"/>' + 
     42          '    <input type="text" name="_bboxS" size="4" value="-90"/>' + 
    4343          '  </td></tr>' + 
    4444      '</table>' + 
     
    5858    { 
    5959          
    60         this._input_names = ['bboxN', 'bboxW', 'bboxE', 'bboxS']; 
     60        this._input_names = ['_bboxN', '_bboxW', '_bboxE', '_bboxS']; 
    6161        this._supressTextChangeEvent = false; 
    6262        this.domainDivID = domainDivID; 
     
    173173        for (var i = 0; i < inputElements.length; i++) { 
    174174            var elt = inputElements[i]; 
    175             if (elt.name === 'bboxW') { 
     175            if (elt.name === '_bboxW') { 
    176176                left = elt.value; 
    177177            } 
    178             else if (elt.name === 'bboxS') { 
     178            else if (elt.name === '_bboxS') { 
    179179                bottom = elt.value; 
    180180            } 
    181             else if (elt.name === 'bboxE') { 
     181            else if (elt.name === '_bboxE') { 
    182182                right = elt.value; 
    183183            } 
    184             else if (elt.name === 'bboxN') { 
     184            else if (elt.name === '_bboxN') { 
    185185                top = elt.value; 
    186186            } 
     
    235235        for (var i = 0; i < inputElements.length; i++) { 
    236236            var elt = inputElements[i]; 
    237             if (elt.name === 'bboxW') { 
     237            if (elt.name === '_bboxW') { 
    238238                elt.value = bbox.left.toFixed(1); 
    239239            } 
    240             else if (elt.name === 'bboxS') { 
     240            else if (elt.name === '_bboxS') { 
    241241                elt.value = bbox.bottom.toFixed(1); 
    242242            } 
    243             else if (elt.name === 'bboxE') { 
     243            else if (elt.name === '_bboxE') { 
    244244                elt.value = bbox.right.toFixed(1); 
    245245            } 
    246             else if (elt.name === 'bboxN') { 
     246            else if (elt.name === '_bboxN') { 
    247247                elt.value = bbox.top.toFixed(1); 
    248248            } 
  • cows_wps/trunk/cows_wps/public/style/wps_ui.css

    r6117 r6125  
    123123        background-color: #eeccff; 
    124124} 
     125 
     126#map { 
     127        width:640px; 
     128        height:320px; 
     129        border:1px solid black; 
     130} 
     131 
     132#bbox_sel_bounds_container .input_item { 
     133        float:left; 
     134        padding-right:20px; 
     135} 
     136 
  • cows_wps/trunk/cows_wps/public/test/test_bbox_map_select.html

    r6110 r6125  
    1919 
    2020        var events = new OpenLayers.Events(null, null, ['LAYER_ORDER_CHANGED']);    
    21  
    2221 
    2322        var baseLayerData = [ 
  • cows_wps/trunk/cows_wps/renderer/form_renderer.py

    r6124 r6125  
    117117 
    118118 
    119     def renderBBoxOLD(self, name, extent): 
     119    def renderBBox(self, name, extent): 
    120120        """ 
    121121        Renders a bounding box and N/W/S/E selectors. 
    122122        """ 
    123         html = """      <script type="text/javascript" src="/js/ext/jquery-1.3.2/jquery-1.3.2.js"></script> 
    124         <script type="text/javascript" src="http://openlayers.org/api/OpenLayers.js"></script> 
    125         <script type="text/javascript" src="/js/ui/openlayers-x.js"></script> 
    126         <script type="text/javascript" src="/js/ui/boundingBoxMapSelect.js"></script> 
    127         <script type="text/javascript"> 
    128                 var layers = new Array(); 
    129                 var layer_data = false; 
    130                 var bboxSelect = false; 
     123        if extent == False: extent = "90|-180|-90|180" 
     124        (n, w, s, e) = extent.split("|") 
    131125 
    132                 $(document).ready(function() { 
    133                         var layer_data = new OpenLayers.Layer.WMS( "World Map", "http://labs.metacarta.com/wms-c/Basic.py?", {layers: 'basic', format: 'image/png' } ); 
    134                         layers.push(layer_data); 
    135                         var bboxSelect = new BoundingBoxMapSelect('map', 'bounds_control_container', layers,  'bbox_hidden_input', null); 
    136                 }); 
    137         </script> 
    138  
    139         <div id="bounding_container"> 
    140                 <div id="bounds_control_container"></div>        
    141                 <div id="map_container"> 
    142                         <div id='map'></div> 
    143                 </div> 
    144                 <input type="hidden" name="bbox" id="bbox_hidden_input" value="" /> 
    145         </div> 
    146         """ 
     126        html = """    <div id="bounding_container"> 
     127        <div> BBox = <span id="bbox_show_val"></span></div> 
     128        <div id="bounds_control_container"></div> 
     129        <div id="map_container"> 
     130            <div id='map'></div> 
     131        </div> 
     132        <input type="hidden" name="%s" id="bbox_hidden_input" /> 
     133        <script type="text/javascript">var initial_extent = [%s, %s, %s, %s];</script> 
     134    </div> 
     135    """ % (name, n, w, s, e) 
    147136        return html      
    148137 
  • cows_wps/trunk/cows_wps/renderer/ui_renderer.py

    r5938 r6125  
    2828        return new_items 
    2929 
    30     def render(self, title, items): 
     30    def render(self, title, items, bbox_required=False): 
    3131        """ 
    3232        Renders the page using title and then a list of tuples of 
     
    3737        items = self._htmlifyItems(items) 
    3838        stream = tmpl_gen.generate(title=title, items=items,  
    39                         wps_capabilities_url="/wps?Service=WPS&Request=GetCapabilities&Format=text/xml") 
     39                        wps_capabilities_url="/wps?Service=WPS&Request=GetCapabilities&Format=text/xml", 
     40                        bbox_required=bbox_required) 
    4041        return stream.render('xhtml') 
    4142 
  • cows_wps/trunk/cows_wps/templates/ui_template.html

    r6116 r6125  
    99        <script type="text/javascript" src="/js/ui/validate.js"></script> 
    1010        <script type="text/javascript" src="/js/ui/submit_utils.js"></script> 
     11 
     12        <!-- A dummy init() function that does nothing, will be overloaded in bounding box required. --> 
     13        <script type="text/javascript"> 
     14        function init() {} 
     15        </script> 
     16                 
     17        <!-- Only do the following if we need to render a bounding box selection --> 
     18        <py:if test="bbox_required"> 
     19                <script src="/js/ui/map_select/wmsc.js"></script> 
     20                <script src="/js/ui/map_select/OpenLayers.js"></script> 
     21 
     22                <!-- The DDCVismap Openlayers map --> 
     23                <script src="/js/ui/map_select/openlayers-x.js"></script> 
     24 
     25                <!-- The original bounds control --> 
     26                <script src="/js/ui/map_select/boundsControl.js"></script> 
     27                <script src="/js/ui/map_select/utils.js"></script> 
     28                <script src="/js/ui/map_select/boundingBoxMapSelect.js"></script> 
     29 
     30                <script type="text/javascript" src="/js/ui/init_bbox_input.js"></script> 
     31 
     32    <script defer="defer" type="text/javascript"> 
     33 
     34        var events = new OpenLayers.Events(null, null, ['LAYER_ORDER_CHANGED']); 
     35 
     36        var baseLayerData = [ 
     37        { 
     38            "url": "http://labs.metacarta.com/wms/vmap0", 
     39            "params": { 
     40                "layers": "basic", 
     41                "transparent":"false", 
     42                "format": "image/png" 
     43            } 
     44        }, 
     45        { 
     46            "url": "http://labs.metacarta.com/wms/vmap0", 
     47            "params": { 
     48                    "layers": "coastline_01", 
     49                    "format": "image/png", 
     50                    "transparent":"true" 
     51            } 
     52        }, 
     53        { 
     54            "url": "http://labs.metacarta.com/wms/vmap0", 
     55            "params": { 
     56                    "layers": "coastline_02", 
     57                    "format": "image/png", 
     58                    "transparent":"true" 
     59            } 
     60        } 
     61        ]; 
     62 
     63        var baseLayerData2 = { 
     64                "url": "http://labs.metacarta.com/wms/vmap0", 
     65                "params": { 
     66                        "layers": "coastline_01", 
     67                        "format": "image/png", 
     68                        "transparent":"true" 
     69                } 
     70        }; 
     71 
     72    </script> 
     73 
     74        </py:if> 
    1175</head> 
    1276 
    13 <body> 
     77<body onload="init();"> 
     78 
    1479<div id="header"> 
    1580 
  • cows_wps/trunk/process_configs/ExtractUKStationData.ini

    r6124 r6125  
    3636StationIDs.optional = True 
    3737ObsTableName = string 
    38 ObsTableName.possible_values = TMSL,RO,TD,WD,RD,RS,TH,WM,WH 
     38ObsTableName.possible_values = TD,WD,RD,RS,TH,WM,WH,RO 
    3939Delimiter = string 
    4040Delimiter.possible_values = comma,tab 
Note: See TracChangeset for help on using the changeset viewer.