UNPKG

wps-js-52-north

Version:

Web Processing Service JavaScrict library

356 lines (283 loc) 12.9 kB
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- JQuery and wps-js--> <script src="bower_components/jquery/dist/jquery.min.js" type="text/javascript"></script> <script src="js/wps-js-lib/lib/Class.js" type="text/javascript"></script> <script src="js/wps-js-lib/Constants.js" type="text/javascript"></script> <script src="js/wps-js-lib/Utility.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/BaseResponse.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/CapabilitiesResponse.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/CapabilitiesResponse_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/CapabilitiesResponse_v1_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/CapabilitiesResponse_v2_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/DescribeProcessResponse.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/DescribeProcessResponse_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/DescribeProcessResponse_v1_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/DescribeProcessResponse_v2_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/ExecuteResponse.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/ExecuteResponse_v1_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/ExecuteResponse_v2_xml.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/ResponseFactory.js" type="text/javascript"></script> <script src="js/wps-js-lib/response/ExceptionReportResponse.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/BaseRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/GetRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/PostRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/InputGenerator.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/OutputGenerator.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/ExecuteRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/ExecuteRequest_v1.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/ExecuteRequest_v2.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/DescribeProcessGetRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/GetCapabilitiesGetRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/DescribeProcessPostRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/GetCapabilitiesPostRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/GetStatusGetRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/request/GetResultGetRequest.js" type="text/javascript"></script> <script src="js/wps-js-lib/WpsService.js" type="text/javascript"></script> <title>wps-js example</title> <link rel="shortcut icon" href="favicon.ico" /> </head> <body> <div id="wrapper"> <div> <h1>wps-js example</h1> <p> wps-js is an <a href="https://github.com/52North/wps-js/" title="wps-js on GitHub">open source client library</a> for connecting Javascript client to <a href="http://www.opengeospatial.org/standards/wps" title="WPS @ Open Geospatial Consortium">OGC Web Processing</a> services. This page demonstrates how you can use it. More documentation is available in the <a href="https://wiki.52north.org/bin/view/Geoprocessing/Wps-js" title="wps-js wiki page">52&deg;North Wiki</a> and on <a href="https://github.com/52North/wps-js/blob/master/README.md" title="wps-js readme">GitHub</a>. </p> </div> <div> <select id="wps-selection"> <option>Select a WPS</option> <option>http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService</option> <option>http://geostatistics.demo.52north.org/wps/WebProcessingService</option> </select> </div> <div> <button id="wps-describeProcess" onclick=describeProcess()>describeProcessTest</button> <button id="wps-execute_v1" onclick=execute_v1()>execute_v1_Test</button> <button id="wps-execute_v2" onclick=execute_v2()>execute_v2_Test</button> <button id="wps-getStatus" onclick=getStatus()>getStatus_Test</button> <button id="wps-getResult" onclick=getResult()>getResult_Test</button> </div> <div> <h3>XML</h3> <div class="xml-container"> <textarea id="xml">test</textarea> </div> </div> </div> <script type="text/javascript"> var wps; // add behavior to html elements // document.getElementById("processes").onchange = function() { // var sel = document.getElementById("processes"); // // describeProcess(sel.options[sel.selectedIndex].text); // }; var capabilitiesCallback = function(response) { var doc = response.getRawResponseDocument(); $("textarea#xml").val((new XMLSerializer()).serializeToString(doc)); var test = response.capabilities.processes; alert("success"); }; var describeProcessCallback = function(response) { var doc = response.getRawResponseDocument(); $("textarea#xml").val((new XMLSerializer()).serializeToString(doc)); var test = response.processOffering; alert("success"); }; var describeProcess = function() { wps.describeProcess_POST(describeProcessCallback, "addeventtheme"); }; var executeCallback = function(response) { var doc = response.getRawResponseDocument(); try { $("textarea#xml").val((new XMLSerializer()).serializeToString(doc)); } catch (e){ $("textarea#xml").val(doc); } alert("success"); }; var execute_v1 = function() { wps = new WpsService({url : "http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService", version : "2.0.0"}); //inputs var inputGenerator = new InputGenerator(); var referenceInput = inputGenerator.createComplexDataInput_wps_1_0_and_2_0("data", "text/xml", "http://schemas.opengis.net/gml/3.1.1/base/feature.xsd", null, true, "http://geoprocessing.demo.52north.org:8080/geoserver/wfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=topp:tasmania_roads&amp;SRS=EPSG:4326&amp;OUTPUTFORMAT=GML3"); var literalInput = inputGenerator.createLiteralDataInput_wps_1_0_and_2_0("width", "xs:double", null, "0.05"); var inputs = [referenceInput, literalInput]; //outputs var outputGenerator = new OutputGenerator(); var complexOutput = outputGenerator.createComplexOutput_WPS_1_0("result", "text/xml", "http://schemas.opengis.net/gml/3.1.1/base/feature.xsd", "UTF-8", null, false, "result", "result"); var outputs = [complexOutput]; wps.execute(executeCallback, "org.n52.wps.server.algorithm.SimpleBufferAlgorithm", "document", "async", false, inputs, outputs); }; var execute_v2 = function() { wps = new WpsService({url : "http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService", version : "2.0.0"}); //inputs var inputGenerator = new InputGenerator(); var referenceInput = inputGenerator.createComplexDataInput_wps_1_0_and_2_0("data", "text/xml", "http://schemas.opengis.net/gml/3.1.1/base/feature.xsd", null, true, "http://geoprocessing.demo.52north.org:8080/geoserver/wfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=topp:tasmania_roads&amp;SRS=EPSG:4326&amp;OUTPUTFORMAT=GML3"); var literalInput = inputGenerator.createLiteralDataInput_wps_1_0_and_2_0("width", null, null, "0.05"); var inputs = [referenceInput, literalInput]; //outputs var outputGenerator = new OutputGenerator(); var complexOutput = outputGenerator.createComplexOutput_WPS_2_0("result", "text/xml", "http://schemas.opengis.net/gml/3.1.1/base/feature.xsd", "UTF-8", "value"); var outputs = [complexOutput]; wps.execute(executeCallback, "org.n52.wps.server.algorithm.SimpleBufferAlgorithm", "document", "sync", false, inputs, outputs); }; var getStatusCallback = function(response){ var doc = response.getRawResponseDocument(); try { $("textarea#xml").val((new XMLSerializer()).serializeToString(doc)); } catch (e){ $("textarea#xml").val(doc); } alert("success"); } var getResultCallback = function(response){ var doc = response.getRawResponseDocument(); try { $("textarea#xml").val((new XMLSerializer()).serializeToString(doc)); } catch (e){ $("textarea#xml").val(doc); } alert("success"); } var getStatus = function(){ wps = new WpsService({url : "http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService", version : "2.0.0"}); wps.getStatus_WPS_2_0(getStatusCallback, "2f77dd20-20e5-48a8-a220-019924ef4c88"); } var getResult = function(){ wps = new WpsService({url : "http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService", version : "2.0.0"}); wps.getResult_WPS_2_0(getResultCallback, "2f77dd20-20e5-48a8-a220-019924ef4c88"); } function testExecuteRequest_wps_2_0(){ var inputGenerator = new InputGenerator(); var literalInput = inputGenerator.createLiteralDataInput_wps_1_0_and_2_0("literalId", "myDataType", "myUOM", "myValue"); var literalInput2 = inputGenerator.createLiteralDataInput_wps_1_0_and_2_0("literalId", null, null, "myValue"); var complexInput = inputGenerator.createComplexDataInput_wps_1_0_and_2_0("complexId", "myMimeType", null, null, false, "<test><test2>hello</test2></test>"); var bboxInput = inputGenerator.createBboxDataInput_wps_1_0_and_2_0("myBBOX", "EPSG:4326", "2", "0.0 0.0", "50.0 50.0"); var referenceInput = inputGenerator.createComplexDataInput_wps_1_0_and_2_0("complexId", "myMimeType", "mySchema", null, true, "http://myReferenceUrl"); var inputs = [literalInput, literalInput2, complexInput, bboxInput, referenceInput]; //outputs var outputGenerator = new OutputGenerator(); //var literalOutput = outputGenerator.createLiteralOutput_WPS_2_0("literalOutput", "reference"); var complexOutput = outputGenerator.createComplexOutput_WPS_2_0("complexOutput", "myMimeType", "mySchema", "myEncoding", "value"); var outputs = [complexOutput]; var executeRequest = new ExecuteRequest_v2({ url : "testUrl", version : "2.0.0", processIdentifier : "myProcess", responseFormat : "raw", executionMode : "async", inputs : inputs, outputs : outputs }); var payload = executeRequest.createPostPayload(); $("textarea#xml").val(payload); var test="g"; } function testExecuteRequest_wps_1_0(){ var inputGenerator = new InputGenerator(); var literalInput = inputGenerator.createLiteralDataInput_wps_1_0_and_2_0("literalId", "myDataType", "myUOM", "myValue"); var literalInput2 = inputGenerator.createLiteralDataInput_wps_1_0_and_2_0("literalId", null, null, "myValue"); var complexInput = inputGenerator.createComplexDataInput_wps_1_0_and_2_0("complexId", "myMimeType", "mySchema", "MyEncoding", false, "<test><test2>hello</test2></test>"); var bboxInput = inputGenerator.createBboxDataInput_wps_1_0_and_2_0("myBBOX", "EPSG:4326", "2", "0.0 0.0", "50.0 50.0"); var referenceInput = inputGenerator.createComplexDataInput_wps_1_0_and_2_0("complexId", "myMimeType", "mySchema", null, true, "http://myReferenceUrl"); var inputs = [literalInput, literalInput2, complexInput, bboxInput, referenceInput]; //outputs var outputGenerator = new OutputGenerator(); //var literalOutput = outputGenerator.createLiteralOutput_WPS_1_0("literalOutput"); var complexOutput = outputGenerator.createComplexOutput_WPS_1_0("complexOutput", "myMimeType", "mySchema", "myEncoding", "myUOM", true, "MyTitle", "MyAbstract"); var outputs = [complexOutput]; var executeRequest = new ExecuteRequest_v1({ url : "testUrl", version : "1.0.0", processIdentifier : "myProcess", responseFormat : "raw", executionMode : "async", lineage : false, inputs : inputs, outputs : outputs }); var payload = executeRequest.createPostPayload(); $("textarea#xml").val(payload); var test="g"; } $(document).ready(function() { document.getElementById("wps-selection").onchange = function() { // get selected wps (url) var wpsUrl = $('#wps-selection option:selected').text(); wps = new WpsService({url : wpsUrl, version : "1.0.0"}); wps.getCapabilities_POST(capabilitiesCallback); }; testExecuteRequest_wps_2_0(); //testExecuteRequest_wps_1_0(); }); </script> <!-- build:template <div> <p class="infotext"><%= message %></p> </div> /build --> </body> </html>