Editing Tool Bar Example
Global Variablen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | var wpsns = "http://www.opengis.net/wps/1.0.0";
var xmlTemplate = '<wps:Execute service="WPS" version="1.0.0" '+
'xmlns:wps="http://www.opengis.net/wps/1.0.0" '+
'xmlns:ows="http://www.opengis.net/ows/1.1" '+
'xmlns:xlink="http://www.w3.org/1999/xlink" '+
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '+
'xsi:schemaLocation="http://www.opengis.net/wps/1.0.0/wpsExecute_request.xsd">'+
'<ows:Identifier>exampleBufferProcess</ows:Identifier>'+
'<wps:DataInputs>'+
'<wps:Input>'+
'<ows:Identifier>data</ows:Identifier>'+
'<wps:Data>'+
'<wps:ComplexData>PYWPS_DATA</wps:ComplexData>'+
'</wps:Data>'+
'</wps:Input>'+
'<wps:Input>'+
'<ows:Identifier>width</ows:Identifier>'+
'<wps:Data>'+
'<wps:LiteralData>PYWPS_WIDTH</wps:LiteralData>'+
'</wps:Data>'+
'</wps:Input>'+
'</wps:DataInputs>'+
'<wps:ResponseForm>'+
'<wps:ResponseDocument wps:lineage="false" wps:storeExecuteResponse="true" wps:status="false">'+
'<wps:Output wps:asReference="true">'+
'<ows:Identifier>buffer</ows:Identifier>'+
'</wps:Output>'+
'</wps:ResponseDocument>'+
'</wps:ResponseForm>'+
'</wps:Execute>';
|
WPS Funkzionen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /*******************
* WPS starts here *
*******************/
// On ClearButton Clicked - destroy all features within vector
// layer
var onClearClicked = function() {
vlayer.destroyFeatures();
rlayer.destroyFeatures();
};
// On BufferButton Clicked - call the WPS Process
var onBufferClicked = function() {
var xmlData = OpenLayers.Format.GML.prototype.write(vlayer.features);
var width = document.getElementById("width").value;
var xml = xmlTemplate.replace("PYWPS_DATA",xmlData).replace('PYWPS_WIDTH',width);
console.log(xml);
OpenLayers.Request.POST({
url: 'http://localhost/cgi-bin/fossgiswps',
data: xml,
success: wpsArrived,
failure: wpsFailed,
scope: this
});
};
// WPS Response arrived
var wpsArrived = function(resp) {
try {
map.removeLayer(rlayer);
rlayer.destroy();
}catch(e) {}
var url = resp.responseXML.getElementsByTagNameNS(wpsns,"Reference")[0].getAttribute("xlink:href");
rlayer = new OpenLayers.Layer.GML("Result",url);
map.addLayer(rlayer);
};
// WPS Response failed
var wpsFailed = function(resp) {
rlayer.destroyFeatures();
};
|
HTML:
1 2 3 4 5 | <div>
<input type="button" value="Clear" onclick="onClearClicked()"></input>
<input type="button" value="Buffer" onclick="onBufferClicked()"></input>
Width: <input type="text" value="2" id="width"></input>
</div>
|