WPSClient and WPSProcess for convenient WPS interaction.

This commit is contained in:
ahocevar
2012-07-27 14:18:37 +02:00
parent 970448effc
commit 0108250ed9
5 changed files with 479 additions and 1 deletions
+29
View File
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>OpenLayers WPS Client Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<script src="../lib/OpenLayers.js"></script>
<script src="wps-client.js"></script>
</head>
<body onload="init()">
<h1 id="title">WPS Client Example</h1>
<div id="tags">
wps
</div>
<div id="shortdesc">Shows the usage of the WPS Client</div>
<div id="map" class="smallmap"></div>
<div id="docs">
<p>This example shows how simple it is to use the WPS Client. See
<a href="wps-client.js">wps-client.js</a> to see how this is done.</p>
</div>
</body>
</html>
+64
View File
@@ -0,0 +1,64 @@
var map, client, process;
function init() {
map = new OpenLayers.Map('map', {
allOverlays: true,
center: [114, 16],
zoom: 4,
layers: [new OpenLayers.Layer.Vector()]
});
var features = [new OpenLayers.Format.WKT().read(
'LINESTRING(117 22,112 18,118 13, 115 8)'
)];
var geometry = (new OpenLayers.Format.WKT().read(
'POLYGON((110 20,120 20,120 10,110 10,110 20),(112 17,118 18,118 16,112 15,112 17))'
)).geometry;
map.baseLayer.addFeatures(features);
map.baseLayer.addFeatures([new OpenLayers.Feature.Vector(geometry)]);
client = new OpenLayers.WPSClient({
servers: {
local: "/geoserver/wps"
}
});
// Create a process and execute it
process = client.getProcess("local", "JTS:intersection");
process.execute({
// spatial input can be a feature or a geometry or an array of
// features or geometries
inputs: {
a: features,
b: geometry
},
success: function(outputs) {
// outputs.result is a feature or an array of features for spatial
// processes.
map.baseLayer.addFeatures(outputs.result);
}
});
// Instead of creating a process and executing it, we could call execute on
// the client directly if we are only dealing with a single process:
/*
client.execute({
server: "local",
process: "JTS:intersection",
// spatial input can be a feature or a geometry or an array of
// features or geometries
inputs: {
a: features,
b: geometry
},
success: function(outputs) {
// outputs.result is a feature or an array of features for spatial
// processes.
map.baseLayer.addFeatures(outputs.result);
}
});
*/
}