diff --git a/distro/web.xml b/distro/web.xml
index 7e23ce4..efa36ab 100644
--- a/distro/web.xml
+++ b/distro/web.xml
@@ -5,6 +5,11 @@
52°North Web Processing Service, Git: 1665e1b7b2188755161d4f0f3a6acf562d0444e1 @ 2015-03-21 00:30:20A web processing framework supporting the OGC WPS 1.0.0 specification
+
+ algorithmDirectory
+ /home/gcube/wps_algorithms/algorithms
+
+
0
diff --git a/pom.xml b/pom.xml
index 10fac50..132842c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,9 +104,32 @@
xercesxercesImpl2.11.0
- runtime
-
+
+
+ org.gcube.core
+ common-smartgears
+
+
+ org.gcube.core
+ common-smartgears-app
+
+
+
+
+ org.gcube.common
+ common-authorization
+
+
+ org.gcube.core
+ common-scope
+
+
+
+
+
+
+
org.geotoolsgt-main
@@ -279,6 +302,10 @@
commons-loggingcommons-logging
+
+ xml-apis
+ xml-apis
+
diff --git a/src/main/java/org/gcube/data/analysis/wps/CancelComputation.java b/src/main/java/org/gcube/data/analysis/wps/CancelComputation.java
new file mode 100644
index 0000000..b97c2f7
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/CancelComputation.java
@@ -0,0 +1,162 @@
+package org.gcube.data.analysis.wps;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.UUID;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.n52.wps.commons.XMLUtil;
+import org.n52.wps.server.database.DatabaseFactory;
+import org.n52.wps.server.database.IDatabase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CancelComputation extends HttpServlet {
+
+ private final static Logger LOGGER = LoggerFactory.getLogger(CancelComputation.class);
+ private static final long serialVersionUID = -268198171054599696L;
+ // This is required for URL generation for response documents.
+ public final static String SERVLET_PATH = "RetrieveResultServlet";
+ // in future parameterize
+ //private final boolean indentXML = false;
+
+ private final int uuid_length = 36;
+
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ }
+
+ public static String empty = " " +
+ " " +
+ "";
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+ // id of result to retrieve.
+ String id = request.getParameter("id");
+
+ LOGGER.debug("CANCEL COMPUTATION -> RETRIEVING ID " + id);
+ if (StringUtils.isEmpty(id)) {
+ errorResponse("id parameter missing", response);
+ } else {
+ LOGGER.debug("CANCEL COMPUTATION -> ID RETRIEVED " + id);
+ if (!isIDValid(id)) {
+ errorResponse("id parameter not valid", response);
+ }
+ LOGGER.debug("CANCEL COMPUTATION -> ID IS VALID " + id);
+ IDatabase db = DatabaseFactory.getDatabase();
+ long len = db.getContentLengthForStoreResponse(id);
+ LOGGER.debug("CANCEL COMPUTATION -> INITIAL ID RESPONSE LENGTH " + len);
+
+ try {
+ LOGGER.debug("CANCEL COMPUTATION -> DELETING ID " + id);
+
+ try {
+// String empty = "";
+ InputStream stream = new ByteArrayInputStream(empty.getBytes("UTF-8"));
+ db.updateResponse(id, stream);
+ stream.close();
+ } catch (Exception e) {
+ LOGGER.error("error reading th einput stream",e);
+ }
+ LOGGER.debug("CANCEL COMPUTATION -> ID DELETED " + id);
+ len = db.getContentLengthForStoreResponse(id);
+ LOGGER.debug("CANCEL COMPUTATION -> ID RESPONSE LENGTH " + len);
+ } catch (Exception e) {
+ LOGGER.error("error in do get",e);
+ } finally {
+ }
+ }
+ }
+
+ protected void errorResponse(String error, HttpServletResponse response) throws IOException {
+ response.setContentType("text/html");
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ PrintWriter writer = response.getWriter();
+ writer.write("Error" + error + "");
+ writer.flush();
+ LOGGER.warn("Error processing response: " + error);
+ }
+
+ protected void copyResponseStream(InputStream inputStream, OutputStream outputStream, String id, long contentLength) throws IOException {
+ long contentWritten = 0;
+ try {
+ byte[] buffer = new byte[8192];
+ int bufferRead;
+ while ((bufferRead = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bufferRead);
+ contentWritten += bufferRead;
+ }
+ } catch (IOException e) {
+ String exceptionMessage = contentLength > -1 ? String.format("Error writing response to output stream for id %s, %d of %d bytes written", id, contentWritten, contentLength) : String.format("Error writing response to output stream for id %s, %d bytes written", id, contentWritten);
+ throw new IOException(exceptionMessage, e);
+ }
+ LOGGER.info("{} bytes written in response to id {}", contentWritten, id);
+ }
+
+ protected void copyResponseAsXML(InputStream inputStream, OutputStream outputStream, boolean indent, String id) throws IOException {
+ try {
+ XMLUtil.copyXML(inputStream, outputStream, indent);
+ } catch (IOException e) {
+ throw new IOException("Error writing XML response for id " + id, e);
+ }
+ }
+
+ public static Throwable getRootCause(Throwable t) {
+ return t.getCause() == null ? t : getRootCause(t.getCause());
+ }
+
+ public boolean isIDValid(String id) {
+
+ if (id.length() <= uuid_length) {
+
+ try {
+ UUID checkUUID = UUID.fromString(id);
+
+ if (checkUUID.toString().equals(id)) {
+ return true;
+ } else {
+ return false;
+ }
+ } catch (Exception e) {
+ return false;
+ }
+
+ } else {
+
+ String uuidPartOne = id.substring(0, uuid_length);
+ String uuidPartTwo = id.substring(id.length() - uuid_length, id.length());
+
+ return isUUIDValid(uuidPartOne) && isUUIDValid(uuidPartTwo);
+ }
+ }
+
+ public boolean isUUIDValid(String uuid) {
+
+ // the following can be used to check whether the id is a valid UUID
+ try {
+ UUID checkUUID = UUID.fromString(uuid);
+
+ if (checkUUID.toString().equals(uuid)) {
+ return true;
+ } else {
+ return false;
+ }
+ } catch (Exception e) {
+ return false;
+ }
+ }
+}
diff --git a/src/main/java/org/gcube/data/analysis/wps/ExecuteResponse.java b/src/main/java/org/gcube/data/analysis/wps/ExecuteResponse.java
new file mode 100644
index 0000000..4007bd9
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/ExecuteResponse.java
@@ -0,0 +1,31 @@
+package org.gcube.data.analysis.wps;
+
+import java.io.InputStream;
+
+import org.n52.wps.server.ExceptionReport;
+import org.n52.wps.server.request.ExecuteRequest;
+import org.n52.wps.server.response.ExecuteResponseBuilder;
+import org.n52.wps.server.response.Response;
+
+public class ExecuteResponse extends Response {
+
+ private ExecuteResponseBuilder builder;
+
+ public ExecuteResponse(ExecuteRequest request) throws ExceptionReport{
+ super(request);
+ this.builder = ((ExecuteRequest)this.request).getExecuteResponseBuilder();
+ }
+
+ @Override
+ public InputStream getAsStream() throws ExceptionReport{
+ return this.builder.getAsStream();
+ }
+
+ public ExecuteResponseBuilder getExecuteResponseBuilder(){
+ return builder;
+ }
+
+ public String getMimeType(){
+ return builder.getMimeType();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/data/analysis/wps/GetCapabilitiesBuilder.java b/src/main/java/org/gcube/data/analysis/wps/GetCapabilitiesBuilder.java
new file mode 100644
index 0000000..8fb2875
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/GetCapabilitiesBuilder.java
@@ -0,0 +1,132 @@
+package org.gcube.data.analysis.wps;
+
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.io.IOUtils;
+import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.data.analysis.wps.repository.GcubeAlgorithmRepository;
+import org.gcube.dataanalysis.ecoengine.processing.factories.ProcessorsFactory;
+import org.gcube.dataanalysis.wps.statisticalmanager.synchserver.infrastructure.InfrastructureDialoguer;
+import org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mapping.ConfigurationManager;
+import org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mapping.TokenManager;
+import org.n52.wps.commons.WPSConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class GetCapabilitiesBuilder {
+
+ public static String processString = "\n\t#CLASS#\n\t#TITLE#\n";
+
+ private static final Logger LOGGER= LoggerFactory.getLogger(GetCapabilitiesBuilder.class);
+
+ public String getClassification(String algorithmName, ConfigurationManager configManager) throws Exception{
+ //get algorithms classification:
+ LOGGER.debug("Searching for a classification of "+algorithmName);
+ HashMap> algorithmsClassification = ProcessorsFactory.getAllFeaturesUser(configManager.getConfig());
+ String rightClassification = "Others";
+ for (String classification:algorithmsClassification.keySet()){
+ List algorithms = algorithmsClassification.get(classification);
+ if (algorithms.contains(algorithmName)){
+ LOGGER.debug("Found classification"+classification);
+ return classification;
+ }
+ }
+ LOGGER.debug("No classification found for "+algorithmName);
+ return rightClassification;
+ }
+
+ public String buildGetCapabilities(Map parameters) throws Exception {
+
+ LinkedHashMap basicInputs = new LinkedHashMap();
+ //DONE get scope and username from SmartGears to build the get capabilities
+ /* OLD CODE
+ if (parameters != null) {
+ if (parameters.get(ConfigurationManager.scopeParameter) != null)
+ basicInputs.put(ConfigurationManager.scopeParameter, parameters.get(ConfigurationManager.scopeParameter)[0]);
+ if (parameters.get(ConfigurationManager.usernameParameter) != null)
+ basicInputs.put(ConfigurationManager.usernameParameter, parameters.get(ConfigurationManager.usernameParameter)[0]);
+ } else {// case for testing purposes only
+ if (AbstractEcologicalEngineMapper.simulationMode){
+ basicInputs.put(ConfigurationManager.scopeParameter, ConfigurationManager.defaultScope);
+ basicInputs.put(ConfigurationManager.usernameParameter, ConfigurationManager.defaultUsername);
+ }
+ }
+ */
+ ConfigurationManager configManager = new ConfigurationManager();
+ TokenManager tokenm = new TokenManager();
+ tokenm.getCredentials();
+ String scope = tokenm.getScope();
+ String username = tokenm.getUserName();
+ String token = tokenm.getToken();
+ basicInputs.put(ConfigurationManager.scopeParameter, scope);
+ basicInputs.put(ConfigurationManager.usernameParameter, username);
+ basicInputs.put(ConfigurationManager.tokenParameter, token);
+
+ configManager.configAlgorithmEnvironment(basicInputs);
+ LOGGER.debug("Initializing Capabilities Skeleton in scope " + configManager.getScope() + " with user " + configManager.getUsername());
+ InputStream is = this.getClass().getClassLoader().getResourceAsStream("templates/wpsCapabilitiesSkeleton.xml");
+ String stringTemplate = IOUtils.toString(is, "UTF-8");
+
+ //TODO: GET HOSTNAME AND PORT from container
+ String host = WPSConfig.getInstance().getWPSConfig().getServer().getHostname();
+ String port = WPSConfig.getInstance().getWPSConfig().getServer().getHostport();
+ stringTemplate = stringTemplate.replace("#HOST#", host).replace("#PORT#", port);
+
+ LOGGER.debug("Host: " + host + " Port: " + port);
+
+ LinkedHashMap allalgorithms = new LinkedHashMap();
+ /*
+ String packageS = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses";
+ List> classes = null;
+ try{
+ LOGGER.debug("Taking classes from /classes");
+ classes = GetCapabilitiesChecker.find(packageS);
+ }catch(Exception e){
+ LOGGER.debug("Taking classes from the Jar");
+ classes=GetCapabilitiesChecker.getClassesInSamePackageFromJar(packageS);
+ }*/
+
+ LOGGER.info("using classloader class {} ",Thread.currentThread().getContextClassLoader().getClass().getSimpleName());
+
+
+ Set> algorithmsClass = GcubeAlgorithmRepository.getAllAlgorithms();
+
+ LOGGER.info("class found with annotation Algorithm are {}",algorithmsClass.size());
+
+ for (Class> classfind : algorithmsClass) {
+ org.n52.wps.algorithm.annotation.Algorithm algorithmInfo = classfind.getAnnotation(org.n52.wps.algorithm.annotation.Algorithm.class);
+ if (algorithmInfo != null) {
+ LOGGER.debug("Retrieving local declared Algorithm: " + algorithmInfo.title());
+ allalgorithms.put(algorithmInfo.title(), classfind.getName());
+ }
+ }
+
+ LOGGER.debug("Getting algorithms from the infrastructure");
+ InfrastructureDialoguer dialoguer = new InfrastructureDialoguer(configManager.getScope());
+ List algorithmsInScope = dialoguer.getAlgorithmsInScope();
+ LOGGER.debug("Found {} algorithms in scope {} ",algorithmsInScope.size() ,ScopeProvider.instance.get());
+ StringBuffer capabilities = new StringBuffer();
+
+ for (String algorithmInScope : algorithmsInScope) {
+ String classAlgorithm = allalgorithms.get(algorithmInScope);
+ if (classAlgorithm != null) {
+ LOGGER.debug("Approving " + classAlgorithm + " to capabilities ");
+ String algorithmTitle = getClassification(algorithmInScope, configManager)+":"+algorithmInScope;
+// String algorithmTitle = algorithmInScope;
+ capabilities.append(processString.replace("#TITLE#", algorithmTitle).replace("#CLASS#", classAlgorithm));
+ }
+ }
+
+ stringTemplate = stringTemplate.replace("#PROCESSES#", capabilities.toString());
+ LOGGER.debug("Get capabilities built");
+ return stringTemplate;
+ }
+
+
+
+}
diff --git a/src/main/java/org/gcube/data/analysis/wps/RequestHandler.java b/src/main/java/org/gcube/data/analysis/wps/RequestHandler.java
new file mode 100644
index 0000000..87ed152
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/RequestHandler.java
@@ -0,0 +1,429 @@
+package org.gcube.data.analysis.wps;
+/**
+ * Copyright (C) 2007 - 2014 52°North Initiative for Geospatial Open Source
+ * Software GmbH
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ *
+ * If the program is linked with libraries which are licensed under one of
+ * the following licenses, the combination of the program with the linked
+ * library is not considered a "derivative work" of the program:
+ *
+ * • Apache License, version 2.0
+ * • Apache Software License, version 1.0
+ * • GNU Lesser General Public License, version 3
+ * • Mozilla Public License, versions 1.0, 1.1 and 2.0
+ * • Common Development and Distribution License (CDDL), version 1.0
+ *
+ * Therefore the distribution of the program linked with libraries licensed
+ * under the aforementioned licenses, is permitted by the copyright holders
+ * if the distribution is compliant with both the GNU General Public
+ * License version 2 and the aforementioned licenses.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+org.gcube.dataanalysis.wps.statisticalmanager.synchserver.weberver.handler;
+*/
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.RejectedExecutionException;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.commons.collections.map.CaseInsensitiveMap;
+import org.apache.commons.io.IOUtils;
+import org.gcube.common.authorization.library.AuthorizedTasks;
+import org.n52.wps.server.ExceptionReport;
+import org.n52.wps.server.WebProcessingService;
+import org.n52.wps.server.handler.RequestExecutor;
+import org.n52.wps.server.request.CapabilitiesRequest;
+import org.n52.wps.server.request.DescribeProcessRequest;
+import org.n52.wps.server.request.ExecuteRequest;
+import org.n52.wps.server.request.Request;
+import org.n52.wps.server.request.RetrieveResultRequest;
+import org.n52.wps.server.response.Response;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+
+public class RequestHandler {
+
+ public static final String VERSION_ATTRIBUTE_NAME = "version";
+
+ /** Computation timeout in seconds */
+ protected static RequestExecutor pool = new RequestExecutor();
+
+ protected OutputStream os;
+
+ private static Logger LOGGER = LoggerFactory.getLogger(RequestHandler.class);
+
+ protected String responseMimeType;
+
+ protected Request req;
+
+ // Empty constructor due to classes which extend the RequestHandler
+ protected RequestHandler() {
+
+ }
+ private Map params;
+ /**
+ * Handles requests of type HTTP_GET (currently capabilities and
+ * describeProcess). A Map is used to represent the client input.
+ *
+ * @param params
+ * The client input
+ * @param os
+ * The OutputStream to write the response to.
+ * @throws ExceptionReport
+ * If the requested operation is not supported
+ */
+ public RequestHandler(Map params, OutputStream os)
+ throws ExceptionReport {
+ this.os = os;
+ this.params=params;
+ //sleepingTime is 0, by default.
+ /*if(WPSConfiguration.getInstance().exists(PROPERTY_NAME_COMPUTATION_TIMEOUT)) {
+ this.sleepingTime = Integer.parseInt(WPSConfiguration.getInstance().getProperty(PROPERTY_NAME_COMPUTATION_TIMEOUT));
+ }
+ String sleepTime = WPSConfig.getInstance().getWPSConfig().getServer().getComputationTimeoutMilliSeconds();
+ */
+
+
+ Request req;
+ CaseInsensitiveMap ciMap = new CaseInsensitiveMap(params);
+
+ /*
+ * check if service parameter is present and equals "WPS"
+ * otherwise an ExceptionReport will be thrown
+ */
+ String serviceType = Request.getMapValue("service", ciMap, true);
+
+ if(!serviceType.equalsIgnoreCase("WPS")){
+ throw new ExceptionReport("Parameter is not correct, expected: WPS, got: " + serviceType,
+ ExceptionReport.INVALID_PARAMETER_VALUE, "service");
+ }
+
+ /*
+ * check language. if not supported, return ExceptionReport
+ * Fix for https://bugzilla.52north.org/show_bug.cgi?id=905
+ */
+ String language = Request.getMapValue("language", ciMap, false);
+
+ if(language != null){
+ Request.checkLanguageSupported(language);
+ }
+
+ // get the request type
+ String requestType = Request.getMapValue("request", ciMap, true);
+
+ if (requestType.equalsIgnoreCase("GetCapabilities")) {
+ req = new CapabilitiesRequest(ciMap);
+ }
+ else if (requestType.equalsIgnoreCase("DescribeProcess")) {
+ req = new DescribeProcessRequest(ciMap);
+ }
+ else if (requestType.equalsIgnoreCase("Execute")) {
+ req = new ExecuteRequest(ciMap);
+ setResponseMimeType((ExecuteRequest)req);
+ }
+ else if (requestType.equalsIgnoreCase("RetrieveResult")) {
+ req = new RetrieveResultRequest(ciMap);
+ }
+ else {
+ throw new ExceptionReport(
+ "The requested Operation is not supported or not applicable to the specification: "
+ + requestType,
+ ExceptionReport.OPERATION_NOT_SUPPORTED, requestType);
+ }
+
+ this.req = req;
+ }
+
+ /**
+ * Handles requests of type HTTP_POST (currently executeProcess). A Document
+ * is used to represent the client input. This Document must first be parsed
+ * from an InputStream.
+ *
+ * @param is
+ * The client input
+ * @param os
+ * The OutputStream to write the response to.
+ * @throws ExceptionReport
+ */
+ public RequestHandler(InputStream is, OutputStream os)
+ throws ExceptionReport {
+ String nodeName, localName, nodeURI, version = null;
+ Document doc;
+ this.os = os;
+
+ boolean isCapabilitiesNode = false;
+
+ try {
+ LOGGER.trace("Parsing Document...");
+ System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
+
+ DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
+ fac.setNamespaceAware(true);
+
+ // parse the InputStream to create a Document
+ doc = fac.newDocumentBuilder().parse(is);
+
+ LOGGER.trace("Document Parsing OK");
+ // Get the first non-comment child.
+ Node child = doc.getFirstChild();
+ while(child.getNodeName().compareTo("#comment")==0) {
+ child = child.getNextSibling();
+ }
+ LOGGER.trace("Skipped comments OK");
+ nodeName = child.getNodeName();
+ localName = child.getLocalName();
+ nodeURI = child.getNamespaceURI();
+ Node versionNode = child.getAttributes().getNamedItem("version");
+ LOGGER.trace("Version OK");
+ /*
+ * check for service parameter. this has to be present for all requests
+ */
+ Node serviceNode = child.getAttributes().getNamedItem("service");
+
+ if(serviceNode == null){
+ throw new ExceptionReport("Parameter not specified.", ExceptionReport.MISSING_PARAMETER_VALUE, "service");
+ }else{
+ if(!serviceNode.getNodeValue().equalsIgnoreCase("WPS")){
+ throw new ExceptionReport("Parameter not specified.", ExceptionReport.INVALID_PARAMETER_VALUE, "service");
+ }
+ }
+ LOGGER.trace("Service Node OK");
+
+ isCapabilitiesNode = nodeName.toLowerCase().contains("capabilities");
+ if(versionNode == null && !isCapabilitiesNode) {
+ throw new ExceptionReport("Parameter not specified.", ExceptionReport.MISSING_PARAMETER_VALUE, "version");
+ }
+ if(!isCapabilitiesNode){
+// version = child.getFirstChild().getTextContent();//.getNextSibling().getFirstChild().getNextSibling().getFirstChild().getNodeValue();
+ version = child.getAttributes().getNamedItem("version").getNodeValue();
+ }
+
+ LOGGER.trace("Capabilities Node OK");
+ /*
+ * check language, if not supported, return ExceptionReport
+ * Fix for https://bugzilla.52north.org/show_bug.cgi?id=905
+ */
+ Node languageNode = child.getAttributes().getNamedItem("language");
+ if(languageNode != null){
+ String language = languageNode.getNodeValue();
+ Request.checkLanguageSupported(language);
+ }
+
+ LOGGER.trace("Language Node OK "+languageNode);
+
+ } catch (SAXException e) {
+ throw new ExceptionReport(
+ "There went something wrong with parsing the POST data: "
+ + e.getMessage(),
+ ExceptionReport.NO_APPLICABLE_CODE, e);
+ } catch (IOException e) {
+ throw new ExceptionReport(
+ "There went something wrong with the network connection.",
+ ExceptionReport.NO_APPLICABLE_CODE, e);
+ } catch (ParserConfigurationException e) {
+ throw new ExceptionReport(
+ "There is a internal parser configuration error",
+ ExceptionReport.NO_APPLICABLE_CODE, e);
+ }
+ //Fix for Bug 904 https://bugzilla.52north.org/show_bug.cgi?id=904
+ if(!isCapabilitiesNode && version == null) {
+ LOGGER.error("EXCEPTION: Parameter not specified." + ExceptionReport.MISSING_PARAMETER_VALUE + " version");
+ throw new ExceptionReport("Parameter not specified." , ExceptionReport.MISSING_PARAMETER_VALUE, "version");
+ }
+ if(!isCapabilitiesNode && !version.equals(Request.SUPPORTED_VERSION)) {
+ LOGGER.error("EXCEPTION: Version not supported." + ExceptionReport.INVALID_PARAMETER_VALUE + "version");
+ throw new ExceptionReport("Version not supported." , ExceptionReport.INVALID_PARAMETER_VALUE, "version");
+ }
+ // get the request type
+ if (nodeURI.equals(WebProcessingService.WPS_NAMESPACE) && localName.equals("Execute")) {
+ LOGGER.debug("Detected Request to Execute!");
+ req = new ExecuteRequest(doc);
+ setResponseMimeType((ExecuteRequest)req);
+ LOGGER.debug("Request to Execute Configured!");
+ }else if (nodeURI.equals(WebProcessingService.WPS_NAMESPACE) && localName.equals("GetCapabilities")){
+ LOGGER.debug("Detected GetCapabilities!");
+ req = new CapabilitiesRequest(doc);
+ this.responseMimeType = "text/xml";
+ } else if (nodeURI.equals(WebProcessingService.WPS_NAMESPACE) && localName.equals("DescribeProcess")) {
+ LOGGER.debug("Detected DescribeProcess!");
+ req = new DescribeProcessRequest(doc);
+ this.responseMimeType = "text/xml";
+
+ } else if(!localName.equals("Execute")){
+ LOGGER.error("EXCEPTION Detected NON-supported Request "+"The requested Operation not supported or not applicable to the specification: "+ nodeName + ExceptionReport.OPERATION_NOT_SUPPORTED + localName);
+ throw new ExceptionReport("The requested Operation not supported or not applicable to the specification: "
+ + nodeName, ExceptionReport.OPERATION_NOT_SUPPORTED, localName);
+ }
+ else if(nodeURI.equals(WebProcessingService.WPS_NAMESPACE)) {
+ LOGGER.error("specified namespace is not supported: "+ nodeURI + ExceptionReport.INVALID_PARAMETER_VALUE);
+ throw new ExceptionReport("specified namespace is not supported: "
+ + nodeURI, ExceptionReport.INVALID_PARAMETER_VALUE);
+ }
+ }
+
+ /**
+ * Handle a request after its type is determined. The request is scheduled
+ * for execution. If the server has enough free resources, the client will
+ * be served immediately. If time runs out, the client will be asked to come
+ * back later with a reference to the result.
+ *
+ * @param req The request of the client.
+ * @throws ExceptionReport
+ */
+ public void handle() throws ExceptionReport {
+ Response resp = null;
+ if(req ==null){
+ throw new ExceptionReport("Internal Error","");
+ }
+ if (req instanceof ExecuteRequest) {
+ LOGGER.debug("Request for execution");
+ // cast the request to an executerequest
+ ExecuteRequest execReq = (ExecuteRequest) req;
+ LOGGER.debug("Accepted request for execution");
+ execReq.updateStatusAccepted();
+ //modification by GP 26-05-2015 to account for multi user and scopes
+ Callable execCallable = AuthorizedTasks.bind(execReq);
+ ExceptionReport exceptionReport = null;
+ try {
+ if (execReq.isStoreResponse()) {
+ LOGGER.debug("Execution with output storing");
+ resp = new ExecuteResponse(execReq);
+ InputStream is = resp.getAsStream();
+ IOUtils.copy(is, os);
+ is.close();
+// pool.submit(execReq);
+ pool.submit(execCallable);
+ return;
+ }
+ try {
+ LOGGER.debug("Execution without storing output");
+ // retrieve status with timeout enabled
+ try {
+ resp = pool.submit(execCallable).get();
+ }
+ catch (ExecutionException ee) {
+ LOGGER.warn("exception while handling ExecuteRequest.",ee);
+ // the computation threw an error
+ // probably the client input is not valid
+ if (ee.getCause() instanceof ExceptionReport) {
+ exceptionReport = (ExceptionReport) ee
+ .getCause();
+ } else {
+ exceptionReport = new ExceptionReport(
+ "An error occurred in the computation: "
+ + ee.getMessage(),
+ ExceptionReport.NO_APPLICABLE_CODE);
+ }
+ } catch (InterruptedException ie) {
+ LOGGER.warn("interrupted while handling ExecuteRequest.",ie);
+
+ // interrupted while waiting in the queue
+ exceptionReport = new ExceptionReport(
+ "The computation in the process was interrupted.",
+ ExceptionReport.NO_APPLICABLE_CODE);
+ }
+ } finally {
+ if (exceptionReport != null) {
+ LOGGER.warn("ExceptionReport not null",exceptionReport);
+ // NOT SURE, if this exceptionReport is also written to the DB, if required... test please!
+ throw exceptionReport;
+ }
+ // send the result to the outputstream of the client.
+ /* if(((ExecuteRequest) req).isQuickStatus()) {
+ resp = new ExecuteResponse(execReq);
+ }*/
+ else if(resp == null) {
+ LOGGER.warn("null response handling ExecuteRequest.");
+ throw new ExceptionReport("Problem with handling threads in RequestHandler", ExceptionReport.NO_APPLICABLE_CODE);
+ }
+ if(!execReq.isStoreResponse()) {
+ InputStream is = resp.getAsStream();
+ IOUtils.copy(is, os);
+ is.close();
+ LOGGER.info("Served ExecuteRequest.");
+ }
+ }
+ } catch (RejectedExecutionException ree) {
+ LOGGER.warn("exception handling ExecuteRequest.", ree);
+ // server too busy?
+ throw new ExceptionReport(
+ "The requested process was rejected. Maybe the server is flooded with requests.",
+ ExceptionReport.SERVER_BUSY);
+ } catch (Exception e) {
+ LOGGER.error("exception handling ExecuteRequest.", e);
+ if (e instanceof ExceptionReport) {
+ throw (ExceptionReport)e;
+ }
+ throw new ExceptionReport("Could not read from response stream.", ExceptionReport.NO_APPLICABLE_CODE);
+ }
+ } else {
+ // for GetCapabilities and DescribeProcess:
+
+ resp = req.call();
+
+ try {
+ InputStream is = null;
+ if (req instanceof CapabilitiesRequest){
+ GetCapabilitiesBuilder builder = new GetCapabilitiesBuilder();
+ String getCapabilitiesStringFromInfra = "";
+ try {
+ getCapabilitiesStringFromInfra = builder.buildGetCapabilities(params);
+ } catch (Exception e) {
+ throw new ExceptionReport("Error in building GetCapabilities","getcapabilities",e);
+ }
+ is = IOUtils.toInputStream(getCapabilitiesStringFromInfra, "UTF-8");
+ }
+ else
+ is = resp.getAsStream();
+
+ IOUtils.copy(is, os);
+ is.close();
+ } catch (IOException e) {
+ throw new ExceptionReport("Could not read from response stream.", ExceptionReport.NO_APPLICABLE_CODE);
+ }
+
+ }
+ }
+
+ protected void setResponseMimeType(ExecuteRequest req) {
+ if(req.isRawData()){
+ responseMimeType = req.getExecuteResponseBuilder().getMimeType();
+ }else{
+ responseMimeType = "text/xml";
+ }
+
+
+ }
+
+
+
+ public String getResponseMimeType(){
+ if(responseMimeType == null){
+ return "text/xml";
+ }
+ return responseMimeType.toLowerCase();
+ }
+
+
+}
+
+
+
diff --git a/src/main/java/org/gcube/data/analysis/wps/WebProcessingService.java b/src/main/java/org/gcube/data/analysis/wps/WebProcessingService.java
new file mode 100644
index 0000000..36cbd40
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/WebProcessingService.java
@@ -0,0 +1,435 @@
+package org.gcube.data.analysis.wps;
+/**
+ * Copyright (C) 2007 - 2014 52°North Initiative for Geospatial Open Source
+ * Software GmbH
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ *
+ * If the program is linked with libraries which are licensed under one of
+ * the following licenses, the combination of the program with the linked
+ * library is not considered a "derivative work" of the program:
+ *
+ * • Apache License, version 2.0
+ * • Apache Software License, version 1.0
+ * • GNU Lesser General Public License, version 3
+ * • Mozilla Public License, versions 1.0, 1.1 and 2.0
+ * • Common Development and Distribution License (CDDL), version 1.0
+ *
+ * Therefore the distribution of the program linked with libraries licensed
+ * under the aforementioned licenses, is permitted by the copyright holders
+ * if the distribution is compliant with both the GNU General Public
+ * License version 2 and the aforementioned licenses.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+org.gcube.dataanalysis.wps.statisticalmanager.synchserver.capabilities52.wps.server;
+ */
+// FvK: added Property Change Listener support
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import java.net.URLDecoder;
+import java.util.Map;
+import java.util.zip.GZIPOutputStream;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.xmlbeans.XmlException;
+import org.gcube.data.analysis.wps.repository.AlgorithmUpdater;
+import org.gcube.data.analysis.wps.repository.GcubeAlgorithmRepository;
+import org.gcube.smartgears.ContextProvider;
+import org.gcube.smartgears.context.application.ApplicationContext;
+import org.n52.wps.GeneratorDocument.Generator;
+import org.n52.wps.ParserDocument.Parser;
+import org.n52.wps.commons.WPSConfig;
+import org.n52.wps.io.GeneratorFactory;
+import org.n52.wps.io.ParserFactory;
+import org.n52.wps.server.CapabilitiesConfiguration;
+import org.n52.wps.server.ExceptionReport;
+import org.n52.wps.server.database.DatabaseFactory;
+import org.n52.wps.util.XMLBeansHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This WPS supports HTTP GET for describeProcess and getCapabilities and XML-POST for execute.
+ *
+ * @author foerster
+ *
+ */
+public class WebProcessingService extends HttpServlet {
+
+ // Universal version identifier for a Serializable class.
+ // Should be used here, because HttpServlet implements the java.io.Serializable
+ private static final long serialVersionUID = 8943233273641771839L;
+ public static String PROPERTY_NAME_WEBAPP_PATH = "webappPath";
+ public static String BASE_DIR = null;
+ public static String WEBAPP_PATH = null;
+ public static String SERVLET_PATH = "WebProcessingService";
+ public static String WPS_NAMESPACE = "http://www.opengis.net/wps/1.0.0";
+ public static String DEFAULT_LANGUAGE = "en-US";
+ protected static Logger LOGGER = LoggerFactory.getLogger(WebProcessingService.class);
+
+ private static final String DIRECTORY_PARAM = "algorithmDirectory";
+
+ private ApplicationContext context = ContextProvider.get();
+
+
+
+
+ @Override
+ public void init() throws ServletException {
+ String dir = (String)context.application().getInitParameter(DIRECTORY_PARAM);
+ GcubeAlgorithmRepository.setUpdater(new AlgorithmUpdater(dir));
+ }
+
+ /**
+ *
+ * Returns a preconfigured OutputStream It takes care of: - caching - content-Encoding
+ *
+ * @param hsRequest
+ * the HttpServletRequest
+ * @param hsResponse
+ * the HttpServlerResponse
+ * @return the preconfigured OutputStream
+ * @throws IOException
+ * a task of the tomcat
+ */
+ @SuppressWarnings("unused")
+ private static OutputStream getConfiguredOutputStream(HttpServletRequest hsRequest, HttpServletResponse hsResponse) throws IOException {
+ /*
+ * Forbids clients to cache the response May solve problems with proxies and bad implementations
+ */
+
+ hsResponse.setHeader("Expires", "0");
+ if (hsRequest.getProtocol().equals("HTTP/1.1")) {
+ hsResponse.setHeader("Cache-Control", "no-cache");
+ } else if (hsRequest.getProtocol().equals("HTTP/1.0")) {
+ hsResponse.setHeader("Pragma", "no-cache");
+ }
+
+ // Enable/disable gzip compression
+ if (hsRequest.getHeader("Accept-Encoding") != null
+ && hsRequest.getHeader("Accept-Encoding").indexOf("gzip") >= 0) {
+ hsResponse.setHeader("Content-Encoding", "gzip");
+ LOGGER.info("gzip-Compression for output enabled");
+ return new GZIPOutputStream(hsResponse.getOutputStream());
+ } // else {
+ LOGGER.info("gzip-Compression for output disabled");
+ return hsResponse.getOutputStream();
+ // }
+ }
+
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+
+ // this is important to set the lon lat support for correct CRS transformation.
+
+ System.setProperty("org.geotools.referencing.forceXY", "true");
+
+ LOGGER.info("WebProcessingService initializing...");
+
+ try {
+ if (WPSConfig.getInstance(config) == null) {
+ LOGGER.error("Initialization failed! Please look at the properties file!");
+ return;
+ }
+ }
+ catch (Exception e) {
+ LOGGER.error("Initialization failed! Please look at the properties file!", e);
+ return;
+ }
+ LOGGER.info("Initialization of wps properties successful!");
+
+ BASE_DIR = this.getServletContext().getRealPath("");
+
+ Parser[] parsers = WPSConfig.getInstance().getActiveRegisteredParser();
+ ParserFactory.initialize(parsers);
+
+ Generator[] generators = WPSConfig.getInstance().getActiveRegisteredGenerator();
+ GeneratorFactory.initialize(generators);
+
+ // call RepositoyManager to initialize
+ LOGGER.info("Algorithms initialized");
+
+ // String customWebappPath = WPSConfiguration.getInstance().getProperty(PROPERTY_NAME_WEBAPP_PATH);
+ String customWebappPath = WPSConfig.getInstance().getWPSConfig().getServer().getWebappPath();
+ if (customWebappPath != null) {
+ WEBAPP_PATH = customWebappPath;
+ }
+ else {
+ WEBAPP_PATH = "wps";
+ LOGGER.warn("No custom webapp path found, use default wps");
+ }
+ LOGGER.info("webappPath is set to: " + customWebappPath);
+
+ try {
+ CapabilitiesConfiguration.getInstance(BASE_DIR + File.separator + "config"
+ + File.separator + "wpsCapabilitiesSkeleton.xml");
+ }
+ catch (IOException e) {
+ LOGGER.error("error while initializing capabilitiesConfiguration", e);
+ }
+ catch (XmlException e) {
+ LOGGER.error("error while initializing capabilitiesConfiguration", e);
+ }
+
+ // Get an instance of the database for initialization of the database
+ DatabaseFactory.getDatabase();
+
+ LOGGER.info("WPS up and running!");
+
+ // FvK: added Property Change Listener support
+ // creates listener and register it to the wpsConfig instance.
+ // it will listen to changes of the wpsCapabilities
+ WPSConfig.getInstance().addPropertyChangeListener(org.n52.wps.commons.WPSConfig.WPSCAPABILITIES_SKELETON_PROPERTY_EVENT_NAME,
+ new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent propertyChangeEvent) {
+ LOGGER.info(this.getClass().getName()
+ + ": Received Property Change Event: "
+ + propertyChangeEvent.getPropertyName());
+ try {
+ CapabilitiesConfiguration.reloadSkeleton();
+ }
+ catch (IOException e) {
+ LOGGER.error("error while initializing capabilitiesConfiguration",
+ e);
+ }
+ catch (XmlException e) {
+ LOGGER.error("error while initializing capabilitiesConfiguration",
+ e);
+ }
+ }
+ });
+
+ // FvK: added Property Change Listener support
+ // creates listener and register it to the wpsConfig instance.
+ // it will listen to changes of the wpsConfiguration
+ WPSConfig.getInstance().addPropertyChangeListener(org.n52.wps.commons.WPSConfig.WPSCONFIG_PROPERTY_EVENT_NAME,
+ new PropertyChangeListener() {
+ public void propertyChange(final PropertyChangeEvent propertyChangeEvent) {
+ LOGGER.info(this.getClass().getName()
+ + ": Received Property Change Event: "
+ + propertyChangeEvent.getPropertyName());
+ try {
+ CapabilitiesConfiguration.reloadSkeleton();
+ }
+ catch (IOException e) {
+ LOGGER.error("error while initializing capabilitiesConfiguration",
+ e);
+ }
+ catch (XmlException e) {
+ LOGGER.error("error while initializing capabilitiesConfiguration",
+ e);
+ }
+ }
+ });
+
+ }
+
+ protected void setServerParameters(){
+ //String endpoint = CapabilitiesConfiguration.ENDPOINT_URL;
+
+ String webapp = context.application().getContextPath().replace("//", "");
+ WPSConfig.getInstance().getWPSConfig().getServer().setWebappPath(webapp);
+
+
+ String host = WPSConfig.getInstance().getWPSConfig().getServer().getHostname();
+ String port = WPSConfig.getInstance().getWPSConfig().getServer().getHostport();
+
+ if (host==null || host.toLowerCase().equals("localhost")){
+ LOGGER.info("resolving hostname and port from container.xml");
+ host = context.container().configuration().hostname();
+ port = Integer.toString(context.container().configuration().port());
+ WPSConfig.getInstance().getWPSConfig().getServer().setHostname(host);
+ WPSConfig.getInstance().getWPSConfig().getServer().setHostport(port);
+ }
+
+
+ LOGGER.debug("Setting server parameters: Host: {}, Port: {} , Webapp: {} ", host, port,webapp);
+ //TODO: CHANGE the porotocol to enable https via conainer configuration
+ String webPath = "http://" + host + ":" + port + "/" + webapp + "/WebProcessingService";
+ if (CapabilitiesConfiguration.ENDPOINT_URL.contains("localhost"))
+ CapabilitiesConfiguration.ENDPOINT_URL=webPath;
+
+ }
+
+ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
+ try {
+ setServerParameters();
+ OutputStream out = res.getOutputStream(); // closed by res.flushBuffer();
+
+ @SuppressWarnings("unchecked")
+ RequestHandler handler = new RequestHandler((Map) req.getParameterMap(), out);
+ String mimeType = handler.getResponseMimeType();
+ res.setContentType(mimeType);
+ handler.handle();
+
+ res.setStatus(HttpServletResponse.SC_OK);
+ }
+ catch (ExceptionReport e) {
+ handleException(e, res);
+ }
+ catch (RuntimeException e) {
+ ExceptionReport er = new ExceptionReport("Error handing request: " + e.getMessage(),
+ ExceptionReport.NO_APPLICABLE_CODE,
+ e);
+ handleException(er, res);
+ }
+ finally {
+ if (res != null) {
+ res.flushBuffer();
+ }
+ // out.flush();
+ // out.close();
+ }
+ }
+
+ public final static int MAXIMUM_REQUEST_SIZE = 128 << 20;
+ public final static String SPECIAL_XML_POST_VARIABLE = "request";
+ private static final String XML_CONTENT_TYPE = "text/xml";
+
+ protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
+ setServerParameters();
+ BufferedReader reader = null;
+ LOGGER.debug("Incoming Post Request");
+ try {
+ String contentType = req.getContentType();
+ String characterEncoding = req.getCharacterEncoding();
+ if (characterEncoding == null || characterEncoding.length() == 0) {
+ characterEncoding = "UTF-8"; // default character encoding if unspecified
+ }
+ LOGGER.debug("Set Encoding to {}",characterEncoding);
+ int contentLength = req.getContentLength();
+ if (contentLength > MAXIMUM_REQUEST_SIZE) {
+ LOGGER.warn("POST request rejected, request size of " + contentLength + " too large.");
+ ExceptionReport er = new ExceptionReport("Request body too large, limited to " + MAXIMUM_REQUEST_SIZE
+ + " bytes", ExceptionReport.NO_APPLICABLE_CODE);
+ handleException(er, res);
+ }
+
+ LOGGER.debug("Received POST: Content-Type = {}, Character-Encoding = {} , Content-Length = {} " , contentType, characterEncoding, contentLength);
+
+ int requestSize = 0;
+
+ StringWriter writer = contentLength > 0 ? new StringWriter(contentLength) : new StringWriter();
+ reader = req.getReader();
+ char[] buffer = new char[8192];
+ int read;
+ while ( (read = reader.read(buffer)) != -1 && requestSize < MAXIMUM_REQUEST_SIZE) {
+ writer.write(buffer, 0, read);
+ requestSize += read;
+ }
+
+ LOGGER.debug("POST request contained {} characters", requestSize);
+
+ // Protect against denial of service attacks.
+ if (requestSize >= MAXIMUM_REQUEST_SIZE && reader.read() > -1) {
+ LOGGER.warn("POST request rejected, request size of {} too large.",requestSize);
+ ExceptionReport er = new ExceptionReport("Request body too large, limited to " + MAXIMUM_REQUEST_SIZE
+ + " bytes", ExceptionReport.NO_APPLICABLE_CODE);
+ handleException(er, res);
+ }
+
+ String documentString = writer.toString();
+ // Perform URL decoding, if necessary
+ // if ("application/x-www-form-urlencoded".equals(contentType)) {
+ if ( (contentType).startsWith("application/x-www-form-urlencoded")) {
+ if (documentString.startsWith(SPECIAL_XML_POST_VARIABLE + "=")) {
+ // This is a hack to permit xml to be easily submitted via a form POST.
+ // By convention, we are allowing users to post xml if they name it
+ // with a POST parameter "request" although this is not
+ // valid per the specification.
+ documentString = documentString.substring(SPECIAL_XML_POST_VARIABLE.length() + 1);
+ LOGGER.debug("POST request form variable removed");
+ }
+ documentString = URLDecoder.decode(documentString, characterEncoding);
+ LOGGER.debug("Decoded of POST:\n" + documentString + "\n");
+ }
+ else
+ LOGGER.info("This is a standard xml document");
+
+ RequestHandler handler = new RequestHandler(new ByteArrayInputStream(documentString.getBytes("UTF-8")),
+ res.getOutputStream());
+ LOGGER.debug("POST Request Handler created");
+ String mimeType = handler.getResponseMimeType();
+ LOGGER.debug("Request mimeType: "+mimeType);
+ res.setContentType(mimeType);
+ LOGGER.debug("Handling document");
+
+ handler.handle();
+
+ LOGGER.debug("STATUS OK!");
+ res.setStatus(HttpServletResponse.SC_OK);
+ }
+ catch (ExceptionReport e) {
+ handleException(e, res);
+ }
+ catch (Exception e) {
+ ExceptionReport er = new ExceptionReport("Error handing request: " + e.getMessage(), ExceptionReport.NO_APPLICABLE_CODE, e);
+ handleException(er, res);
+ }
+ finally {
+ if (res != null) {
+ res.flushBuffer();
+ }
+
+ if (reader != null) {
+ reader.close();
+ }
+ LOGGER.trace("Flushing request");
+ }
+ }
+
+ @Override
+ protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
+ if (SERVLET_PATH == null) {
+ req.getContextPath();
+ }
+ super.service(req, res);
+ }
+
+ private static void handleException(ExceptionReport exception, HttpServletResponse res) {
+ res.setContentType(XML_CONTENT_TYPE);
+ try {
+ LOGGER.debug(exception.toString());
+ // DO NOT MIX getWriter and getOuputStream!
+ exception.getExceptionDocument().save(res.getOutputStream(),
+ XMLBeansHelper.getXmlOptions());
+
+ res.setStatus(exception.getHTTPStatusCode());
+ }
+ catch (IOException e) {
+ LOGGER.warn("exception occured while writing ExceptionReport to stream");
+ try {
+ res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ "error occured, while writing OWS Exception output");
+ }
+ catch (IOException ex) {
+ LOGGER.error("error while writing error code to client!");
+ res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ }
+ }
+ }
+
+ @Override
+ public void destroy() {
+ super.destroy();
+ DatabaseFactory.getDatabase().shutdown();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/data/analysis/wps/repository/AlgorithmUpdater.java b/src/main/java/org/gcube/data/analysis/wps/repository/AlgorithmUpdater.java
new file mode 100644
index 0000000..62895da
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/repository/AlgorithmUpdater.java
@@ -0,0 +1,129 @@
+package org.gcube.data.analysis.wps.repository;
+
+import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
+import static java.nio.file.StandardWatchEventKinds.OVERFLOW;
+
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.WatchEvent;
+import java.nio.file.WatchKey;
+import java.nio.file.WatchService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public final class AlgorithmUpdater {
+
+ private static final Logger log = LoggerFactory.getLogger(AlgorithmUpdater.class);
+
+ private String algorithmDirectory;
+
+ private boolean mustUpdate = false;
+
+ private WatcherThread watcherThread = null;
+
+ public AlgorithmUpdater(String algorithmDirectory) {
+ super();
+ this.algorithmDirectory = algorithmDirectory;
+ }
+
+ protected synchronized boolean mustUpdate(){
+ return mustUpdate;
+ }
+
+ protected synchronized void reset(){
+ mustUpdate = false;
+ }
+
+ public boolean isStarted(){
+ return watcherThread!=null;
+ }
+
+ protected void startWhatcher(){
+ watcherThread = new WatcherThread(Thread.currentThread().getContextClassLoader(), algorithmDirectory);
+ watcherThread.start();
+ }
+
+ private class WatcherThread extends Thread {
+
+ private WatchService watcher;
+ private ClassLoader loader;
+ private Path dir;
+
+ public WatcherThread(ClassLoader loader, String algorithmDirectory) {
+ super();
+ try {
+ watcher = FileSystems.getDefault().newWatchService();
+ this.loader = loader;
+ //TODO: change with something from configuration
+ dir = Paths.get(algorithmDirectory);
+ dir.register(watcher, ENTRY_CREATE);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public void run(){
+ for (;;) {
+
+ // wait for key to be signaled
+ WatchKey key;
+ try {
+ key = watcher.take();
+ } catch (InterruptedException x) {
+ return;
+ }
+
+ for (WatchEvent> event: key.pollEvents()) {
+ WatchEvent.Kind> kind = event.kind();
+
+ // This key is registered only
+ // for ENTRY_CREATE events,
+ // but an OVERFLOW event can
+ // occur regardless if events
+ // are lost or discarded.
+ if (kind == OVERFLOW) {
+ continue;
+ }
+
+ // The filename is the
+ // context of the event.
+ WatchEvent ev = (WatchEvent)event;
+ Path filename = ev.context();
+ if (filename.toString().endsWith(".jar")){
+ try{
+ final Class sysclass = URLClassLoader.class;
+ // TODO some kind of a hack. Need to invent better solution.
+ final Method method = sysclass.getDeclaredMethod("addURL", new Class[] { URL.class });
+ method.setAccessible(true);
+ method.invoke(loader, new URL[] { dir.resolve(filename).toFile().toURI().toURL() });
+ log.info("filename added is {} in loader {}",filename, loader.getClass().getName());
+ mustUpdate = true;
+ }catch(Exception e){
+ log.error("filename {} cannot be added to classpath",e,filename);
+ }
+ } else log.info("filename {} is not a jar",filename);
+
+ }
+
+ boolean valid = key.reset();
+ if (!valid) {
+ break;
+ }
+ }
+ }
+ }
+
+ protected void shutdown(){
+ if (isStarted()){
+ //TODO : kill the watcherThread
+ watcherThread = null;
+ }
+ }
+}
diff --git a/src/main/java/org/gcube/data/analysis/wps/repository/GcubeAlgorithmRepository.java b/src/main/java/org/gcube/data/analysis/wps/repository/GcubeAlgorithmRepository.java
new file mode 100644
index 0000000..ff7fd8a
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/wps/repository/GcubeAlgorithmRepository.java
@@ -0,0 +1,120 @@
+package org.gcube.data.analysis.wps.repository;
+
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Set;
+
+import net.opengis.wps.x100.ProcessDescriptionType;
+
+import org.n52.wps.algorithm.annotation.Algorithm;
+import org.n52.wps.server.IAlgorithm;
+import org.n52.wps.server.IAlgorithmRepository;
+import org.reflections.Reflections;
+import org.reflections.util.ConfigurationBuilder;
+import org.reflections.util.FilterBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class GcubeAlgorithmRepository implements IAlgorithmRepository {
+
+ private static Logger log = LoggerFactory.getLogger(GcubeAlgorithmRepository.class);
+
+ private static AlgorithmUpdater updater = null;
+
+ private static Reflections reflection;
+
+ private static final String PACKAGE_TO_FIND = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses";
+
+ public GcubeAlgorithmRepository(){
+ log.info("gcube algorithm repository started");
+ if (updater==null) throw new RuntimeException("GcubeAlgorithmRepository cannot be initialized: updater is null");
+ updateRepository();
+ updater.startWhatcher();
+ }
+
+ public ProcessDescriptionType getProcessDescription(String identifier){
+ updateRepository();
+ log.info("getProcessDescription with identifier {} ",identifier);
+ try{
+ Set> classes = reflection.getTypesAnnotatedWith(Algorithm.class);
+ for (Class> _class: classes){
+ if (_class.getAnnotation(Algorithm.class).identifier().equals(identifier)){
+ return ((IAlgorithm)_class.newInstance()).getDescription();
+ }
+ }
+ }catch(Exception e){}
+ throw new RuntimeException(String.format("Algorithm with process id %s not found", identifier));
+ }
+
+ public boolean containsAlgorithm(String identifier) {
+ updateRepository();
+ log.info("containsAlgorithm with identifier {} ",identifier);
+ Set> classes = reflection.getTypesAnnotatedWith(Algorithm.class);
+ for (Class> _class: classes){
+ if (_class.getAnnotation(Algorithm.class).identifier().equals(identifier)){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public IAlgorithm getAlgorithm(String identifier){
+ updateRepository();
+ log.info("getAlgorithm with identifier {} ",identifier);
+ try{
+ Set> classes = reflection.getTypesAnnotatedWith(Algorithm.class);
+ for (Class> _class: classes){
+ if (_class.getAnnotation(Algorithm.class).identifier().equals(identifier)){
+ if (IAlgorithm.class.isAssignableFrom(_class)){
+ return (IAlgorithm)_class.newInstance();
+ } else {
+ log.warn("found algorothm class {} is no assignable from {}",_class.getName(), IAlgorithm.class.getName());
+ break;
+ }
+ }
+ }
+ }catch(Exception e){}
+ throw new RuntimeException(String.format("Algorithm with id %s not found", identifier));
+ }
+
+ public static Set> getAllAlgorithms() {
+ updateRepository();
+ return reflection.getTypesAnnotatedWith(Algorithm.class);
+ }
+
+ private static synchronized void updateRepository(){
+ if (reflection==null || updater.mustUpdate()){
+ updater.reset();
+ log.info("update time passed, updating repository");
+ ConfigurationBuilder confBuilder = new ConfigurationBuilder()
+ .filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix(PACKAGE_TO_FIND)))
+ .setUrls(((URLClassLoader)Thread.currentThread().getContextClassLoader()).getURLs());
+ reflection = new Reflections(confBuilder);
+ }
+ }
+
+ @Override
+ public Collection getAlgorithmNames() {
+ updateRepository();
+ Collection toReturn = new ArrayList();
+ Set> classes = reflection.getTypesAnnotatedWith(Algorithm.class);
+ for (Class> _class: classes){
+ toReturn.add(_class.getAnnotation(Algorithm.class).title());
+ }
+ return toReturn;
+ }
+
+ @Override
+ public void shutdown() {
+ reflection = null;
+ }
+
+ public static boolean setUpdater(AlgorithmUpdater au){
+ if (updater==null){
+ updater = au;
+ return true;
+ } else return false;
+ }
+
+}
diff --git a/src/main/webapp/WEB-INF/README b/src/main/webapp/WEB-INF/README
index ad45008..19ce783 100644
--- a/src/main/webapp/WEB-INF/README
+++ b/src/main/webapp/WEB-INF/README
@@ -25,7 +25,7 @@ no. 654119), SoBigData (grant no. 654024);
Version
--------------------------------------------------
-1.0.0-SNAPSHOT (2017-06-09)
+1.0.0-SNAPSHOT (2017-06-15)
Please see the file named "changelog.xml" in this directory for the release notes.
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 7e23ce4..efa36ab 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -5,6 +5,11 @@
52°North Web Processing Service, Git: 1665e1b7b2188755161d4f0f3a6acf562d0444e1 @ 2015-03-21 00:30:20A web processing framework supporting the OGC WPS 1.0.0 specification
+
+ algorithmDirectory
+ /home/gcube/wps_algorithms/algorithms
+
+
0
diff --git a/src/main/webapp/codemirror/LICENSE b/src/main/webapp/codemirror/LICENSE
deleted file mode 100644
index 44ceed6..0000000
--- a/src/main/webapp/codemirror/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
- Copyright (c) 2007-2009 Marijn Haverbeke
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any
- damages arising from the use of this software.
-
- Permission is granted to anyone to use this software for any
- purpose, including commercial applications, and to alter it and
- redistribute it freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 2. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 3. This notice may not be removed or altered from any source
- distribution.
-
- Marijn Haverbeke
- marijnh at gmail
diff --git a/src/main/webapp/codemirror/codemirror.js b/src/main/webapp/codemirror/codemirror.js
deleted file mode 100644
index c17c4ae..0000000
--- a/src/main/webapp/codemirror/codemirror.js
+++ /dev/null
@@ -1,402 +0,0 @@
-/* CodeMirror main module
- *
- * Implements the CodeMirror constructor and prototype, which take care
- * of initializing the editor frame, and providing the outside interface.
- */
-
-// The CodeMirrorConfig object is used to specify a default
-// configuration. If you specify such an object before loading this
-// file, the values you put into it will override the defaults given
-// below. You can also assign to it after loading.
-var CodeMirrorConfig = window.CodeMirrorConfig || {};
-
-var CodeMirror = (function(){
- function setDefaults(object, defaults) {
- for (var option in defaults) {
- if (!object.hasOwnProperty(option))
- object[option] = defaults[option];
- }
- }
- function forEach(array, action) {
- for (var i = 0; i < array.length; i++)
- action(array[i]);
- }
-
- // These default options can be overridden by passing a set of
- // options to a specific CodeMirror constructor. See manual.html for
- // their meaning.
- setDefaults(CodeMirrorConfig, {
- stylesheet: "",
- path: "",
- parserfile: [],
- basefiles: ["util.js", "stringstream.js", "select.js", "undo.js", "editor.js", "tokenize.js"],
- iframeClass: null,
- passDelay: 200,
- passTime: 50,
- lineNumberDelay: 200,
- lineNumberTime: 50,
- continuousScanning: false,
- saveFunction: null,
- onChange: null,
- undoDepth: 50,
- undoDelay: 800,
- disableSpellcheck: true,
- textWrapping: true,
- readOnly: false,
- width: "",
- height: "300px",
- autoMatchParens: false,
- parserConfig: null,
- tabMode: "indent", // or "spaces", "default", "shift"
- reindentOnLoad: false,
- activeTokens: null,
- cursorActivity: null,
- lineNumbers: false,
- indentUnit: 2
- });
-
- function addLineNumberDiv(container) {
- var nums = document.createElement("DIV"),
- scroller = document.createElement("DIV");
- nums.style.position = "absolute";
- nums.style.height = "100%";
- if (nums.style.setExpression) {
- try {nums.style.setExpression("height", "this.previousSibling.offsetHeight + 'px'");}
- catch(e) {} // Seems to throw 'Not Implemented' on some IE8 versions
- }
- nums.style.top = "0px";
- nums.style.overflow = "hidden";
- container.appendChild(nums);
- scroller.className = "CodeMirror-line-numbers";
- nums.appendChild(scroller);
- return nums;
- }
-
- function CodeMirror(place, options) {
- // Backward compatibility for deprecated options.
- if (options.dumbTabs) options.tabMode = "spaces";
- else if (options.normalTab) options.tabMode = "default";
-
- // Use passed options, if any, to override defaults.
- this.options = options = options || {};
- setDefaults(options, CodeMirrorConfig);
-
- var frame = this.frame = document.createElement("IFRAME");
- if (options.iframeClass) frame.className = options.iframeClass;
- frame.frameBorder = 0;
- frame.src = "javascript:false;";
- frame.style.border = "0";
- frame.style.width = '100%';
- frame.style.height = '100%';
- // display: block occasionally suppresses some Firefox bugs, so we
- // always add it, redundant as it sounds.
- frame.style.display = "block";
-
- var div = this.wrapping = document.createElement("DIV");
- div.style.position = "relative";
- div.className = "CodeMirror-wrapping";
- div.style.width = options.width;
- div.style.height = options.height;
-
- if (place.appendChild) place.appendChild(div);
- else place(div);
- div.appendChild(frame);
- if (options.lineNumbers) this.lineNumbers = addLineNumberDiv(div);
-
- // Link back to this object, so that the editor can fetch options
- // and add a reference to itself.
- frame.CodeMirror = this;
- this.win = frame.contentWindow;
-
- if (typeof options.parserfile == "string")
- options.parserfile = [options.parserfile];
- if (typeof options.stylesheet == "string")
- options.stylesheet = [options.stylesheet];
-
- var html = [""];
- // Hack to work around a bunch of IE8-specific problems.
- html.push("");
- forEach(options.stylesheet, function(file) {
- html.push("");
- });
- forEach(options.basefiles.concat(options.parserfile), function(file) {
- html.push("= 0; i--)
- cc.push(fs[i]);
- }
- // cont and pass are used by the action functions to add other
- // actions to the stack. cont will cause the current token to be
- // consumed, pass will leave it for the next action.
- function cont(){
- push(arguments);
- consume = true;
- }
- function pass(){
- push(arguments);
- consume = false;
- }
- // Used to change the style of the current token.
- function mark(style){
- marked = style;
- }
-
- // Push a new scope. Will automatically link the current scope.
- function pushcontext(){
- context = {prev: context, vars: {"this": true, "arguments": true}};
- }
- // Pop off the current scope.
- function popcontext(){
- context = context.prev;
- }
- // Register a variable in the current scope.
- function register(varname){
- if (context){
- mark("js-variabledef");
- context.vars[varname] = true;
- }
- }
- // Check whether a variable is defined in the current scope.
- function inScope(varname){
- var cursor = context;
- while (cursor) {
- if (cursor.vars[varname])
- return true;
- cursor = cursor.prev;
- }
- return false;
- }
-
- // Push a new lexical context of the given type.
- function pushlex(type, info) {
- var result = function(){
- lexical = new JSLexical(indented, column, type, null, lexical, info)
- };
- result.lex = true;
- return result;
- }
- // Pop off the current lexical context.
- function poplex(){
- lexical = lexical.prev;
- }
- poplex.lex = true;
- // The 'lex' flag on these actions is used by the 'next' function
- // to know they can (and have to) be ran before moving on to the
- // next token.
-
- // Creates an action that discards tokens until it finds one of
- // the given type.
- function expect(wanted){
- return function expecting(type){
- if (type == wanted) cont();
- else cont(arguments.callee);
- };
- }
-
- // Looks for a statement, and then calls itself.
- function statements(type){
- return pass(statement, statements);
- }
- // Dispatches various types of statements based on the type of the
- // current token.
- function statement(type){
- if (type == "var") cont(pushlex("vardef"), vardef1, expect(";"), poplex);
- else if (type == "keyword a") cont(pushlex("form"), expression, statement, poplex);
- else if (type == "keyword b") cont(pushlex("form"), statement, poplex);
- else if (type == "{" && json) cont(pushlex("}"), commasep(objprop, "}"), poplex);
- else if (type == "{") cont(pushlex("}"), block, poplex);
- else if (type == "function") cont(functiondef);
- else if (type == "for") cont(pushlex("form"), expect("("), pushlex(")"), forspec1, expect(")"), poplex, statement, poplex);
- else if (type == "variable") cont(pushlex("stat"), maybelabel);
- else if (type == "switch") cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"), block, poplex, poplex);
- else if (type == "case") cont(expression, expect(":"));
- else if (type == "default") cont(expect(":"));
- else if (type == "catch") cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"), statement, poplex, popcontext);
- else pass(pushlex("stat"), expression, expect(";"), poplex);
- }
- // Dispatch expression types.
- function expression(type){
- if (atomicTypes.hasOwnProperty(type)) cont(maybeoperator);
- else if (type == "function") cont(functiondef);
- else if (type == "keyword c") cont(expression);
- else if (type == "(") cont(pushlex(")"), expression, expect(")"), poplex, maybeoperator);
- else if (type == "operator") cont(expression);
- else if (type == "[") cont(pushlex("]"), commasep(expression, "]"), poplex, maybeoperator);
- else if (type == "{") cont(pushlex("}"), commasep(objprop, "}"), poplex, maybeoperator);
- }
- // Called for places where operators, function calls, or
- // subscripts are valid. Will skip on to the next action if none
- // is found.
- function maybeoperator(type){
- if (type == "operator") cont(expression);
- else if (type == "(") cont(pushlex(")"), expression, commasep(expression, ")"), poplex, maybeoperator);
- else if (type == ".") cont(property, maybeoperator);
- else if (type == "[") cont(pushlex("]"), expression, expect("]"), poplex, maybeoperator);
- }
- // When a statement starts with a variable name, it might be a
- // label. If no colon follows, it's a regular statement.
- function maybelabel(type){
- if (type == ":") cont(poplex, statement);
- else pass(maybeoperator, expect(";"), poplex);
- }
- // Property names need to have their style adjusted -- the
- // tokenizer thinks they are variables.
- function property(type){
- if (type == "variable") {mark("js-property"); cont();}
- }
- // This parses a property and its value in an object literal.
- function objprop(type){
- if (type == "variable") mark("js-property");
- if (atomicTypes.hasOwnProperty(type)) cont(expect(":"), expression);
- }
- // Parses a comma-separated list of the things that are recognized
- // by the 'what' argument.
- function commasep(what, end){
- function proceed(type) {
- if (type == ",") cont(what, proceed);
- else if (type == end) cont();
- else cont(expect(end));
- };
- return function commaSeparated(type) {
- if (type == end) cont();
- else pass(what, proceed);
- };
- }
- // Look for statements until a closing brace is found.
- function block(type){
- if (type == "}") cont();
- else pass(statement, block);
- }
- // Variable definitions are split into two actions -- 1 looks for
- // a name or the end of the definition, 2 looks for an '=' sign or
- // a comma.
- function vardef1(type, value){
- if (type == "variable"){register(value); cont(vardef2);}
- else cont();
- }
- function vardef2(type, value){
- if (value == "=") cont(expression, vardef2);
- else if (type == ",") cont(vardef1);
- }
- // For loops.
- function forspec1(type){
- if (type == "var") cont(vardef1, forspec2);
- else if (type == ";") pass(forspec2);
- else if (type == "variable") cont(formaybein);
- else pass(forspec2);
- }
- function formaybein(type, value){
- if (value == "in") cont(expression);
- else cont(maybeoperator, forspec2);
- }
- function forspec2(type, value){
- if (type == ";") cont(forspec3);
- else if (value == "in") cont(expression);
- else cont(expression, expect(";"), forspec3);
- }
- function forspec3(type) {
- if (type == ")") pass();
- else cont(expression);
- }
- // A function definition creates a new context, and the variables
- // in its argument list have to be added to this context.
- function functiondef(type, value){
- if (type == "variable"){register(value); cont(functiondef);}
- else if (type == "(") cont(pushcontext, commasep(funarg, ")"), statement, popcontext);
- }
- function funarg(type, value){
- if (type == "variable"){register(value); cont();}
- }
-
- return parser;
- }
-
- return {
- make: parseJS,
- electricChars: "{}:",
- configure: function(obj) {
- if (obj.json != null) json = obj.json;
- }
- };
-})();
diff --git a/src/main/webapp/codemirror/parsesparql.js b/src/main/webapp/codemirror/parsesparql.js
deleted file mode 100644
index 4b1dcaf..0000000
--- a/src/main/webapp/codemirror/parsesparql.js
+++ /dev/null
@@ -1,162 +0,0 @@
-var SparqlParser = Editor.Parser = (function() {
- function wordRegexp(words) {
- return new RegExp("^(?:" + words.join("|") + ")$", "i");
- }
- var ops = wordRegexp(["str", "lang", "langmatches", "datatype", "bound", "sameterm", "isiri", "isuri",
- "isblank", "isliteral", "union", "a"]);
- var keywords = wordRegexp(["base", "prefix", "select", "distinct", "reduced", "construct", "describe",
- "ask", "from", "named", "where", "order", "limit", "offset", "filter", "optional",
- "graph", "by", "asc", "desc", ]);
- var operatorChars = /[*+\-<>=&|]/;
-
- var tokenizeSparql = (function() {
- function normal(source, setState) {
- var ch = source.next();
- if (ch == "$" || ch == "?") {
- source.nextWhileMatches(/[\w\d]/);
- return "sp-var";
- }
- else if (ch == "<" && !source.matches(/[\s\u00a0=]/)) {
- source.nextWhileMatches(/[^\s\u00a0>]/);
- if (source.equals(">")) source.next();
- return "sp-uri";
- }
- else if (ch == "\"" || ch == "'") {
- setState(inLiteral(ch));
- return null;
- }
- else if (/[{}\(\),\.;\[\]]/.test(ch)) {
- return "sp-punc";
- }
- else if (ch == "#") {
- while (!source.endOfLine()) source.next();
- return "sp-comment";
- }
- else if (operatorChars.test(ch)) {
- source.nextWhileMatches(operatorChars);
- return "sp-operator";
- }
- else if (ch == ":") {
- source.nextWhileMatches(/[\w\d\._\-]/);
- return "sp-prefixed";
- }
- else {
- source.nextWhileMatches(/[_\w\d]/);
- if (source.equals(":")) {
- source.next();
- source.nextWhileMatches(/[\w\d_\-]/);
- return "sp-prefixed";
- }
- var word = source.get(), type;
- if (ops.test(word))
- type = "sp-operator";
- else if (keywords.test(word))
- type = "sp-keyword";
- else
- type = "sp-word";
- return {style: type, content: word};
- }
- }
-
- function inLiteral(quote) {
- return function(source, setState) {
- var escaped = false;
- while (!source.endOfLine()) {
- var ch = source.next();
- if (ch == quote && !escaped) {
- setState(normal);
- break;
- }
- escaped = !escaped && ch == "\\";
- }
- return "sp-literal";
- };
- }
-
- return function(source, startState) {
- return tokenizer(source, startState || normal);
- };
- })();
-
- function indentSparql(context) {
- return function(nextChars) {
- var firstChar = nextChars && nextChars.charAt(0);
- if (/[\]\}]/.test(firstChar))
- while (context && context.type == "pattern") context = context.prev;
-
- var closing = context && firstChar == matching[context.type];
- if (!context)
- return 0;
- else if (context.type == "pattern")
- return context.col;
- else if (context.align)
- return context.col - (closing ? context.width : 0);
- else
- return context.indent + (closing ? 0 : indentUnit);
- }
- }
-
- function parseSparql(source) {
- var tokens = tokenizeSparql(source);
- var context = null, indent = 0, col = 0;
- function pushContext(type, width) {
- context = {prev: context, indent: indent, col: col, type: type, width: width};
- }
- function popContext() {
- context = context.prev;
- }
-
- var iter = {
- next: function() {
- var token = tokens.next(), type = token.style, content = token.content, width = token.value.length;
-
- if (content == "\n") {
- token.indentation = indentSparql(context);
- indent = col = 0;
- if (context && context.align == null) context.align = false;
- }
- else if (type == "whitespace" && col == 0) {
- indent = width;
- }
- else if (type != "sp-comment" && context && context.align == null) {
- context.align = true;
- }
-
- if (content != "\n") col += width;
-
- if (/[\[\{\(]/.test(content)) {
- pushContext(content, width);
- }
- else if (/[\]\}\)]/.test(content)) {
- while (context && context.type == "pattern")
- popContext();
- if (context && content == matching[context.type])
- popContext();
- }
- else if (content == "." && context && context.type == "pattern") {
- popContext();
- }
- else if ((type == "sp-word" || type == "sp-prefixed" || type == "sp-uri" || type == "sp-var" || type == "sp-literal") &&
- context && /[\{\[]/.test(context.type)) {
- pushContext("pattern", width);
- }
-
- return token;
- },
-
- copy: function() {
- var _context = context, _indent = indent, _col = col, _tokenState = tokens.state;
- return function(source) {
- tokens = tokenizeSparql(source, _tokenState);
- context = _context;
- indent = _indent;
- col = _col;
- return iter;
- };
- }
- };
- return iter;
- }
-
- return {make: parseSparql, electricChars: "}]"};
-})();
diff --git a/src/main/webapp/codemirror/parsexml.js b/src/main/webapp/codemirror/parsexml.js
deleted file mode 100644
index 994efd3..0000000
--- a/src/main/webapp/codemirror/parsexml.js
+++ /dev/null
@@ -1,286 +0,0 @@
-/* This file defines an XML parser, with a few kludges to make it
- * useable for HTML. autoSelfClosers defines a set of tag names that
- * are expected to not have a closing tag, and doNotIndent specifies
- * the tags inside of which no indentation should happen (see Config
- * object). These can be disabled by passing the editor an object like
- * {useHTMLKludges: false} as parserConfig option.
- */
-
-var XMLParser = Editor.Parser = (function() {
- var Kludges = {
- autoSelfClosers: {"br": true, "img": true, "hr": true, "link": true, "input": true,
- "meta": true, "col": true, "frame": true, "base": true, "area": true},
- doNotIndent: {"pre": true, "!cdata": true}
- };
- var NoKludges = {autoSelfClosers: {}, doNotIndent: {"!cdata": true}};
- var UseKludges = Kludges;
- var alignCDATA = false;
-
- // Simple stateful tokenizer for XML documents. Returns a
- // MochiKit-style iterator, with a state property that contains a
- // function encapsulating the current state. See tokenize.js.
- var tokenizeXML = (function() {
- function inText(source, setState) {
- var ch = source.next();
- if (ch == "<") {
- if (source.equals("!")) {
- source.next();
- if (source.equals("[")) {
- if (source.lookAhead("[CDATA[", true)) {
- setState(inBlock("xml-cdata", "]]>"));
- return null;
- }
- else {
- return "xml-text";
- }
- }
- else if (source.lookAhead("--", true)) {
- setState(inBlock("xml-comment", "-->"));
- return null;
- }
- else {
- return "xml-text";
- }
- }
- else if (source.equals("?")) {
- source.next();
- source.nextWhileMatches(/[\w\._\-]/);
- setState(inBlock("xml-processing", "?>"));
- return "xml-processing";
- }
- else {
- if (source.equals("/")) source.next();
- setState(inTag);
- return "xml-punctuation";
- }
- }
- else if (ch == "&") {
- while (!source.endOfLine()) {
- if (source.next() == ";")
- break;
- }
- return "xml-entity";
- }
- else {
- source.nextWhileMatches(/[^&<\n]/);
- return "xml-text";
- }
- }
-
- function inTag(source, setState) {
- var ch = source.next();
- if (ch == ">") {
- setState(inText);
- return "xml-punctuation";
- }
- else if (/[?\/]/.test(ch) && source.equals(">")) {
- source.next();
- setState(inText);
- return "xml-punctuation";
- }
- else if (ch == "=") {
- return "xml-punctuation";
- }
- else if (/[\'\"]/.test(ch)) {
- setState(inAttribute(ch));
- return null;
- }
- else {
- source.nextWhileMatches(/[^\s\u00a0=<>\"\'\/?]/);
- return "xml-name";
- }
- }
-
- function inAttribute(quote) {
- return function(source, setState) {
- while (!source.endOfLine()) {
- if (source.next() == quote) {
- setState(inTag);
- break;
- }
- }
- return "xml-attribute";
- };
- }
-
- function inBlock(style, terminator) {
- return function(source, setState) {
- while (!source.endOfLine()) {
- if (source.lookAhead(terminator, true)) {
- setState(inText);
- break;
- }
- source.next();
- }
- return style;
- };
- }
-
- return function(source, startState) {
- return tokenizer(source, startState || inText);
- };
- })();
-
- // The parser. The structure of this function largely follows that of
- // parseJavaScript in parsejavascript.js (there is actually a bit more
- // shared code than I'd like), but it is quite a bit simpler.
- function parseXML(source) {
- var tokens = tokenizeXML(source), token;
- var cc = [base];
- var tokenNr = 0, indented = 0;
- var currentTag = null, context = null;
- var consume;
-
- function push(fs) {
- for (var i = fs.length - 1; i >= 0; i--)
- cc.push(fs[i]);
- }
- function cont() {
- push(arguments);
- consume = true;
- }
- function pass() {
- push(arguments);
- consume = false;
- }
-
- function markErr() {
- token.style += " xml-error";
- }
- function expect(text) {
- return function(style, content) {
- if (content == text) cont();
- else {markErr(); cont(arguments.callee);}
- };
- }
-
- function pushContext(tagname, startOfLine) {
- var noIndent = UseKludges.doNotIndent.hasOwnProperty(tagname) || (context && context.noIndent);
- context = {prev: context, name: tagname, indent: indented, startOfLine: startOfLine, noIndent: noIndent};
- }
- function popContext() {
- context = context.prev;
- }
- function computeIndentation(baseContext) {
- return function(nextChars, current) {
- var context = baseContext;
- if (context && context.noIndent)
- return current;
- if (alignCDATA && /"));
- else if (style == "xml-cdata") {
- if (!context || context.name != "!cdata") pushContext("!cdata");
- if (/\]\]>$/.test(content)) popContext();
- cont();
- }
- else if (harmlessTokens.hasOwnProperty(style)) cont();
- else {markErr(); cont();}
- }
- function tagname(style, content) {
- if (style == "xml-name") {
- currentTag = content.toLowerCase();
- token.style = "xml-tagname";
- cont();
- }
- else {
- currentTag = null;
- pass();
- }
- }
- function closetagname(style, content) {
- if (style == "xml-name") {
- token.style = "xml-tagname";
- if (context && content.toLowerCase() == context.name) popContext();
- else markErr();
- }
- cont();
- }
- function endtag(startOfLine) {
- return function(style, content) {
- if (content == "/>" || (content == ">" && UseKludges.autoSelfClosers.hasOwnProperty(currentTag))) cont();
- else if (content == ">") {pushContext(currentTag, startOfLine); cont();}
- else {markErr(); cont(arguments.callee);}
- };
- }
- function attributes(style) {
- if (style == "xml-name") {token.style = "xml-attname"; cont(attribute, attributes);}
- else pass();
- }
- function attribute(style, content) {
- if (content == "=") cont(value);
- else if (content == ">" || content == "/>") pass(endtag);
- else pass();
- }
- function value(style) {
- if (style == "xml-attribute") cont(value);
- else pass();
- }
-
- return {
- indentation: function() {return indented;},
-
- next: function(){
- token = tokens.next();
- if (token.style == "whitespace" && tokenNr == 0)
- indented = token.value.length;
- else
- tokenNr++;
- if (token.content == "\n") {
- indented = tokenNr = 0;
- token.indentation = computeIndentation(context);
- }
-
- if (token.style == "whitespace" || token.type == "xml-comment")
- return token;
-
- while(true){
- consume = false;
- cc.pop()(token.style, token.content);
- if (consume) return token;
- }
- },
-
- copy: function(){
- var _cc = cc.concat([]), _tokenState = tokens.state, _context = context;
- var parser = this;
-
- return function(input){
- cc = _cc.concat([]);
- tokenNr = indented = 0;
- context = _context;
- tokens = tokenizeXML(input, _tokenState);
- return parser;
- };
- }
- };
- }
-
- return {
- make: parseXML,
- electricChars: "/",
- configure: function(config) {
- if (config.useHTMLKludges != null)
- UseKludges = config.useHTMLKludges ? Kludges : NoKludges;
- if (config.alignCDATA)
- alignCDATA = config.alignCDATA;
- }
- };
-})();
diff --git a/src/main/webapp/codemirror/select.js b/src/main/webapp/codemirror/select.js
deleted file mode 100644
index 0cbf37a..0000000
--- a/src/main/webapp/codemirror/select.js
+++ /dev/null
@@ -1,619 +0,0 @@
-/* Functionality for finding, storing, and restoring selections
- *
- * This does not provide a generic API, just the minimal functionality
- * required by the CodeMirror system.
- */
-
-// Namespace object.
-var select = {};
-
-(function() {
- select.ie_selection = document.selection && document.selection.createRangeCollection;
-
- // Find the 'top-level' (defined as 'a direct child of the node
- // passed as the top argument') node that the given node is
- // contained in. Return null if the given node is not inside the top
- // node.
- function topLevelNodeAt(node, top) {
- while (node && node.parentNode != top)
- node = node.parentNode;
- return node;
- }
-
- // Find the top-level node that contains the node before this one.
- function topLevelNodeBefore(node, top) {
- while (!node.previousSibling && node.parentNode != top)
- node = node.parentNode;
- return topLevelNodeAt(node.previousSibling, top);
- }
-
- var fourSpaces = "\u00a0\u00a0\u00a0\u00a0";
-
- select.scrollToNode = function(element) {
- if (!element) return;
- var doc = element.ownerDocument, body = doc.body,
- win = (doc.defaultView || doc.parentWindow),
- html = doc.documentElement,
- atEnd = !element.nextSibling || !element.nextSibling.nextSibling
- || !element.nextSibling.nextSibling.nextSibling;
- // In Opera (and recent Webkit versions), BR elements *always*
- // have a offsetTop property of zero.
- var compensateHack = 0;
- while (element && !element.offsetTop) {
- compensateHack++;
- element = element.previousSibling;
- }
- // atEnd is another kludge for these browsers -- if the cursor is
- // at the end of the document, and the node doesn't have an
- // offset, just scroll to the end.
- if (compensateHack == 0) atEnd = false;
-
- var y = compensateHack * (element ? element.offsetHeight : 0), x = 0, pos = element;
- while (pos && pos.offsetParent) {
- y += pos.offsetTop;
- // Don't count X offset for nodes
- if (!isBR(pos))
- x += pos.offsetLeft;
- pos = pos.offsetParent;
- }
-
- var scroll_x = body.scrollLeft || html.scrollLeft || 0,
- scroll_y = body.scrollTop || html.scrollTop || 0,
- screen_x = x - scroll_x, screen_y = y - scroll_y, scroll = false;
-
- if (screen_x < 0 || screen_x > (win.innerWidth || html.clientWidth || 0)) {
- scroll_x = x;
- scroll = true;
- }
- if (screen_y < 0 || atEnd || screen_y > (win.innerHeight || html.clientHeight || 0) - 50) {
- scroll_y = atEnd ? 1e6 : y;
- scroll = true;
- }
- if (scroll) win.scrollTo(scroll_x, scroll_y);
- };
-
- select.scrollToCursor = function(container) {
- select.scrollToNode(select.selectionTopNode(container, true) || container.firstChild);
- };
-
- // Used to prevent restoring a selection when we do not need to.
- var currentSelection = null;
-
- select.snapshotChanged = function() {
- if (currentSelection) currentSelection.changed = true;
- };
-
- // This is called by the code in editor.js whenever it is replacing
- // a text node. The function sees whether the given oldNode is part
- // of the current selection, and updates this selection if it is.
- // Because nodes are often only partially replaced, the length of
- // the part that gets replaced has to be taken into account -- the
- // selection might stay in the oldNode if the newNode is smaller
- // than the selection's offset. The offset argument is needed in
- // case the selection does move to the new object, and the given
- // length is not the whole length of the new node (part of it might
- // have been used to replace another node).
- select.snapshotReplaceNode = function(from, to, length, offset) {
- if (!currentSelection) return;
-
- function replace(point) {
- if (from == point.node) {
- currentSelection.changed = true;
- if (length && point.offset > length) {
- point.offset -= length;
- }
- else {
- point.node = to;
- point.offset += (offset || 0);
- }
- }
- }
- replace(currentSelection.start);
- replace(currentSelection.end);
- };
-
- select.snapshotMove = function(from, to, distance, relative, ifAtStart) {
- if (!currentSelection) return;
-
- function move(point) {
- if (from == point.node && (!ifAtStart || point.offset == 0)) {
- currentSelection.changed = true;
- point.node = to;
- if (relative) point.offset = Math.max(0, point.offset + distance);
- else point.offset = distance;
- }
- }
- move(currentSelection.start);
- move(currentSelection.end);
- };
-
- // Most functions are defined in two ways, one for the IE selection
- // model, one for the W3C one.
- if (select.ie_selection) {
- function selectionNode(win, start) {
- var range = win.document.selection.createRange();
- range.collapse(start);
-
- function nodeAfter(node) {
- var found = null;
- while (!found && node) {
- found = node.nextSibling;
- node = node.parentNode;
- }
- return nodeAtStartOf(found);
- }
-
- function nodeAtStartOf(node) {
- while (node && node.firstChild) node = node.firstChild;
- return {node: node, offset: 0};
- }
-
- var containing = range.parentElement();
- if (!isAncestor(win.document.body, containing)) return null;
- if (!containing.firstChild) return nodeAtStartOf(containing);
-
- var working = range.duplicate();
- working.moveToElementText(containing);
- working.collapse(true);
- for (var cur = containing.firstChild; cur; cur = cur.nextSibling) {
- if (cur.nodeType == 3) {
- var size = cur.nodeValue.length;
- working.move("character", size);
- }
- else {
- working.moveToElementText(cur);
- working.collapse(false);
- }
-
- var dir = range.compareEndPoints("StartToStart", working);
- if (dir == 0) return nodeAfter(cur);
- if (dir == 1) continue;
- if (cur.nodeType != 3) return nodeAtStartOf(cur);
-
- working.setEndPoint("StartToEnd", range);
- return {node: cur, offset: size - working.text.length};
- }
- return nodeAfter(containing);
- }
-
- select.markSelection = function(win) {
- currentSelection = null;
- var sel = win.document.selection;
- if (!sel) return;
- var start = selectionNode(win, true),
- end = selectionNode(win, false);
- if (!start || !end) return;
- currentSelection = {start: start, end: end, window: win, changed: false};
- };
-
- select.selectMarked = function() {
- if (!currentSelection || !currentSelection.changed) return;
- var win = currentSelection.window, doc = win.document;
-
- function makeRange(point) {
- var range = doc.body.createTextRange(),
- node = point.node;
- if (!node) {
- range.moveToElementText(currentSelection.window.document.body);
- range.collapse(false);
- }
- else if (node.nodeType == 3) {
- range.moveToElementText(node.parentNode);
- var offset = point.offset;
- while (node.previousSibling) {
- node = node.previousSibling;
- offset += (node.innerText || "").length;
- }
- range.move("character", offset);
- }
- else {
- range.moveToElementText(node);
- range.collapse(true);
- }
- return range;
- }
-
- var start = makeRange(currentSelection.start), end = makeRange(currentSelection.end);
- start.setEndPoint("StartToEnd", end);
- start.select();
- };
-
- // Get the top-level node that one end of the cursor is inside or
- // after. Note that this returns false for 'no cursor', and null
- // for 'start of document'.
- select.selectionTopNode = function(container, start) {
- var selection = container.ownerDocument.selection;
- if (!selection) return false;
-
- var range = selection.createRange(), range2 = range.duplicate();
- range.collapse(start);
- var around = range.parentElement();
- if (around && isAncestor(container, around)) {
- // Only use this node if the selection is not at its start.
- range2.moveToElementText(around);
- if (range.compareEndPoints("StartToStart", range2) == 1)
- return topLevelNodeAt(around, container);
- }
-
- // Move the start of a range to the start of a node,
- // compensating for the fact that you can't call
- // moveToElementText with text nodes.
- function moveToNodeStart(range, node) {
- if (node.nodeType == 3) {
- var count = 0, cur = node.previousSibling;
- while (cur && cur.nodeType == 3) {
- count += cur.nodeValue.length;
- cur = cur.previousSibling;
- }
- if (cur) {
- try{range.moveToElementText(cur);}
- catch(e){return false;}
- range.collapse(false);
- }
- else range.moveToElementText(node.parentNode);
- if (count) range.move("character", count);
- }
- else {
- try{range.moveToElementText(node);}
- catch(e){return false;}
- }
- return true;
- }
-
- // Do a binary search through the container object, comparing
- // the start of each node to the selection
- var start = 0, end = container.childNodes.length - 1;
- while (start < end) {
- var middle = Math.ceil((end + start) / 2), node = container.childNodes[middle];
- if (!node) return false; // Don't ask. IE6 manages this sometimes.
- if (!moveToNodeStart(range2, node)) return false;
- if (range.compareEndPoints("StartToStart", range2) == 1)
- start = middle;
- else
- end = middle - 1;
- }
- return container.childNodes[start] || null;
- };
-
- // Place the cursor after this.start. This is only useful when
- // manually moving the cursor instead of restoring it to its old
- // position.
- select.focusAfterNode = function(node, container) {
- var range = container.ownerDocument.body.createTextRange();
- range.moveToElementText(node || container);
- range.collapse(!node);
- range.select();
- };
-
- select.somethingSelected = function(win) {
- var sel = win.document.selection;
- return sel && (sel.createRange().text != "");
- };
-
- function insertAtCursor(window, html) {
- var selection = window.document.selection;
- if (selection) {
- var range = selection.createRange();
- range.pasteHTML(html);
- range.collapse(false);
- range.select();
- }
- }
-
- // Used to normalize the effect of the enter key, since browsers
- // do widely different things when pressing enter in designMode.
- select.insertNewlineAtCursor = function(window) {
- insertAtCursor(window, " ");
- };
-
- select.insertTabAtCursor = function(window) {
- insertAtCursor(window, fourSpaces);
- };
-
- // Get the BR node at the start of the line on which the cursor
- // currently is, and the offset into the line. Returns null as
- // node if cursor is on first line.
- select.cursorPos = function(container, start) {
- var selection = container.ownerDocument.selection;
- if (!selection) return null;
-
- var topNode = select.selectionTopNode(container, start);
- while (topNode && !isBR(topNode))
- topNode = topNode.previousSibling;
-
- var range = selection.createRange(), range2 = range.duplicate();
- range.collapse(start);
- if (topNode) {
- range2.moveToElementText(topNode);
- range2.collapse(false);
- }
- else {
- // When nothing is selected, we can get all kinds of funky errors here.
- try { range2.moveToElementText(container); }
- catch (e) { return null; }
- range2.collapse(true);
- }
- range.setEndPoint("StartToStart", range2);
-
- return {node: topNode, offset: range.text.length};
- };
-
- select.setCursorPos = function(container, from, to) {
- function rangeAt(pos) {
- var range = container.ownerDocument.body.createTextRange();
- if (!pos.node) {
- range.moveToElementText(container);
- range.collapse(true);
- }
- else {
- range.moveToElementText(pos.node);
- range.collapse(false);
- }
- range.move("character", pos.offset);
- return range;
- }
-
- var range = rangeAt(from);
- if (to && to != from)
- range.setEndPoint("EndToEnd", rangeAt(to));
- range.select();
- }
-
- // Some hacks for storing and re-storing the selection when the editor loses and regains focus.
- select.getBookmark = function (container) {
- var from = select.cursorPos(container, true), to = select.cursorPos(container, false);
- if (from && to) return {from: from, to: to};
- };
-
- // Restore a stored selection.
- select.setBookmark = function(container, mark) {
- if (!mark) return;
- select.setCursorPos(container, mark.from, mark.to);
- };
- }
- // W3C model
- else {
- // Store start and end nodes, and offsets within these, and refer
- // back to the selection object from those nodes, so that this
- // object can be updated when the nodes are replaced before the
- // selection is restored.
- select.markSelection = function (win) {
- var selection = win.getSelection();
- if (!selection || selection.rangeCount == 0)
- return (currentSelection = null);
- var range = selection.getRangeAt(0);
-
- currentSelection = {
- start: {node: range.startContainer, offset: range.startOffset},
- end: {node: range.endContainer, offset: range.endOffset},
- window: win,
- changed: false
- };
-
- // We want the nodes right at the cursor, not one of their
- // ancestors with a suitable offset. This goes down the DOM tree
- // until a 'leaf' is reached (or is it *up* the DOM tree?).
- function normalize(point){
- while (point.node.nodeType != 3 && !isBR(point.node)) {
- var newNode = point.node.childNodes[point.offset] || point.node.nextSibling;
- point.offset = 0;
- while (!newNode && point.node.parentNode) {
- point.node = point.node.parentNode;
- newNode = point.node.nextSibling;
- }
- point.node = newNode;
- if (!newNode)
- break;
- }
- }
-
- normalize(currentSelection.start);
- normalize(currentSelection.end);
- };
-
- select.selectMarked = function () {
- var cs = currentSelection;
- // on webkit-based browsers, it is apparently possible that the
- // selection gets reset even when a node that is not one of the
- // endpoints get messed with. the most common situation where
- // this occurs is when a selection is deleted or overwitten. we
- // check for that here.
- function focusIssue() {
- return cs.start.node == cs.end.node && cs.start.offset == 0 && cs.end.offset == 0;
- }
- if (!cs || !(cs.changed || (webkit && focusIssue()))) return;
- var win = cs.window, range = win.document.createRange();
-
- function setPoint(point, which) {
- if (point.node) {
- // Some magic to generalize the setting of the start and end
- // of a range.
- if (point.offset == 0)
- range["set" + which + "Before"](point.node);
- else
- range["set" + which](point.node, point.offset);
- }
- else {
- range.setStartAfter(win.document.body.lastChild || win.document.body);
- }
- }
-
- setPoint(cs.end, "End");
- setPoint(cs.start, "Start");
- selectRange(range, win);
- };
-
- // Helper for selecting a range object.
- function selectRange(range, window) {
- var selection = window.getSelection();
- selection.removeAllRanges();
- selection.addRange(range);
- };
- function selectionRange(window) {
- var selection = window.getSelection();
- if (!selection || selection.rangeCount == 0)
- return false;
- else
- return selection.getRangeAt(0);
- }
-
- // Finding the top-level node at the cursor in the W3C is, as you
- // can see, quite an involved process.
- select.selectionTopNode = function(container, start) {
- var range = selectionRange(container.ownerDocument.defaultView);
- if (!range) return false;
-
- var node = start ? range.startContainer : range.endContainer;
- var offset = start ? range.startOffset : range.endOffset;
- // Work around (yet another) bug in Opera's selection model.
- if (window.opera && !start && range.endContainer == container && range.endOffset == range.startOffset + 1 &&
- container.childNodes[range.startOffset] && isBR(container.childNodes[range.startOffset]))
- offset--;
-
- // For text nodes, we look at the node itself if the cursor is
- // inside, or at the node before it if the cursor is at the
- // start.
- if (node.nodeType == 3){
- if (offset > 0)
- return topLevelNodeAt(node, container);
- else
- return topLevelNodeBefore(node, container);
- }
- // Occasionally, browsers will return the HTML node as
- // selection. If the offset is 0, we take the start of the frame
- // ('after null'), otherwise, we take the last node.
- else if (node.nodeName.toUpperCase() == "HTML") {
- return (offset == 1 ? null : container.lastChild);
- }
- // If the given node is our 'container', we just look up the
- // correct node by using the offset.
- else if (node == container) {
- return (offset == 0) ? null : node.childNodes[offset - 1];
- }
- // In any other case, we have a regular node. If the cursor is
- // at the end of the node, we use the node itself, if it is at
- // the start, we use the node before it, and in any other
- // case, we look up the child before the cursor and use that.
- else {
- if (offset == node.childNodes.length)
- return topLevelNodeAt(node, container);
- else if (offset == 0)
- return topLevelNodeBefore(node, container);
- else
- return topLevelNodeAt(node.childNodes[offset - 1], container);
- }
- };
-
- select.focusAfterNode = function(node, container) {
- var win = container.ownerDocument.defaultView,
- range = win.document.createRange();
- range.setStartBefore(container.firstChild || container);
- // In Opera, setting the end of a range at the end of a line
- // (before a BR) will cause the cursor to appear on the next
- // line, so we set the end inside of the start node when
- // possible.
- if (node && !node.firstChild)
- range.setEndAfter(node);
- else if (node)
- range.setEnd(node, node.childNodes.length);
- else
- range.setEndBefore(container.firstChild || container);
- range.collapse(false);
- selectRange(range, win);
- };
-
- select.somethingSelected = function(win) {
- var range = selectionRange(win);
- return range && !range.collapsed;
- };
-
- function insertNodeAtCursor(window, node) {
- var range = selectionRange(window);
- if (!range) return;
-
- range.deleteContents();
- range.insertNode(node);
- webkitLastLineHack(window.document.body);
- range = window.document.createRange();
- range.selectNode(node);
- range.collapse(false);
- selectRange(range, window);
- }
-
- select.insertNewlineAtCursor = function(window) {
- insertNodeAtCursor(window, window.document.createElement("BR"));
- };
-
- select.insertTabAtCursor = function(window) {
- insertNodeAtCursor(window, window.document.createTextNode(fourSpaces));
- };
-
- select.cursorPos = function(container, start) {
- var range = selectionRange(window);
- if (!range) return;
-
- var topNode = select.selectionTopNode(container, start);
- while (topNode && !isBR(topNode))
- topNode = topNode.previousSibling;
-
- range = range.cloneRange();
- range.collapse(start);
- if (topNode)
- range.setStartAfter(topNode);
- else
- range.setStartBefore(container);
- return {node: topNode, offset: range.toString().length};
- };
-
- select.setCursorPos = function(container, from, to) {
- var win = container.ownerDocument.defaultView,
- range = win.document.createRange();
-
- function setPoint(node, offset, side) {
- if (offset == 0 && node && !node.nextSibling) {
- range["set" + side + "After"](node);
- return true;
- }
-
- if (!node)
- node = container.firstChild;
- else
- node = node.nextSibling;
-
- if (!node) return;
-
- if (offset == 0) {
- range["set" + side + "Before"](node);
- return true;
- }
-
- var backlog = []
- function decompose(node) {
- if (node.nodeType == 3)
- backlog.push(node);
- else
- forEach(node.childNodes, decompose);
- }
- while (true) {
- while (node && !backlog.length) {
- decompose(node);
- node = node.nextSibling;
- }
- var cur = backlog.shift();
- if (!cur) return false;
-
- var length = cur.nodeValue.length;
- if (length >= offset) {
- range["set" + side](cur, offset);
- return true;
- }
- offset -= length;
- }
- }
-
- to = to || from;
- if (setPoint(to.node, to.offset, "End") && setPoint(from.node, from.offset, "Start"))
- selectRange(range, win);
- };
- }
-})();
diff --git a/src/main/webapp/codemirror/stringstream.js b/src/main/webapp/codemirror/stringstream.js
deleted file mode 100644
index 4f5bc61..0000000
--- a/src/main/webapp/codemirror/stringstream.js
+++ /dev/null
@@ -1,140 +0,0 @@
-/* String streams are the things fed to parsers (which can feed them
- * to a tokenizer if they want). They provide peek and next methods
- * for looking at the current character (next 'consumes' this
- * character, peek does not), and a get method for retrieving all the
- * text that was consumed since the last time get was called.
- *
- * An easy mistake to make is to let a StopIteration exception finish
- * the token stream while there are still characters pending in the
- * string stream (hitting the end of the buffer while parsing a
- * token). To make it easier to detect such errors, the stringstreams
- * throw an exception when this happens.
- */
-
-// Make a stringstream stream out of an iterator that returns strings.
-// This is applied to the result of traverseDOM (see codemirror.js),
-// and the resulting stream is fed to the parser.
-var stringStream = function(source){
- // String that's currently being iterated over.
- var current = "";
- // Position in that string.
- var pos = 0;
- // Accumulator for strings that have been iterated over but not
- // get()-ed yet.
- var accum = "";
- // Make sure there are more characters ready, or throw
- // StopIteration.
- function ensureChars() {
- while (pos == current.length) {
- accum += current;
- current = ""; // In case source.next() throws
- pos = 0;
- try {current = source.next();}
- catch (e) {
- if (e != StopIteration) throw e;
- else return false;
- }
- }
- return true;
- }
-
- return {
- // Return the next character in the stream.
- peek: function() {
- if (!ensureChars()) return null;
- return current.charAt(pos);
- },
- // Get the next character, throw StopIteration if at end, check
- // for unused content.
- next: function() {
- if (!ensureChars()) {
- if (accum.length > 0)
- throw "End of stringstream reached without emptying buffer ('" + accum + "').";
- else
- throw StopIteration;
- }
- return current.charAt(pos++);
- },
- // Return the characters iterated over since the last call to
- // .get().
- get: function() {
- var temp = accum;
- accum = "";
- if (pos > 0){
- temp += current.slice(0, pos);
- current = current.slice(pos);
- pos = 0;
- }
- return temp;
- },
- // Push a string back into the stream.
- push: function(str) {
- current = current.slice(0, pos) + str + current.slice(pos);
- },
- lookAhead: function(str, consume, skipSpaces, caseInsensitive) {
- function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
- str = cased(str);
- var found = false;
-
- var _accum = accum, _pos = pos;
- if (skipSpaces) this.nextWhileMatches(/[\s\u00a0]/);
-
- while (true) {
- var end = pos + str.length, left = current.length - pos;
- if (end <= current.length) {
- found = str == cased(current.slice(pos, end));
- pos = end;
- break;
- }
- else if (str.slice(0, left) == cased(current.slice(pos))) {
- accum += current; current = "";
- try {current = source.next();}
- catch (e) {break;}
- pos = 0;
- str = str.slice(left);
- }
- else {
- break;
- }
- }
-
- if (!(found && consume)) {
- current = accum.slice(_accum.length) + current;
- pos = _pos;
- accum = _accum;
- }
-
- return found;
- },
-
- // Utils built on top of the above
- more: function() {
- return this.peek() !== null;
- },
- applies: function(test) {
- var next = this.peek();
- return (next !== null && test(next));
- },
- nextWhile: function(test) {
- var next;
- while ((next = this.peek()) !== null && test(next))
- this.next();
- },
- matches: function(re) {
- var next = this.peek();
- return (next !== null && re.test(next));
- },
- nextWhileMatches: function(re) {
- var next;
- while ((next = this.peek()) !== null && re.test(next))
- this.next();
- },
- equals: function(ch) {
- return ch === this.peek();
- },
- endOfLine: function() {
- var next = this.peek();
- return next == null || next == "\n";
- }
- };
-};
diff --git a/src/main/webapp/codemirror/tokenize.js b/src/main/webapp/codemirror/tokenize.js
deleted file mode 100644
index 071970c..0000000
--- a/src/main/webapp/codemirror/tokenize.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// A framework for simple tokenizers. Takes care of newlines and
-// white-space, and of getting the text from the source stream into
-// the token object. A state is a function of two arguments -- a
-// string stream and a setState function. The second can be used to
-// change the tokenizer's state, and can be ignored for stateless
-// tokenizers. This function should advance the stream over a token
-// and return a string or object containing information about the next
-// token, or null to pass and have the (new) state be called to finish
-// the token. When a string is given, it is wrapped in a {style, type}
-// object. In the resulting object, the characters consumed are stored
-// under the content property. Any whitespace following them is also
-// automatically consumed, and added to the value property. (Thus,
-// content is the actual meaningful part of the token, while value
-// contains all the text it spans.)
-
-function tokenizer(source, state) {
- // Newlines are always a separate token.
- function isWhiteSpace(ch) {
- // The messy regexp is because IE's regexp matcher is of the
- // opinion that non-breaking spaces are no whitespace.
- return ch != "\n" && /^[\s\u00a0]*$/.test(ch);
- }
-
- var tokenizer = {
- state: state,
-
- take: function(type) {
- if (typeof(type) == "string")
- type = {style: type, type: type};
-
- type.content = (type.content || "") + source.get();
- if (!/\n$/.test(type.content))
- source.nextWhile(isWhiteSpace);
- type.value = type.content + source.get();
- return type;
- },
-
- next: function () {
- if (!source.more()) throw StopIteration;
-
- var type;
- if (source.equals("\n")) {
- source.next();
- return this.take("whitespace");
- }
-
- if (source.applies(isWhiteSpace))
- type = "whitespace";
- else
- while (!type)
- type = this.state(source, function(s) {tokenizer.state = s;});
-
- return this.take(type);
- }
- };
- return tokenizer;
-}
diff --git a/src/main/webapp/codemirror/tokenizejavascript.js b/src/main/webapp/codemirror/tokenizejavascript.js
deleted file mode 100644
index 0361de2..0000000
--- a/src/main/webapp/codemirror/tokenizejavascript.js
+++ /dev/null
@@ -1,175 +0,0 @@
-/* Tokenizer for JavaScript code */
-
-var tokenizeJavaScript = (function() {
- // Advance the stream until the given character (not preceded by a
- // backslash) is encountered, or the end of the line is reached.
- function nextUntilUnescaped(source, end) {
- var escaped = false;
- var next;
- while (!source.endOfLine()) {
- var next = source.next();
- if (next == end && !escaped)
- return false;
- escaped = !escaped && next == "\\";
- }
- return escaped;
- }
-
- // A map of JavaScript's keywords. The a/b/c keyword distinction is
- // very rough, but it gives the parser enough information to parse
- // correct code correctly (we don't care that much how we parse
- // incorrect code). The style information included in these objects
- // is used by the highlighter to pick the correct CSS style for a
- // token.
- var keywords = function(){
- function result(type, style){
- return {type: type, style: "js-" + style};
- }
- // keywords that take a parenthised expression, and then a
- // statement (if)
- var keywordA = result("keyword a", "keyword");
- // keywords that take just a statement (else)
- var keywordB = result("keyword b", "keyword");
- // keywords that optionally take an expression, and form a
- // statement (return)
- var keywordC = result("keyword c", "keyword");
- var operator = result("operator", "keyword");
- var atom = result("atom", "atom");
- return {
- "if": keywordA, "while": keywordA, "with": keywordA,
- "else": keywordB, "do": keywordB, "try": keywordB, "finally": keywordB,
- "return": keywordC, "break": keywordC, "continue": keywordC, "new": keywordC, "delete": keywordC, "throw": keywordC,
- "in": operator, "typeof": operator, "instanceof": operator,
- "var": result("var", "keyword"), "function": result("function", "keyword"), "catch": result("catch", "keyword"),
- "for": result("for", "keyword"), "switch": result("switch", "keyword"),
- "case": result("case", "keyword"), "default": result("default", "keyword"),
- "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom
- };
- }();
-
- // Some helper regexps
- var isOperatorChar = /[+\-*&%=<>!?|]/;
- var isHexDigit = /[0-9A-Fa-f]/;
- var isWordChar = /[\w\$_]/;
-
- // Wrapper around jsToken that helps maintain parser state (whether
- // we are inside of a multi-line comment and whether the next token
- // could be a regular expression).
- function jsTokenState(inside, regexp) {
- return function(source, setState) {
- var newInside = inside;
- var type = jsToken(inside, regexp, source, function(c) {newInside = c;});
- var newRegexp = type.type == "operator" || type.type == "keyword c" || type.type.match(/^[\[{}\(,;:]$/);
- if (newRegexp != regexp || newInside != inside)
- setState(jsTokenState(newInside, newRegexp));
- return type;
- };
- }
-
- // The token reader, inteded to be used by the tokenizer from
- // tokenize.js (through jsTokenState). Advances the source stream
- // over a token, and returns an object containing the type and style
- // of that token.
- function jsToken(inside, regexp, source, setInside) {
- function readHexNumber(){
- source.next(); // skip the 'x'
- source.nextWhileMatches(isHexDigit);
- return {type: "number", style: "js-atom"};
- }
-
- function readNumber() {
- source.nextWhileMatches(/[0-9]/);
- if (source.equals(".")){
- source.next();
- source.nextWhileMatches(/[0-9]/);
- }
- if (source.equals("e") || source.equals("E")){
- source.next();
- if (source.equals("-"))
- source.next();
- source.nextWhileMatches(/[0-9]/);
- }
- return {type: "number", style: "js-atom"};
- }
- // Read a word, look it up in keywords. If not found, it is a
- // variable, otherwise it is a keyword of the type found.
- function readWord() {
- source.nextWhileMatches(isWordChar);
- var word = source.get();
- var known = keywords.hasOwnProperty(word) && keywords.propertyIsEnumerable(word) && keywords[word];
- return known ? {type: known.type, style: known.style, content: word} :
- {type: "variable", style: "js-variable", content: word};
- }
- function readRegexp() {
- nextUntilUnescaped(source, "/");
- source.nextWhileMatches(/[gi]/);
- return {type: "regexp", style: "js-string"};
- }
- // Mutli-line comments are tricky. We want to return the newlines
- // embedded in them as regular newline tokens, and then continue
- // returning a comment token for every line of the comment. So
- // some state has to be saved (inside) to indicate whether we are
- // inside a /* */ sequence.
- function readMultilineComment(start){
- var newInside = "/*";
- var maybeEnd = (start == "*");
- while (true) {
- if (source.endOfLine())
- break;
- var next = source.next();
- if (next == "/" && maybeEnd){
- newInside = null;
- break;
- }
- maybeEnd = (next == "*");
- }
- setInside(newInside);
- return {type: "comment", style: "js-comment"};
- }
- function readOperator() {
- source.nextWhileMatches(isOperatorChar);
- return {type: "operator", style: "js-operator"};
- }
- function readString(quote) {
- var endBackSlash = nextUntilUnescaped(source, quote);
- setInside(endBackSlash ? quote : null);
- return {type: "string", style: "js-string"};
- }
-
- // Fetch the next token. Dispatches on first character in the
- // stream, or first two characters when the first is a slash.
- if (inside == "\"" || inside == "'")
- return readString(inside);
- var ch = source.next();
- if (inside == "/*")
- return readMultilineComment(ch);
- else if (ch == "\"" || ch == "'")
- return readString(ch);
- // with punctuation, the type of the token is the symbol itself
- else if (/[\[\]{}\(\),;\:\.]/.test(ch))
- return {type: ch, style: "js-punctuation"};
- else if (ch == "0" && (source.equals("x") || source.equals("X")))
- return readHexNumber();
- else if (/[0-9]/.test(ch))
- return readNumber();
- else if (ch == "/"){
- if (source.equals("*"))
- { source.next(); return readMultilineComment(ch); }
- else if (source.equals("/"))
- { nextUntilUnescaped(source, null); return {type: "comment", style: "js-comment"};}
- else if (regexp)
- return readRegexp();
- else
- return readOperator();
- }
- else if (isOperatorChar.test(ch))
- return readOperator();
- else
- return readWord();
- }
-
- // The external interface to the tokenizer.
- return function(source, startState) {
- return tokenizer(source, startState || jsTokenState(false, true));
- };
-})();
diff --git a/src/main/webapp/codemirror/undo.js b/src/main/webapp/codemirror/undo.js
deleted file mode 100644
index 8e02180..0000000
--- a/src/main/webapp/codemirror/undo.js
+++ /dev/null
@@ -1,410 +0,0 @@
-/**
- * Storage and control for undo information within a CodeMirror
- * editor. 'Why on earth is such a complicated mess required for
- * that?', I hear you ask. The goal, in implementing this, was to make
- * the complexity of storing and reverting undo information depend
- * only on the size of the edited or restored content, not on the size
- * of the whole document. This makes it necessary to use a kind of
- * 'diff' system, which, when applied to a DOM tree, causes some
- * complexity and hackery.
- *
- * In short, the editor 'touches' BR elements as it parses them, and
- * the History stores these. When nothing is touched in commitDelay
- * milliseconds, the changes are committed: It goes over all touched
- * nodes, throws out the ones that did not change since last commit or
- * are no longer in the document, and assembles the rest into zero or
- * more 'chains' -- arrays of adjacent lines. Links back to these
- * chains are added to the BR nodes, while the chain that previously
- * spanned these nodes is added to the undo history. Undoing a change
- * means taking such a chain off the undo history, restoring its
- * content (text is saved per line) and linking it back into the
- * document.
- */
-
-// A history object needs to know about the DOM container holding the
-// document, the maximum amount of undo levels it should store, the
-// delay (of no input) after which it commits a set of changes, and,
-// unfortunately, the 'parent' window -- a window that is not in
-// designMode, and on which setTimeout works in every browser.
-function History(container, maxDepth, commitDelay, editor) {
- this.container = container;
- this.maxDepth = maxDepth; this.commitDelay = commitDelay;
- this.editor = editor; this.parent = editor.parent;
- // This line object represents the initial, empty editor.
- var initial = {text: "", from: null, to: null};
- // As the borders between lines are represented by BR elements, the
- // start of the first line and the end of the last one are
- // represented by null. Since you can not store any properties
- // (links to line objects) in null, these properties are used in
- // those cases.
- this.first = initial; this.last = initial;
- // Similarly, a 'historyTouched' property is added to the BR in
- // front of lines that have already been touched, and 'firstTouched'
- // is used for the first line.
- this.firstTouched = false;
- // History is the set of committed changes, touched is the set of
- // nodes touched since the last commit.
- this.history = []; this.redoHistory = []; this.touched = [];
-}
-
-History.prototype = {
- // Schedule a commit (if no other touches come in for commitDelay
- // milliseconds).
- scheduleCommit: function() {
- var self = this;
- this.parent.clearTimeout(this.commitTimeout);
- this.commitTimeout = this.parent.setTimeout(function(){self.tryCommit();}, this.commitDelay);
- },
-
- // Mark a node as touched. Null is a valid argument.
- touch: function(node) {
- this.setTouched(node);
- this.scheduleCommit();
- },
-
- // Undo the last change.
- undo: function() {
- // Make sure pending changes have been committed.
- this.commit();
-
- if (this.history.length) {
- // Take the top diff from the history, apply it, and store its
- // shadow in the redo history.
- var item = this.history.pop();
- this.redoHistory.push(this.updateTo(item, "applyChain"));
- this.notifyEnvironment();
- return this.chainNode(item);
- }
- },
-
- // Redo the last undone change.
- redo: function() {
- this.commit();
- if (this.redoHistory.length) {
- // The inverse of undo, basically.
- var item = this.redoHistory.pop();
- this.addUndoLevel(this.updateTo(item, "applyChain"));
- this.notifyEnvironment();
- return this.chainNode(item);
- }
- },
-
- clear: function() {
- this.history = [];
- this.redoHistory = [];
- },
-
- // Ask for the size of the un/redo histories.
- historySize: function() {
- return {undo: this.history.length, redo: this.redoHistory.length};
- },
-
- // Push a changeset into the document.
- push: function(from, to, lines) {
- var chain = [];
- for (var i = 0; i < lines.length; i++) {
- var end = (i == lines.length - 1) ? to : this.container.ownerDocument.createElement("BR");
- chain.push({from: from, to: end, text: cleanText(lines[i])});
- from = end;
- }
- this.pushChains([chain], from == null && to == null);
- this.notifyEnvironment();
- },
-
- pushChains: function(chains, doNotHighlight) {
- this.commit(doNotHighlight);
- this.addUndoLevel(this.updateTo(chains, "applyChain"));
- this.redoHistory = [];
- },
-
- // Retrieve a DOM node from a chain (for scrolling to it after undo/redo).
- chainNode: function(chains) {
- for (var i = 0; i < chains.length; i++) {
- var start = chains[i][0], node = start && (start.from || start.to);
- if (node) return node;
- }
- },
-
- // Clear the undo history, make the current document the start
- // position.
- reset: function() {
- this.history = []; this.redoHistory = [];
- },
-
- textAfter: function(br) {
- return this.after(br).text;
- },
-
- nodeAfter: function(br) {
- return this.after(br).to;
- },
-
- nodeBefore: function(br) {
- return this.before(br).from;
- },
-
- // Commit unless there are pending dirty nodes.
- tryCommit: function() {
- if (!window.History) return; // Stop when frame has been unloaded
- if (this.editor.highlightDirty()) this.commit(true);
- else this.scheduleCommit();
- },
-
- // Check whether the touched nodes hold any changes, if so, commit
- // them.
- commit: function(doNotHighlight) {
- this.parent.clearTimeout(this.commitTimeout);
- // Make sure there are no pending dirty nodes.
- if (!doNotHighlight) this.editor.highlightDirty(true);
- // Build set of chains.
- var chains = this.touchedChains(), self = this;
-
- if (chains.length) {
- this.addUndoLevel(this.updateTo(chains, "linkChain"));
- this.redoHistory = [];
- this.notifyEnvironment();
- }
- },
-
- // [ end of public interface ]
-
- // Update the document with a given set of chains, return its
- // shadow. updateFunc should be "applyChain" or "linkChain". In the
- // second case, the chains are taken to correspond the the current
- // document, and only the state of the line data is updated. In the
- // first case, the content of the chains is also pushed iinto the
- // document.
- updateTo: function(chains, updateFunc) {
- var shadows = [], dirty = [];
- for (var i = 0; i < chains.length; i++) {
- shadows.push(this.shadowChain(chains[i]));
- dirty.push(this[updateFunc](chains[i]));
- }
- if (updateFunc == "applyChain")
- this.notifyDirty(dirty);
- return shadows;
- },
-
- // Notify the editor that some nodes have changed.
- notifyDirty: function(nodes) {
- forEach(nodes, method(this.editor, "addDirtyNode"))
- this.editor.scheduleHighlight();
- },
-
- notifyEnvironment: function() {
- // Used by the line-wrapping line-numbering code.
- if (window.frameElement && window.frameElement.CodeMirror.updateNumbers)
- window.frameElement.CodeMirror.updateNumbers();
- if (this.onChange) this.onChange();
- },
-
- // Link a chain into the DOM nodes (or the first/last links for null
- // nodes).
- linkChain: function(chain) {
- for (var i = 0; i < chain.length; i++) {
- var line = chain[i];
- if (line.from) line.from.historyAfter = line;
- else this.first = line;
- if (line.to) line.to.historyBefore = line;
- else this.last = line;
- }
- },
-
- // Get the line object after/before a given node.
- after: function(node) {
- return node ? node.historyAfter : this.first;
- },
- before: function(node) {
- return node ? node.historyBefore : this.last;
- },
-
- // Mark a node as touched if it has not already been marked.
- setTouched: function(node) {
- if (node) {
- if (!node.historyTouched) {
- this.touched.push(node);
- node.historyTouched = true;
- }
- }
- else {
- this.firstTouched = true;
- }
- },
-
- // Store a new set of undo info, throw away info if there is more of
- // it than allowed.
- addUndoLevel: function(diffs) {
- this.history.push(diffs);
- if (this.history.length > this.maxDepth)
- this.history.shift();
- },
-
- // Build chains from a set of touched nodes.
- touchedChains: function() {
- var self = this;
-
- // The temp system is a crummy hack to speed up determining
- // whether a (currently touched) node has a line object associated
- // with it. nullTemp is used to store the object for the first
- // line, other nodes get it stored in their historyTemp property.
- var nullTemp = null;
- function temp(node) {return node ? node.historyTemp : nullTemp;}
- function setTemp(node, line) {
- if (node) node.historyTemp = line;
- else nullTemp = line;
- }
-
- function buildLine(node) {
- var text = [];
- for (var cur = node ? node.nextSibling : self.container.firstChild;
- cur && !isBR(cur); cur = cur.nextSibling)
- if (cur.currentText) text.push(cur.currentText);
- return {from: node, to: cur, text: cleanText(text.join(""))};
- }
-
- // Filter out unchanged lines and nodes that are no longer in the
- // document. Build up line objects for remaining nodes.
- var lines = [];
- if (self.firstTouched) self.touched.push(null);
- forEach(self.touched, function(node) {
- if (node && node.parentNode != self.container) return;
-
- if (node) node.historyTouched = false;
- else self.firstTouched = false;
-
- var line = buildLine(node), shadow = self.after(node);
- if (!shadow || shadow.text != line.text || shadow.to != line.to) {
- lines.push(line);
- setTemp(node, line);
- }
- });
-
- // Get the BR element after/before the given node.
- function nextBR(node, dir) {
- var link = dir + "Sibling", search = node[link];
- while (search && !isBR(search))
- search = search[link];
- return search;
- }
-
- // Assemble line objects into chains by scanning the DOM tree
- // around them.
- var chains = []; self.touched = [];
- forEach(lines, function(line) {
- // Note that this makes the loop skip line objects that have
- // been pulled into chains by lines before them.
- if (!temp(line.from)) return;
-
- var chain = [], curNode = line.from, safe = true;
- // Put any line objects (referred to by temp info) before this
- // one on the front of the array.
- while (true) {
- var curLine = temp(curNode);
- if (!curLine) {
- if (safe) break;
- else curLine = buildLine(curNode);
- }
- chain.unshift(curLine);
- setTemp(curNode, null);
- if (!curNode) break;
- safe = self.after(curNode);
- curNode = nextBR(curNode, "previous");
- }
- curNode = line.to; safe = self.before(line.from);
- // Add lines after this one at end of array.
- while (true) {
- if (!curNode) break;
- var curLine = temp(curNode);
- if (!curLine) {
- if (safe) break;
- else curLine = buildLine(curNode);
- }
- chain.push(curLine);
- setTemp(curNode, null);
- safe = self.before(curNode);
- curNode = nextBR(curNode, "next");
- }
- chains.push(chain);
- });
-
- return chains;
- },
-
- // Find the 'shadow' of a given chain by following the links in the
- // DOM nodes at its start and end.
- shadowChain: function(chain) {
- var shadows = [], next = this.after(chain[0].from), end = chain[chain.length - 1].to;
- while (true) {
- shadows.push(next);
- var nextNode = next.to;
- if (!nextNode || nextNode == end)
- break;
- else
- next = nextNode.historyAfter || this.before(end);
- // (The this.before(end) is a hack -- FF sometimes removes
- // properties from BR nodes, in which case the best we can hope
- // for is to not break.)
- }
- return shadows;
- },
-
- // Update the DOM tree to contain the lines specified in a given
- // chain, link this chain into the DOM nodes.
- applyChain: function(chain) {
- // Some attempt is made to prevent the cursor from jumping
- // randomly when an undo or redo happens. It still behaves a bit
- // strange sometimes.
- var cursor = select.cursorPos(this.container, false), self = this;
-
- // Remove all nodes in the DOM tree between from and to (null for
- // start/end of container).
- function removeRange(from, to) {
- var pos = from ? from.nextSibling : self.container.firstChild;
- while (pos != to) {
- var temp = pos.nextSibling;
- removeElement(pos);
- pos = temp;
- }
- }
-
- var start = chain[0].from, end = chain[chain.length - 1].to;
- // Clear the space where this change has to be made.
- removeRange(start, end);
-
- // Insert the content specified by the chain into the DOM tree.
- for (var i = 0; i < chain.length; i++) {
- var line = chain[i];
- // The start and end of the space are already correct, but BR
- // tags inside it have to be put back.
- if (i > 0)
- self.container.insertBefore(line.from, end);
-
- // Add the text.
- var node = makePartSpan(fixSpaces(line.text), this.container.ownerDocument);
- self.container.insertBefore(node, end);
- // See if the cursor was on this line. Put it back, adjusting
- // for changed line length, if it was.
- if (cursor && cursor.node == line.from) {
- var cursordiff = 0;
- var prev = this.after(line.from);
- if (prev && i == chain.length - 1) {
- // Only adjust if the cursor is after the unchanged part of
- // the line.
- for (var match = 0; match < cursor.offset &&
- line.text.charAt(match) == prev.text.charAt(match); match++);
- if (cursor.offset > match)
- cursordiff = line.text.length - prev.text.length;
- }
- select.setCursorPos(this.container, {node: line.from, offset: Math.max(0, cursor.offset + cursordiff)});
- }
- // Cursor was in removed line, this is last new line.
- else if (cursor && (i == chain.length - 1) && cursor.node && cursor.node.parentNode != this.container) {
- select.setCursorPos(this.container, {node: line.from, offset: line.text.length});
- }
- }
-
- // Anchor the chain in the DOM tree.
- this.linkChain(chain);
- return start;
- }
-};
diff --git a/src/main/webapp/codemirror/util.js b/src/main/webapp/codemirror/util.js
deleted file mode 100644
index c7021c2..0000000
--- a/src/main/webapp/codemirror/util.js
+++ /dev/null
@@ -1,130 +0,0 @@
-/* A few useful utility functions. */
-
-// Capture a method on an object.
-function method(obj, name) {
- return function() {obj[name].apply(obj, arguments);};
-}
-
-// The value used to signal the end of a sequence in iterators.
-var StopIteration = {toString: function() {return "StopIteration"}};
-
-// Apply a function to each element in a sequence.
-function forEach(iter, f) {
- if (iter.next) {
- try {while (true) f(iter.next());}
- catch (e) {if (e != StopIteration) throw e;}
- }
- else {
- for (var i = 0; i < iter.length; i++)
- f(iter[i]);
- }
-}
-
-// Map a function over a sequence, producing an array of results.
-function map(iter, f) {
- var accum = [];
- forEach(iter, function(val) {accum.push(f(val));});
- return accum;
-}
-
-// Create a predicate function that tests a string againsts a given
-// regular expression. No longer used but might be used by 3rd party
-// parsers.
-function matcher(regexp){
- return function(value){return regexp.test(value);};
-}
-
-// Test whether a DOM node has a certain CSS class. Much faster than
-// the MochiKit equivalent, for some reason.
-function hasClass(element, className){
- var classes = element.className;
- return classes && new RegExp("(^| )" + className + "($| )").test(classes);
-}
-
-// Insert a DOM node after another node.
-function insertAfter(newNode, oldNode) {
- var parent = oldNode.parentNode;
- parent.insertBefore(newNode, oldNode.nextSibling);
- return newNode;
-}
-
-function removeElement(node) {
- if (node.parentNode)
- node.parentNode.removeChild(node);
-}
-
-function clearElement(node) {
- while (node.firstChild)
- node.removeChild(node.firstChild);
-}
-
-// Check whether a node is contained in another one.
-function isAncestor(node, child) {
- while (child = child.parentNode) {
- if (node == child)
- return true;
- }
- return false;
-}
-
-// The non-breaking space character.
-var nbsp = "\u00a0";
-var matching = {"{": "}", "[": "]", "(": ")",
- "}": "{", "]": "[", ")": "("};
-
-// Standardize a few unportable event properties.
-function normalizeEvent(event) {
- if (!event.stopPropagation) {
- event.stopPropagation = function() {this.cancelBubble = true;};
- event.preventDefault = function() {this.returnValue = false;};
- }
- if (!event.stop) {
- event.stop = function() {
- this.stopPropagation();
- this.preventDefault();
- };
- }
-
- if (event.type == "keypress") {
- event.code = (event.charCode == null) ? event.keyCode : event.charCode;
- event.character = String.fromCharCode(event.code);
- }
- return event;
-}
-
-// Portably register event handlers.
-function addEventHandler(node, type, handler, removeFunc) {
- function wrapHandler(event) {
- handler(normalizeEvent(event || window.event));
- }
- if (typeof node.addEventListener == "function") {
- node.addEventListener(type, wrapHandler, false);
- if (removeFunc) return function() {node.removeEventListener(type, wrapHandler, false);};
- }
- else {
- node.attachEvent("on" + type, wrapHandler);
- if (removeFunc) return function() {node.detachEvent("on" + type, wrapHandler);};
- }
-}
-
-function nodeText(node) {
- return node.textContent || node.innerText || node.nodeValue || "";
-}
-
-function nodeTop(node) {
- var top = 0;
- while (node.offsetParent) {
- top += node.offsetTop;
- node = node.offsetParent;
- }
- return top;
-}
-
-function isBR(node) {
- var nn = node.nodeName;
- return nn == "BR" || nn == "br";
-}
-function isSpan(node) {
- var nn = node.nodeName;
- return nn == "SPAN" || nn == "span";
-}
diff --git a/src/main/webapp/codemirror/xmlcolors.css b/src/main/webapp/codemirror/xmlcolors.css
deleted file mode 100644
index aa26579..0000000
--- a/src/main/webapp/codemirror/xmlcolors.css
+++ /dev/null
@@ -1,51 +0,0 @@
-.editbox {
- margin: .4em;
- padding: 0;
- font-family: monospace;
- font-size: 10pt;
- color: black;
-}
-
-.editbox p {
- margin: 0;
-}
-
-span.xml-tagname {
- color: #A0B;
-}
-
-span.xml-attribute {
- color: #281;
-}
-
-span.xml-punctuation {
- color: black;
-}
-
-span.xml-attname {
- color: #00F;
-}
-
-span.xml-comment {
- color: #A70;
-}
-
-span.xml-cdata {
- color: #48A;
-}
-
-span.xml-processing {
- color: #999;
-}
-
-span.xml-entity {
- color: #A22;
-}
-
-span.xml-error {
- color: #F00;
-}
-
-span.xml-text {
- color: black;
-}
diff --git a/src/main/webapp/config/wps_config.xml b/src/main/webapp/config/wps_config.xml
index 878f3d9..ce1fb66 100644
--- a/src/main/webapp/config/wps_config.xml
+++ b/src/main/webapp/config/wps_config.xml
@@ -58,7 +58,7 @@
-
+
diff --git a/src/main/webapp/css/wps.css b/src/main/webapp/css/wps.css
deleted file mode 100644
index 3657090..0000000
--- a/src/main/webapp/css/wps.css
+++ /dev/null
@@ -1,87 +0,0 @@
-body {
- font-family: "Trebuchet MS", Helvetica, sans-serif;
-}
-
-p.infotext {
- color: #afafaf;
- font-size: 10pt;
-}
-
-/* Left will inherit from right (so we don't need to duplicate code) */
-.github-fork-ribbon {
- /* The right and left classes determine the side we attach our banner to */
- position: absolute;
- /* Add a bit of padding to give some substance outside the "stitching" */
- padding: 2px 0;
- /* Set the base colour */
- background-color: #66C5E4;
- /* Set a gradient: transparent black at the top to almost-transparent black at the bottom */
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)),
- to(rgba(0, 0, 0, 0.15)));
- background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.15));
- background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.15));
- background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.15));
- background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.15));
- background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.15));
- /* Add a drop shadow */
- -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.5);
- box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.5);
- z-index: 9999;
- pointer-events: auto;
-}
-
-.github-fork-ribbon a,.github-fork-ribbon a:hover {
- /* Set the font */
- font: 700 13px "Helvetica Neue", Helvetica, Arial, sans-serif;
- color: #fff;
- /* Set the text properties */
- text-decoration: none;
- text-shadow: 0 -1px rgba(0, 0, 0, 0.5);
- text-align: center;
- /* Set the geometry. If you fiddle with these you'll also need
- to tweak the top and right values in .github-fork-ribbon. */
- width: 200px;
- line-height: 20px;
- /* Set the layout properties */
- display: inline-block;
- padding: 2px 0;
- /* Add "stitching" effect */
- border-width: 1px 0;
- border-style: dotted;
- border-color: #fff;
- border-color: rgba(255, 255, 255, 0.7);
-}
-
-.github-fork-ribbon-wrapper {
- width: 150px;
- height: 150px;
- position: absolute;
- overflow: hidden;
- top: 0;
- z-index: 9999;
- pointer-events: none;
-}
-
-.github-fork-ribbon-wrapper.fixed {
- position: fixed;
-}
-
-.github-fork-ribbon-wrapper.right {
- right: 0;
-}
-
-.github-fork-ribbon-wrapper.right .github-fork-ribbon {
- top: 42px;
- right: -43px;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
diff --git a/src/main/webapp/ecocfg/ALog.properties b/src/main/webapp/ecocfg/ALog.properties
deleted file mode 100644
index 622d055..0000000
--- a/src/main/webapp/ecocfg/ALog.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#### Use two appenders, one to log to console, another to log to a file
-log4j.rootCategory=ERROR,AR
-
-#### Second appender writes to a file
-#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-#log4j.appender.stdout.Threshold=OFF
-#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-#log4j.appender.stdout.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %p %t %c - %m%n
-
-log4j.logger.AnalysisLogger=AR
-log4j.appender.AR=org.apache.log4j.RollingFileAppender
-log4j.appender.AR.Threshold=TRACE
-log4j.appender.AR.File=logs/analysis/Analysis.log
-log4j.appender.AR.MaxFileSize=50000KB
-log4j.appender.AR.MaxBackupIndex=2
-log4j.appender.AR.layout=org.apache.log4j.PatternLayout
-log4j.appender.AR.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %p %t %c - %m%n
-
-#### Third appender writes to a file
-log4j.logger.org.hibernate=H
-log4j.appender.H=org.apache.log4j.AsyncAppender
-log4j.appender.H.Threshold=OFF
-log4j.appender.H.layout=org.apache.log4j.PatternLayout
-log4j.appender.H.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %p %t %c - %m%n
\ No newline at end of file
diff --git a/src/main/webapp/examples/LegacyAlgorithmSchema.xsd b/src/main/webapp/examples/LegacyAlgorithmSchema.xsd
deleted file mode 100644
index b8d20fe..0000000
--- a/src/main/webapp/examples/LegacyAlgorithmSchema.xsd
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
- Comment describing your root element
-
-
-
-
-
- URL pointing to the workspace root
-
-
-
-
- URL pointing to the algorithm; relative to the workspace root. If appropriate, this location can point to some location within the container
-
-
-
-
- Optional URL pointing to a location within the algorithm container. This is e.g. useful to acces tools inside ArcGIS Toolboxes
-
-
-
-
- URN referencing the specific container, e.g. urn:n52:wps:algorithmcontainer:arctoolbox:9.3
-
-
-
-
- URN referencing a required processing backend, e.g. urn:n52:wps:gpsystem:arcgis:9.3
-
-
-
-
- A collection of the algorithm parameters
-
-
-
-
-
- The tool's parameters
-
-
-
-
-
- If true, this tool's parameters are indexed through their position as integers. Otherwise, the mapping from the ows:Identifier to the respective LegacyID is done via name strings.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Legacy ID by which the parameters are defined in the Legacy environment. Use legacyIntID for sequential parameters, legacyStrindID for parameters name strings
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/DummyPython.xml b/src/main/webapp/examples/localWPSFiles/legacyDescriptions/DummyPython.xml
deleted file mode 100644
index 8133c17..0000000
--- a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/DummyPython.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
- org.n52.wps.ags.algorithm.DummyPython
- dummy algorithm
- Uses ArcGIS Server Backend
-
-
-
- INPUT_FILE
- input file
- some file
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/DummyPython.xslt b/src/main/webapp/examples/localWPSFiles/legacyDescriptions/DummyPython.xslt
deleted file mode 100644
index 2c04f6d..0000000
--- a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/DummyPython.xslt
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- http://gp-algorithms.tu-dresden.de/DummyPython
- http://gp-algorithms.tu-dresden.de/DummyPython/dummy.py
- http://gp-algorithms.tu-dresden.de/DummyPython/dummy.py?
- urn:n52:python:2.5
- urn:n52:esri:arcgis:9.3
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/LegacyAlgorithmSchema.xsd b/src/main/webapp/examples/localWPSFiles/legacyDescriptions/LegacyAlgorithmSchema.xsd
deleted file mode 100644
index b8d20fe..0000000
--- a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/LegacyAlgorithmSchema.xsd
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
- Comment describing your root element
-
-
-
-
-
- URL pointing to the workspace root
-
-
-
-
- URL pointing to the algorithm; relative to the workspace root. If appropriate, this location can point to some location within the container
-
-
-
-
- Optional URL pointing to a location within the algorithm container. This is e.g. useful to acces tools inside ArcGIS Toolboxes
-
-
-
-
- URN referencing the specific container, e.g. urn:n52:wps:algorithmcontainer:arctoolbox:9.3
-
-
-
-
- URN referencing a required processing backend, e.g. urn:n52:wps:gpsystem:arcgis:9.3
-
-
-
-
- A collection of the algorithm parameters
-
-
-
-
-
- The tool's parameters
-
-
-
-
-
- If true, this tool's parameters are indexed through their position as integers. Otherwise, the mapping from the ows:Identifier to the respective LegacyID is done via name strings.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Legacy ID by which the parameters are defined in the Legacy environment. Use legacyIntID for sequential parameters, legacyStrindID for parameters name strings
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/perimeter.xml b/src/main/webapp/examples/localWPSFiles/legacyDescriptions/perimeter.xml
deleted file mode 100644
index f35fa3c..0000000
--- a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/perimeter.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
- de.soknos.wps.FloodPerimeter
- Raster to vector Conversion
- Convert HWSIM raster data to vector data
-
-
-
-
- INTEGER_RASTER
- input raster
- cell based water levels from INTEGER_RASTER
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- SIMPLIFICATION
- simplification indicator
- composite indicator, 5 is the suggested value
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/perimeter.xslt b/src/main/webapp/examples/localWPSFiles/legacyDescriptions/perimeter.xslt
deleted file mode 100644
index baae515..0000000
--- a/src/main/webapp/examples/localWPSFiles/legacyDescriptions/perimeter.xslt
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- http://gp-algorithms.tu-dresden.de/de.tu-dresden.wps.perimeter
- http://gp-algorithms.tu-dresden.de/de.tu-dresden.wps.perimeter/toolbox.tbx
- http://gp-algorithms.tu-dresden.de/de.tu-dresden.wps.perimeter/toolbox.tbx?perimeter
- urn:n52:esri:arctoolbox:9.3
- urn:n52:esri:arcgis:9.3
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/webapp/examples/localWPSFiles/templateWS/de.tu-dresden.wps.perimeter/toolbox.tbx b/src/main/webapp/examples/localWPSFiles/templateWS/de.tu-dresden.wps.perimeter/toolbox.tbx
deleted file mode 100644
index 4da0b48..0000000
Binary files a/src/main/webapp/examples/localWPSFiles/templateWS/de.tu-dresden.wps.perimeter/toolbox.tbx and /dev/null differ
diff --git a/src/main/webapp/examples/localWPSFiles/templateWS/org.n52.wps.ags.algorithm.DummyPython/dummy.py b/src/main/webapp/examples/localWPSFiles/templateWS/org.n52.wps.ags.algorithm.DummyPython/dummy.py
deleted file mode 100644
index 418b052..0000000
--- a/src/main/webapp/examples/localWPSFiles/templateWS/org.n52.wps.ags.algorithm.DummyPython/dummy.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# dummy algorithm, just copies an input file
-
-import shutil, sys
-
-inFile = sys.argv[1]
-outFile = sys.argv[2]
-
-shutil.copy (inFile, outFile)
-
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/Clip.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/Clip.xml
deleted file mode 100644
index 435b209..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/Clip.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.extract.clip
- Clip_analysis
- This extracts input features that overlay the clip features. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The features to be clipped.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- clip_feature
- clip feature
- The features used to clip the input features.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/Select.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/Select.xml
deleted file mode 100644
index 9f7c7d8..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/Select.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.extract.select
- Select_analysis
- Extracts features from an input feature class or input feature layer and stores them in a new output feature class. The output feature class may be created with a subset of features based on a Structured Query Language (SQL) expression. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The input feature class or layer from which features are selected.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- where_clause
- where clause
- An expression used to select a subset of features.
-In the command line, the {where_clause} should be enclosed in parentheses, as it will contain spaces which are delimiters between parameters. Another option is to right-click on the command line and select Insert Variable (or use the F8 shortcut).
-The syntax for the expression differs slightly depending on the data source. For example, if you're querying file or ArcSDE geodatabases, shapefiles, or coverages, enclose field names in double quotes:
-"MY_FIELD" If you're querying personal geodatabases, enclose fields in square brackets:
-[MY_FIELD] For more information on SQL syntax and how it differs between data sources, see SQL Reference.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/TableSelect.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/TableSelect.xml
deleted file mode 100644
index 8941fbe..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Extract/TableSelect.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.extract.split
- TableSelect_analysis
- This extracts selected table records or features from an input table or table view and stores them in a new output table. Uses ArcObjects library - Analysis
-
-
- in_table
- in table
- The input table can be an INFO table, a dBASE table, a geodatabase table, a feature class, or a table view.
-
-
-
- application/dbf
-
-
-
-
-
- application/dbf
-
-
-
-
-
-
- where_clause
- where clause
- A SQL expression used to select a subset of records.
-The syntax for the expression differs slightly depending on the data source. For example, if you're querying file or ArcSDE geodatabases or dBASE or INFO tables, enclose field names in double quotes:
-"MY_FIELD" If you're querying personal geodatabases, enclose fields in square brackets:
-[MY_FIELD] For more information on SQL syntax and how it differs between data sources, see SQL Reference.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Erase.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Erase.xml
deleted file mode 100644
index b49484d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Erase.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.erase
- Erase_analysis
- Creates a feature class by overlaying the Input Features with the polygons of the Erase Features. Only those portions of the Input Features falling outside the Erase Features outside boundaries are copied to the Output Feature Class. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The input feature class or layer.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- erase_features
- erase features
- The features whose outer polygon defines the erasing area.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Identity.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Identity.xml
deleted file mode 100644
index 0ffbdaf..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Identity.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.identity
- Identity_analysis
- Computes a geometric intersection of the Input Features and Identity Features. The Input Features or portions thereof that overlap Identity Features will get the attributes of those Identity Features. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The input feature class or layer.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- identify_features
- identify features
- The identity feature class or layer. Must be polygons.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- join_attributes
- join attributes
- Determines what attributes will be transferred to the Output Feature Class. ALL — All the attributes (including FIDs) from the Input Features as well as the Identity Features will be transferred to the Output Feature Class. This is the default. NO_FID — All the attributes except the FID from the Input Features and Identity Features will be transferred to the Output Feature Class. ONLY_FID — All the attributes from the Input Features but only the FID from the Identity Features will be transferred to the Output Feature Class.
-
-
-
- ALL
- NO_FID
- ONLY_FID
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
- relationship
- relationship
- Choose if you want additional spatial relationships between the Input Features and Identity Features to be written to the output. This only applies when the Input Features are lines and the Identity Features are polygons. NO_RELATIONSHIPS — No additional spatial relationship will be determined. KEEP_RELATIONSHIPS — Left and right polygon information will be determined for line on polygon identity and written into the RIGHT_poly, LEFT_poly field in the output.
-
-
-
- NO_RELATIONSHIPS
- KEEP_RELATIONSHIPS
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Intersect.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Intersect.xml
deleted file mode 100644
index fc3c666..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Intersect.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.intersect
- Intersect_analysis
- Computes a geometric intersection of the Input Features. Features or portions of features which overlap in all layers and/or feature classes will be written to the Output Feature Class. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- A list of the input feature classes or layers. When the distance between features is less than the cluster tolerance, the features with the lower rank will snap to the feature with the higher rank. The highest rank is one. For more information, see Priority ranks and Geoprocessing tools. With ArcView and ArcEditor licenses, the number of input feature classes or layers is limited to two.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- join_attributes
- join attributes
- Determines what attributes will be transferred to the Output Feature Class. ALL — All the attributes (including FIDs) from the Input Features as well as the Identity Features will be transferred to the Output Feature Class. This is the default. NO_FID — All the attributes except the FID from the Input Features and Identity Features will be transferred to the Output Feature Class. ONLY_FID — All the attributes from the Input Features but only the FID from the Identity Features will be transferred to the Output Feature Class.
-
-
-
- ALL
- NO_FID
- ONLY_FID
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
- output_type
- output type
- Choose what type of intersection you want to find. INPUT — The intersections returned will be the same geometry type as the Input Features with the lowest dimension geometry. If all inputs are polygons, the output feature class will contain polygons. If one or more of the inputs are lines and none of the inputs are points, the output will be line. If one or more of the inputs are points, the output feature class will contain points. This is the default. LINE — Line intersections will be returned. This is only valid if none of the inputs are points. POINT — Point intersections will be returned.
-
-
-
- INPUT
- LINE
- POINT
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/SpatialJoin.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/SpatialJoin.xml
deleted file mode 100644
index 5fda863..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/SpatialJoin.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.spatialjoin
- SpatialJoin_analysis
- This creates a table join in which fields from one layer's attribute table are appended to another layer's attribute table based on the relative locations of the features in the two layers. Uses ArcObjects library - Analysis
-
-
- target_features
- target features
- The dataset that you are joining to. The output of the join operation will contain the features from this feature class with appended columns from the join feature class. It can be any spatial data source (shapefiles, SDE feature classes, coverages, SDC, query tables, etc.) supported by ArcGIS. It can also be read-only.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- join_features
- join features
- The dataset that you are joining from. The attributes from this dataset are appended to the attributes of the target feature class in the output based on a spatial relation. It can be any spatial data source (shapefiles, SDE feature classes, coverages, SDC, query tables, etc.) supported by ArcGIS. It can also be read-only.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- join_operation
- join operation
- The join operation describes cardinality rules associated with matching features during the join. The join options are JOIN_ONE_TO_ONE — This means that the number of rows in the output matches the number of rows in the target feature class. If more than one feature from the join feature class matches a target feature, the attributes of the join features are aggregated in the result. For example, a point within polygon join where several points are within a single polygon results in the aggregation of the points attributes. The aggregation is based on the options set in the field map control. This is the default. JOIN_ONE_TO_MANY — The means that for each row in the target feature class, there can be several rows in the output feature class. With this option, attributes are never aggregated. For example, a point within polygon join where several points are within a single polygon results in a polygon for each matching point in the output feature class.
-
-
-
- JOIN_ONE_TO_ONE
- JOIN_ONE_TO_MANY
-
-
-
-
- join_type
- join type
- Determine if the join will be an inner or outer join. KEEP_ALL — All records in the input layer or table view will be included in the output; also known as an outer join. This is the default. KEEP_COMMON — Only those records in the input that match to a row in the join table will be present in the result; also known as an inner join.
-
-
-
-
-
-
- match_option
- match option
- Defines the criteria used to match rows. The match options are: INTERSECTS — Matches join features that intersect target features. CONTAINS — Matches occur when a target feature contains a join feature. Points can't be set as target features and polygons can only be set as join features when the target features are also polygons. IS_WITHIN — Target features within join features are matched. Points can't be set as join features and polygons can only be set as target features when the join features are also polygons. CLOSEST — The Target features will be matched to the closest join feature.
-
-
-
- INTERSECTS
- CONTAINS
- IS_WITHIN
- CLOSEST
-
-
-
-
- search_radius
- search radius
- Only used when the Match Option is INTERSECT or CLOSEST. Join features that are within this distance of the individual input feature will be considered for the operation. The default search radius is 0. A value of 0 for the Search radius means different things to the Match Option. INTERSECT: Only the join features that INTERSECT the input feature will be included in the join. CLOSEST: All join features will be candidates for each input feature. Basically, a value of 0 here means use all join features.
-
-
-
- INTERSECT
- CLOSEST
-
-
-
-
- distance_field_name
- distance field name
- The name of a new field to be added to the output feature class. This field will be of type Double and will contain distances between the Target and the closest Join Features. This option is only available when the Match Option parameter is set to CLOSEST. A value of -1 in the Distance Field means there were no Join Features within the distance specified in the Search Radius parameter. If no Distance Field Name is specified, then no field will be added to the output to capture this information.
-
-
-
-
-
-
- output_type
- output type
- Choose what type of intersection you want to find. INPUT — The intersections returned will be the same geometry type as the Input Features with the lowest dimension geometry. If all inputs are polygons, the output feature class will contain polygons. If one or more of the inputs are lines and none of the inputs are points, the output will be line. If one or more of the inputs are points, the output feature class will contain points. This is the default. LINE — Line intersections will be returned. This is only valid if none of the inputs are points. POINT — Point intersections will be returned.
-
-
-
- INPUT
- LINE
- POINT
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/SymmetricalDifference.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/SymmetricalDifference.xml
deleted file mode 100644
index 31f7970..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/SymmetricalDifference.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.symetricaldifference
- SymDiff_analysis
- Computes a geometric intersection of the input and update features. Features or portions of features in the input and update features which do not overlap will be written to the Output Feature Class. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The input feature class or layer. Geometry type must be polygon.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- update_features
- update features
- The update feature class or layer. Geometry type must be polygon.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- join_attributes
- join attributes
- Determines what attributes will be transferred to the Output Feature Class. ALL — All the attributes (including FIDs) from the Input Features as well as the Identity Features will be transferred to the Output Feature Class. This is the default. NO_FID — All the attributes except the FID from the Input Features and Identity Features will be transferred to the Output Feature Class. ONLY_FID — All the attributes from the Input Features but only the FID from the Identity Features will be transferred to the Output Feature Class.
-
-
-
- ALL
- NO_FID
- ONLY_FID
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Union.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Union.xml
deleted file mode 100644
index 56411a2..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Union.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.union
- Union_analysis
- Computes a geometric intersection of the Input Features. All features will be written to the Output Feature Class with the attributes from the Input Features, which it overlaps. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- A list of the input feature classes or layers. When the distance between features is less than the cluster tolerance, the features with the lower rank will snap to the feature with the higher rank. The highest rank is one. All the Input Features must be polygons. With ArcView and ArcEditor licenses, the number of input feature classes or layers is limited to two.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- join_attributes
- join attributes
- Determines what attributes will be transferred to the Output Feature Class. ALL — All the attributes (including FIDs) from the Input Features as well as the Identity Features will be transferred to the Output Feature Class. This is the default. NO_FID — All the attributes except the FID from the Input Features and Identity Features will be transferred to the Output Feature Class. ONLY_FID — All the attributes from the Input Features but only the FID from the Identity Features will be transferred to the Output Feature Class.
-
-
-
- ALL
- NO_FID
- ONLY_FID
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
- gaps
- gaps
- Gaps are areas in the output feature class that are completely enclosed by other polygons. This is not invalid, but it may be desirable to identify these for analysis. To find the gaps in the output, set this option to NO_GAPS, and a feature will be created in these areas. To select these features, query the output feature class based on all the input feature's FID values being equal to -1. GAPS — No feature will be created for areas in the output that are completely enclosed by polygons. This is the default. NO_GAPS — A feature will be created for the areas in the output that are completely enclosed by polygons. This feature will have blank attributes.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Update.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Update.xml
deleted file mode 100644
index 22f918a..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Overlay/Update.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.overlay.update
- Union_analysis
- Computes a geometric intersection of the Input Features and Update Features. The attributes and geometry of the Input Features are updated by the Update Features. The results are written to the Output Feature Class.
- Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The input feature class or layer. Geometry type must be polygon.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- update_features
- update features
- The features that will be used to update the Input features. Geometry type must be polygon.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- keep_borders
- keep borders
- Specifies whether the boundary of the update polygon features will be kept. KEEP_BORDER — The outside border of the Update Features will be kept in the Output Feature Class. This is the default option. DROP_BORDER — The outside borders of the Update Features are dropped after they are inserted into the Input Features. Item values of the Update Features take precedence over input feature attributes.
-
-
-
-
-
-
- cluster_tolerance
- cluster tolerance
- The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both). You can set the value to be higher for data that has less coordinate accuracy and lower for datasets with extremely high accuracy.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/Buffer.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/Buffer.xml
deleted file mode 100644
index e381ff6..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/Buffer.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.proximity.buffer
- Buffer_analysis
- Creates buffer polygons to a specified distance around the Input Features. An optional dissolve can be performed to remove overlapping buffers. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The feature layer or feature class to be buffered.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- buffer_distance_or_field
- buffer distance or field
- The distance used to create buffer zones around Input Features. Either a value or a numeric field can be used to provide buffer distances. If a negative buffer distance is specified, the buffer offsets will be generated inside, instead of outside, of the input features. This is only valid for polygon feature classes. If the distance units are not specified, or entered as Unknown, the units of the Input Features are used (or if the Output Coordinate System environment has been set, its units will be used).
-
-
-
-
-
-
- line_side
- line side
- Options to buffer to one side of a line or outside polygons: FULL — A buffer will be generated on both sides of the line. If the input is a polygon, the result will include the area inside the polygon. This is the default. LEFT — The buffer will be generated on the LEFT side of the line. RIGHT — The buffer will be generated on the RIGHT side of the line. OUTSIDE_ONLY — The area inside the input polygon features will be excluded from the resulting buffer. These options are not available with an ArcView or ArcEditor license.
-
-
-
- FULL
- LEFT
- RIGHT
- OUTSIDE_ONLY
-
-
-
-
- line_end_type
- line end type
- For lines, the shape of the buffer at the line end points. ROUND — End will be in the shape of a half circle. This is the default. FLAT — Creates rectangular line endings with the middle of the short side of the rectangle coincident with the end point of the line. These options are not available with an ArcView or ArcEditor license. Line buffers will always have ROUND ends.
-
-
-
- ROUND
- FLAT
-
-
-
-
- dissolve_option
- dissolve option
- Specifies whether a dissolve will be performed to remove buffer feature overlap. NONE — Individual buffer for each feature is maintained, regardless of overlap. This is the default. ALL — Dissolves all the buffers together into a single feature and removes any overlap. LIST — Dissolves by a given list of fields.
-
-
-
- NONE
- ALL
- LIST
-
-
-
-
- dissolve_field
- dissolve field
- List of field(s) for the dissolve. Buffer polygons that share the same set of values in their Dissolve Field(s) will be dissolved together. The Add Field button, which is used only in ModelBuilder, allows you to add expected fields so you can complete the dialog box and continue to build your model.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/CreateThiessenPolygon.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/CreateThiessenPolygon.xml
deleted file mode 100644
index 7ddf44c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/CreateThiessenPolygon.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.proximity.createthiessenpolygons
- CreateThiessenPolygons_analysis
- This converts input points to an output feature class of Thiessen proximal polygons.
- Thiessen polygons have the unique property that each polygon contains only one input point, and any location within a polygon is closer to its associated point than to the point of any other polygon. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The points for which the Thiessen polygons will be generated.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- fields_to_copy
- fields to copy
- Determines which attributes from the Input Features will be transferred to the Output Feature Class. ONLY_FID — Only the FID field from the Input Features will be transferred to the Output Feature Class. This is the default. ALL — All the attributes from the Input Features will be transferred to the Output Feature Class.
-
-
-
- ONLY_FID
- ALL
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/GenerateNearTable.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/GenerateNearTable.xml
deleted file mode 100644
index 474bcbf..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/GenerateNearTable.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.proximity.generateneartable
- GenerateNearTable_analysis
- Determines the distance from each feature in the Input Features to the nearest features in the Near Features, within the Search Radius. The results are recorded in the output table. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The feature class or layer containing features from which near distances are calculated to each feature in the Near Features.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- near_features
- near features
- The feature class or layer containing features from which distances are calculated to the closest feature in the Input Features. If multiple feature classes or layers are specified, an extra field named NEAR_FC will be added to the output table to identify which near feature class contains the closest feature.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- search radius
- search radius
- The maximum distance between Input Features and Near Features for which distance and FIDs will be determined. If no Search Radius is specified, all Near Features will be used.
-
-
-
-
-
-
- location
- location
- Determines whether the x,y coordinates of the nearest feature are added to the output table as well as NEAR_FID and NEAR_DIST. The new fields are NEAR_X and NEAR_Y. NO_LOCATION — The x,y coordinates or the nearest point are not saved. This is the default. LOCATION — Additional fields named NEAR_X and NEAR_Y will be added to the output table. These fields will contain the x- and y-coordinates of the Near Features.
-
-
-
- NEAR_DIST
- NEAR_Y
-
-
-
-
- angle
- angle
- Determines whether the angle between the near feature will be calculated and stored in the NEAR_ANGLE field. The angle value is measured in degrees, where one degree represents 1/360 of a circle, and fractions of a degree are represented as decimal points. Angles are measured from 180° to -180° ; 0° to the east, 90° to the north, 180° (-180° ) to the west, and -90° to the south. NO_ANGLE — The angle between the nearest point will not be saved. This is the default. ANGLE — A field named NEAR_ANGLE will be added to the output table and will contain the angle from the Input to the nearest point on the Near Feature.
-
-
-
-
-
-
- closest
- closest
- Determines whether to locate and return only the closest features or return all the features within the search radius. CLOSEST — Locate and return only the closest features from the Near Features to the Input Features within the search radius. This is the default. ALL — Locate and return all features from the Near Features to the Input Features within the search radius.
-
-
-
-
-
-
- closest_count
- closest count
- Finds only the specified number of closest features. This parameter is disabled if Find only closest feature is selected.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/MultipleRingBuffer.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/MultipleRingBuffer.xml
deleted file mode 100644
index 0a4c3dc..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/MultipleRingBuffer.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.proximity.multipleringbuffer
- MultipleRingBuffer_analysis
- Creates a new feature class of buffer features using a set of buffer distances. The new features may be dissolved using the distance values or as a set of individual features. Uses ArcObjects library - Analysis
-
-
- Input_Features
- Input Features
- The feature layer or feature class to be buffered.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- Distances
- Distances
- The distances, in ascending size, used to create buffer zones around the Input Features.
-
-
-
-
-
-
- Line_Side
- Line Side
- The units used with the Distance values. Default Centimeters
- DecimalDegrees Feet Inches Kilometers Meters Miles Millimeters
- NauticalMiles Points Yards
- If the units are not specified, or are entered as Default, the units of the Input Features are used (or if the Output Coordinate System environment has been set, its units will be used).
-
-
-
- Default
- Centimeters
- DecimalDegrees
- Feet
- Inches
- Kilometers
- Meters
- Miles
- Millimeters
- NauticalMiles
- Points
- Yards
-
-
-
-
- Field_Name
- Field Name
- The name of the field in the Output Feature Class that will store the buffer distance used to create each feature. If no value is specified, the name will be distance. The type of the field is double.
-
-
-
-
-
-
- Dissolve_Option
- Dissolve Option
- Specifies whether a dissolve will be performed to remove buffer feature overlap. NONE — Individual buffer for each feature is maintained, regardless of overlap. This is the default. ALL — Dissolves all the buffers together into a single feature and removes any overlap. LIST — Dissolves by a given list of fields.
-
-
-
- NONE
- ALL
-
-
-
-
- Outside_Polygons_Only
- Outside Polygons Only
- Valid only for input polygon features. FULL — Input polygon features will be given a complete buffer. This is the default. OUTSIDE_ONLY — The area inside the input polygon features will be excluded from the resulting buffer.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/Near.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/Near.xml
deleted file mode 100644
index d3483f0..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/Near.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.proximity.near
- Near_analysis
- This determines the distance from each feature in the Input Features to the nearest features in the Near Features within the Search Radius. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The feature class or layer containing features from which distances are calculated to each feature in the Near Features.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- near_features
- near features
- The feature class or layer containing features from which distances are calculated to the closest feature in the Input Features. If multiple feature classes or layers are specified, an extra field named NEAR_FC will be added to the input feature class to identify which near feature class contains the closest feature.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- search_radius
- search radius
- The maximum distance between Input Features and Near Features for which distance and FID will be determined. If no Search Radius is specified, all Near Features will be used.
-
-
-
-
-
-
- location
- location
- Determines whether the x,y coordinates of the nearest feature are added to the Input Features as well as NEAR_FID and NEAR_DIST. The new fields are NEAR_X and NEAR_Y. NO_LOCATION — The x,y coordinates or the nearest point are not saved. This is the default. LOCATION — Additional fields named NEAR_X and NEAR_Y will be added to the result. These fields will contain the x- and y-coordinates of the Near Features.
-
-
-
-
-
-
- angle
- angle
- Determines whether the angle between the near feature will be calculated and stored in the NEAR_ANGLE field. The angle value is measured in degrees, where one degree represents 1/360 of a circle, and fractions of a degree are represented as decimal points. Angles are measured from 180° to -180° ; 0° to the east, 90° to the north, 180° (-180° ) to the west, and -90° to the south. NO_ANGLE — The angle between the nearest point will not be saved. This is the default. ANGLE — A field named NEAR_ANGLE will be added to the result and will contain the angle from the Input to the nearest point on the Near Feature.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/PointDistance.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/PointDistance.xml
deleted file mode 100644
index f0b4b5d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Proximity/PointDistance.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.proximity.pointdistance
- PointDistance_analysis
- This determines the distances between point features in the Input Features to all points in the Near Features within the Search Radius. Uses ArcObjects library - Analysis
-
-
- in_features
- in features
- The point features from which distances to the Near Features will be calculated.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- near_features
- near features
- The points to which distances from the Input Features will be determined. Distances between points within the same feature class or layer can be determined by specifying the same feature class or layer for the Input Features and Near Features.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- search_radius
- search radius
- Distances will only be calculated for those Near Features that are within the Search Radius of the Input Features.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Statistics/Frequency.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Statistics/Frequency.xml
deleted file mode 100644
index 9699209..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Statistics/Frequency.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.statistics.frequency
- Frequency_analysis
- This creates a list of the unique code occurrences and their frequency for a specified set of items in a table. Uses ArcObjects library - Analysis
-
-
- in_table
- in table
- The table containing the field(s) that will be used to calculate frequency statistics. It can be an INFO or OLE DB table, a dBASE or a VPF table, or a feature class.
-
-
-
- application/dbf
-
-
-
-
-
- application/dbf
-
-
-
-
-
-
- frequency_fields
- frequency fields
- The attribute field or fields that will be used to calculate frequency statistics.
-
-
-
-
-
-
- summary_fields
- summary fields
- The attribute field or fields to sum and add to the output table. Null values are excluded from this calculation.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Statistics/SummaryStatistics.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Statistics/SummaryStatistics.xml
deleted file mode 100644
index 189604d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/Analysis/Statistics/SummaryStatistics.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
- org.n52.wps.ags.analysis.statistics.summarystatistics
- SummaryStatistics_analysis
- This calculates summary statistics for field(s) in a table. Uses ArcObjects library - Analysis
-
-
- in_table
- in table
- The input table containing the field(s) that will be used to calculate statistics. The input can be an INFO table, a dBASE table, an OLE DB table, a VPF table, or a feature class.
-
-
-
- application/dbf
-
-
-
-
-
- application/dbf
-
-
-
-
-
-
- case_field
- case fields
- The fields in the Input Table used to calculate statistics separately for each unique attribute value (or combination of attributes values when multiple fields are specified).
-
-
-
-
-
-
- summary_fields
- summary fields
- The numeric field containing attribute values used to calculate the specified statistic. Multiple statistic and field combinations may be specified. Null values are excluded from all statistical calculations. The Add Field button, which is used only in ModelBuilder, allows you to add expected field(s) so you can complete the dialog box and continue to build your model. Available statistic types are
- SUM — Adds the total value for the specified field.
- MEAN — Calculates the average for the specified field.
- MIN — Finds the smallest value for all records of the specified field.
- MAX — Finds the largest value for all records of the specified field.
- RANGE — Finds the range of values (MAX – MIN) for the specified field.
- STD — Finds the standard deviation on values in the specified field.
- FIRST — Finds the first record in the Input Table and uses its specified field value.
- LAST — Finds the last record in the Input Table and uses its specified field value.
- COUNT — Finds the number of values included in statistical calculations. This counts each value except null values. To determine the number of null values in a field, use the COUNT statistic on the field in question, and a COUNT statistic on a different field that does not contain nulls (for example, the OID if present), then subtract the two values.
-
-
-
- SUM
- MEAN
- MIN
- MAX
- RANGE
- STD
- FIRST
- LAST
- COUNT
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Density/LineDensity.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Density/LineDensity.xml
deleted file mode 100644
index f190084..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Density/LineDensity.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.density.linedensity
- LineDensity_sa
- Calculates a magnitude per unit area from polyline features that fall within a radius around each cell. Uses ArcObjects library - Spatial Analyst
-
-
- input features
- input polyline features
- the input polyline feature to calculate the density for
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- field
- population field as string
- Field denoting population values for each feature. the population field is the count or quantity to be spread across the landscape to create continuous surface. values may be integer or floating point. a valid field name of the input features is required.
-
-
-
-
-
-
- cell size
- output cell size
- The cell size at which the output raster will be created. If the environment is not set, then cell size is the shorter of the width or height of the extent of input point or polyline features in the output spatial reference, divided by 250.
-
-
-
-
-
-
- radius
- search radius
- The search radius within which to calculate density. Units are based on the linear unit of the projection of the output spatial reference. The default is the shortest of the width or height of the extent of in_features in the output spatial reference, divided by 30.
-
-
-
-
-
-
- units
- area units
- The desired area units of the output density values. the value can be "SQUARE_MAP_UNITS", "SQUARE_MILES", "SQUARE_KILOMETERS","SQUARE_INCHES", "SQUARE_CENTIMETERS" or "SQUARE_MILLIMETERS". A default unit is selected based on the linear unit of the projection of the output spatial reference.
-
-
-
- SQUARE_MAP_UNITS
- SQUARE_MILES
- SQUARE_KILOMETERS
- SQUARE_INCHES
- SQUARE_CENTIMETERS
- SQUARE_MILLIMETERS
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/Corridor.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/Corridor.xml
deleted file mode 100644
index cb90119..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/Corridor.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.corridor
- Corridor_sa
- Calculates the sum of accumulative costs for two input accumulative cost raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_distance_raster1
- in distance raster1
- An input raster that was the output accumulated cost raster from a global cost function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_distance_raster2
- in distance raster2
- An input raster that was the output accumulated cost raster from a global cost function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostAllocation.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostAllocation.xml
deleted file mode 100644
index 85e9d95..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostAllocation.xml
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.costallocation
- CostAllocation_sa
- Calculates, for each cell its nearest source based on the least accumulative cost over a cost surface. Uses ArcObjects library - Spatial Analyst
-
-
- in_source_data
- in source data
- The input source locations. This is a raster or feature dataset that identifies the cells or locations to which the least accumulated cost distances for all cells are calculated. If raster, it must be integer type. For features, only integer fields can be used.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- in_cost_raster
- in cost raster
- A raster defining the impedance or cost to move planimetrically through each cell. The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution while also compensating for diagonal movement to obtain the total cost of passing through the cell. The in_cost_raster values can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost).
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- source_field
- source field
- The field used to assign values to the source locations when the {in_value_raster} is not set. The value raster will take precedence over any setting for the {source_field}.
-
-
-
-
-
-
- in_value_raster
- in value raster
- An optional input raster that identifies the zone values that should be used for each source location on the in_source_data. For each source location (cell or feature), the value defined by the {in_value_raster} will be assigned to all cells that will be allocated to the source location in the cost allocation computations. The value raster will take precedence over any setting for the {source_field}. This parameter can be used if other values or zones are to be used instead of the existing ones in the input source. This parameter can also be used if the source raster was created by the Test function, a Boolean operator that will only output the binary values 0 and 1.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- maximum_distance
- maximum distance
- Defines the threshold that the accumulative cost values cannot exceed. If an accumulative cost distance value exceeds the {max_distance}, the output value for the cell location will be NoData. The {max_distance} defines the extent for which the accumulative cost distances are calculated. The default distance is to the edge of the output raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostBackLink.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostBackLink.xml
deleted file mode 100644
index 8b576f1..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostBackLink.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.costbacklink
- CostBackLink_sa
- Defines the neighbor that is the next cell on the least accumulative cost path to the nearest source. Uses ArcObjects library - Spatial Analyst
-
-
- in_source_data
- in source data
- The input source locations. This is a raster or feature dataset that identifies the cells or locations to which the least accumulated cost distance for every cell is calculated. For rasters, it must be of integer type. For features, only integer fields can be used.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- in_cost_raster
- in cost raster
- A raster defining the impedance or cost to move planimetrically through each cell. The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution, while compensating for diagonal movement, to obtain the total cost of passing through the cell. The values on the in_cost_raster can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost).
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- maximum_distance
- maximum distance
- Defines the threshold that the accumulative cost values cannot exceed. If an accumulative cost distance value exceeds the {max_distance}, the output value for the cell location will be NoData. The {max_distance} defines the extent for which the accumulative cost distances are calculated. The default distance is to the edge of the output raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostDistance.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostDistance.xml
deleted file mode 100644
index 1498afa..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostDistance.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.costdistance
- CostDistance_sa
- Calculates the least accumulative cost distance for each cell to the nearest source over a cost surface. Uses ArcObjects library - Spatial Analyst
-
-
- in_source_data
- in source data
- The input source locations. A raster or feature dataset that identifies the cells or locations to which the least accumulated cost distance for every cell is calculated. For rasters, the input value can be integer, string, or floating-point type if in_value_raster is used.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- in_cost_raster
- in cost raster
- A raster defining the impedance or cost to move planimetrically through each cell. The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution, while compensating for diagonal movement, to obtain the total cost of passing through the cell. The values on the in_cost_raster can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost).
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- maximum_distance
- maximum distance
- Defines the threshold that the accumulative cost values cannot exceed. If an accumulative cost distance value exceeds the {max_distance}, the output value for the cell location will be NoData. The {max_distance} defines the extent for which the accumulative cost distances are calculated. The default distance is to the edge of the output raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostPath.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostPath.xml
deleted file mode 100644
index 330b0d3..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/CostPath.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.costpath
- CostPath_sa
- Calculates the least-cost path from a source to a destination. Uses ArcObjects library - Spatial Analyst
-
-
- in_destination_data
- in destination data
- A raster or feature dataset that identifies those cells from which the least-cost path is determined to the least costly source. If the input is a raster, the input consists of cells that have valid values (zero is a valid value), and the remaining cells must be assigned NoData.
-
-
-
- application/x-zipped-shape
-
-
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- destination_field
- destination field
- The field used to obtain values for the destination locations. Input feature data must contain at least one valid field.
-
-
-
-
-
-
- in_cost_distance_raster
- in cost distance raster
- The name of a cost distance raster used to determine the least-cost path from the in_destination_data cell locations to a source. The in_cost_distance_raster is usually created with the CostDistance function (or by the CostAllocation or CostBackLink functions). The in_cost_distance_raster stores, for each cell, the minimum accumulative cost distance over a cost surface from each cell to a set of source cells.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in cost backlink raster
- in cost backlink raster
- The name of a cost backlink raster used to determine the path to return to a source via the least-cost path. For each cell in the backlink raster, a value identifies the neighbor that is the next cell on the least accumulative cost path from the cell to a single source cell or set of source cells.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- path_type
- path type
- A keyword defining the manner in which the values and zones on the in_destination_data will be interpreted in the cost path calculations. EACH_CELL — For each cell with valid values on the in_destination_data, a least-cost path is determined and saved on the output raster of the CostPath function. With EACH_CELL, each cell of the in_destination_data input is treated separately, and a least-cost path is determined for each from cell. EACH_ZONE — For each zone on the in_destination_data , a least-cost path is determined and saved on the output raster of the CostPath function. With the EACH_ZONE keyword, the least-cost path for each zone begins at the cell with the lowest cost distance weighting in the zone. BEST_SINGLE — For all cells on the in_destination_data input, the least-cost path is derived from the cell with the minimum of the least-cost paths to source cells.
-
-
-
-
- EACH_CELL
- EACH_ZONE
- BEST_SINGLE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanAllocation.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanAllocation.xml
deleted file mode 100644
index 691338d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanAllocation.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.euclideanallocation
- EuclideanAllocation_sa
- Calculates, for each cell, the nearest source based on Euclidean distance. Uses ArcObjects library - Spatial Analyst
-
-
- in_source_data
- in source data
- The input source locations. A raster or feature dataset in which the zone of closest cells is determined for each defined location. The value of each location in the input source dataset is assigned to its respective zone in the output raster. For rasters, the input can be integer or floating point. If the input is floating point, a value raster must be set. The value raster must be integer. The value raster will take precedence over the source field if it is set.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- in_value_raster
- in value raster
- An optional integer input raster that identifies the zone values that should be used for each source location on the in_source_data. For each source location (cell or feature), the value defined by the {in_value_raster} will be assigned to all cells allocated to the source location in the cost allocation computations. The value raster will take precedence over any setting for the {source_field}. This parameter can be used if other values or zones are used instead of those existing in the input source. This parameter must be used if the source field is floating point. This parameter can also be used if the source raster was created by the Test function, a Boolean operator that will only output the binary values zero and one.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- source_field
- source field
- The field used to assign values to the source locations when the {in_value_raster} is not set. The value raster will take precedence over any setting for the {source_field}. If the {source_field} is floating point, an {in_value_raster} must be used. By setting the {in_value_raster}, the field set for the {source_field} parameter will be overridden by the value field of the {in_value_raster}.
-
-
-
-
-
-
- maximum_distance
- maximum distance
- Defines the threshold that the accumulative distance values cannot exceed. The {maximum_distance} defines the extent for which the accumulative Euclidean distances are calculated. If an accumulative Euclidean distance value exceeds the {maximum_distance}, the output value for the cell location will be NoData. The default distance is to the edge of the output raster.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This will be the value in the environment if it is explicitly set. If it's not set in the environment, and if the in_source_data is a raster, the cell size will default to that of the in_source_data. If the in_source_data is a feature dataset, the cell size will default to the shorter of the width or height of the extent of input features in the input spatial reference, divided by 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanDirection.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanDirection.xml
deleted file mode 100644
index b1b3c70..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanDirection.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.euclideandirection
- EuclideanDirection_sa
- Calculates, for each cell, the direction, in degrees, to the nearest source. Uses ArcObjects library - Spatial Analyst
-
-
- in_source_data
- in source data
- The input source locations. A raster or feature dataset that identifies the cells or locations whose values are assigned the output cell locations to which they are closest.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- maximum_distance
- maximum distance
- Defines the threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance value exceeds the {maximum_distance}, the output value for the cell location will be NoData. The {maximum_distance} defines the extent for which the accumulative Euclidean distances are calculated. The default distance is to the edge of the output raster.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This will be the value in the environment if it is explicitly set. If it's not set in the environment, and if the in_source_data is a raster, the cell size will default to that of the in_source_data. If the in_source_data is a feature dataset, the cell size will default to the shorter of the width or height of the extent of input features in the input spatial reference, divided by 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanDistance.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanDistance.xml
deleted file mode 100644
index 60bcae3..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Distance/EuclideanDistance.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.distance.euclideandistance
- EuclideanDistance_sa
- Calculates, for each cell, the Euclidean distance to the closest source. Uses ArcObjects library - Spatial Analyst
-
-
- in_source_data
- in source data
- The input source locations. A raster or feature dataset that identifies the cells or locations to which the Euclidean distance for every cell location is calculated. If raster, it must be integer type. Distance is calculated only to the single closest source cell or location.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
- application/x-zipped-shape
-
-
-
-
-
-
- maximum_distance
- maximum distance
- Defines the threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance value exceeds the {maximum_distance}, the output value for the cell location will be NoData. The {maximum_distance} defines the extent for which the accumulative Euclidean distances are calculated. The default distance is to the edge of the output raster.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This will be the value in the environment if it is explicitly set. If it's not set in the environment, and if the in_source_data is a raster, the cell size will default to that of the in_source_data. If the in_source_data is a feature dataset, the cell size will default to the shorter of the width or height of the extent of input features in the input spatial reference, divided by 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByAttributes.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByAttributes.xml
deleted file mode 100644
index 14a578f..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByAttributes.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractbyattributes
- ExtractByAttributes_sa
- Extracts the cells of a raster based on a logical query. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster from which cells will be extracted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- where_clause
- where clause
- An SQL expression used to select a subset of raster cells. For information on SQL syntax, see SQL Reference.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByCircle.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByCircle.xml
deleted file mode 100644
index 56a4ac8..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByCircle.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractbycircle
- ExtractByCircle
- Extracts the cells of a raster based on a circle. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster from which cells will be extracted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- center_point
- center point
- Center coordinate (x,y) of circle defining the area to be extracted. The coordinates are specified in the same map units as the in_raster.
-
-
-
-
-
-
- radius
- radius
- Radius of circle defining the area to be extracted. The radius is specified in map units and is in the same units as the in_raster.
-
-
-
-
-
-
- extraction_area
- extraction area
- Identifies whether to extract cells inside or outside the input circle. INSIDE — A keyword specifying that the cells inside the input circle should be selected and written to the output raster. All cells outside the circle will receive NoData on the output raster. OUTSIDE — A keyword specifying that the cells outside the input circle should be selected and written to the output raster. All cells inside the circle will receive NoData on the output raster.
-
-
-
-
- INSIDE
- OUTSIDE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByMask.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByMask.xml
deleted file mode 100644
index 947393c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByMask.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractbymask
- ExtractByMask_sa
- Extracts the cells of a raster that correspond to the areas defined by a mask. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster from which cells will be extracted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_mask_data
- input mask data
- Input mask data defining areas to extract. This is a raster or feature dataset. When the in_mask_data is a raster, NoData cells on the mask will be assigned NoData values on the output raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByPoints.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByPoints.xml
deleted file mode 100644
index 583b62e..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByPoints.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractbypoints
- ExtractByPoints_sa
- Extracts the cells of a raster based on points. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster from which cells will be extracted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- points
- points
- The points where values will be extracted from the raster. The points are specified as x,y coordinate pairs. The points are in the same map units as in_raster.
-
-
-
-
-
-
- extraction_area
- extraction area
- Identifies whether to extract cells inside or outside the input points. INSIDE — A keyword specifying that the cell in which the selected point falls will be written to the output raster. All cells outside the box will receive NoData on the output raster. OUTSIDE — A keyword specifying that the cells outside the input points should be selected and written to the output raster.
-
-
-
-
- INSIDE
- OUTSIDE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByPolygon.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByPolygon.xml
deleted file mode 100644
index fc8fd2c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByPolygon.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractbypolygon
- ExtractByPolygon_sa
- Extracts the cells of a raster based on a polygon. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in_raster
- The input raster from which cells will be extracted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- polygon
- polygon
- Polygon that defines the area to be extracted. X,Y coordinates define the vertices of the polygon.
-
-
-
-
-
-
- extraction_area
- extraction area
- Identifies whether to extract cells inside or outside the input polygon. INSIDE — A keyword specifying that the cells inside the input polygon should be selected and written to the output raster. All cells outside the polygon will receive NoData values on the output raster. OUTSIDE — A keyword specifying that the cells outside the input polygon should be selected and written to the output raster. All cells inside the polygon will receive NoData values on the output grid.
-
-
-
-
- INSIDE
- OUTSIDE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByRectangle.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByRectangle.xml
deleted file mode 100644
index 8dd1d46..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractByRectangle.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractbyrectangle
- ExtractByRectangle_sa
- Extracts the cells of a raster based on a rectangle. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- inp raster
- The input raster from which cells will be extracted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- rectangle
- rectangle
- X minimum and y minimum define the lower-left coordinates of the area to be extracted, and x maximum and y maximum define the upper-right coordinates.
-
-
-
-
-
-
- extraction_area
- extraction area
- Identifies whether to extract cells inside or outside the input rectangle. INSIDE — A keyword specifying that the cells inside the input rectangle should be selected and written to the output raster. All cells outside the rectangle will receive NoData values on the output raster. OUTSIDE — A keyword specifying that the cells outside the input rectangle should be selected and written to the output raster. All cells inside the rectangle will receive NoData values on the output raster.
-
-
-
-
- INSIDE
- OUTSIDE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractValuesToPoints.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractValuesToPoints.xml
deleted file mode 100644
index e6cacbc..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/ExtractValuesToPoints.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.extractvaluestopoints
- ExtractValuesToPoints_sa
- Extracts the cell values of a raster based on a set of points. Uses ArcObjects library - Spatial Analyst
-
-
- in_point_feature
- in point feature
- The input point features to which you want to add raster values.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- in_raster
- in raster
- The name of a raster dataset whose values you want to add to the input point features.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- interpolate_values
- interpolatie values
- Specifies whether or not interpolation will be used. NONE — No interpolation will be applied; the value of the cell center will be used. INTERPOLATE — The value of the cell will be calculated from the adjacent cells with valid values using bilinear interpolation. NoData values will be ignored in the interpolation unless all adjacent cells are NoData.
-
-
-
-
-
-
-
- add_attributes
- interpolation as boolean
- Determines if the raster attributes are written to the output point feature dataset. VALUE_ONLY — Only the value of the input raster is added to the point attributes. This is the default. ALL — All the fields from the input raster (except Count) will be added to the point attributes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/Sample.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/Sample.xml
deleted file mode 100644
index 365750c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Extraction/Sample.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.extraction.sample
- Sample_sa
- Creates a table that shows the values of cells from a raster, or set of rasters, for defined locations. The locations are defined by raster cells or by a set of points. Uses ArcObjects library - Spatial Analyst
-
-
- in_location_data
- in location data
- Data identifying positions at which you want a sample taken. This can be a raster or a point feature dataset.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_rasters
- in rasters
- The rasters whose values will be sampled based on the input location data.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- resampling_type
- resampling type
- Resampling algorithm used when sampling a raster. NEAREST — Nearest neighbor assignment. BILINEAR — Bilinear interpolation. CUBIC — Cubic convolution.
-
-
-
-
- NEAREST
- BILINEAR
- CUBIC
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Aggregate.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Aggregate.xml
deleted file mode 100644
index b26829c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Aggregate.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.generalization.aggregate
- Aggregate_sa
- Generates a reduced resolution version of a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster to aggregate.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- cell factor
- cell factor
- The factor by which to multiply the cell size of the input raster to obtain the desired resolution for the output raster. For example, a cell_factor of three would result in an output cell size three times larger than that of the input raster. The cell_factor must be an integer greater than one.
-
-
-
-
-
-
- aggregation type
- aggregation type
- Establishes how the value for each output cell will be determined. The output value for each cell can be the sum, maximum, mean, median, or minimum value of the input cells that the coarser output cell will encompass. Sum is the default value.
-
-
-
- SUM
- MAXIMUM
- MEAN
- MINIMUM
- MEDIAN
-
-
-
-
- extent_handling
- extent handling
- Defines how to handle the boundaries of the input raster when its rows or columns are not a multiple of the cell factor. If the number of rows and columns in the input grid is a multiple of the cell_factor, these keywords are not used. EXPAND — Expands the bottom or right boundaries of the input raster so the total number of cells in a row or column is a multiple of the cell_factor. Expanded cells are given a value of NoData. With this option, the output raster can cover a larger spatial extent than the input raster. TRUNCATE — Reduces the number of rows or columns in the output raster by one. This will truncate the remaining cells on the bottom or right boundaries of the input raster, making the number of rows or columns in the input raster a multiple of the cell_factor. With this option, the output raster can cover a smaller spatial extent than the input raster.
-
-
-
-
-
-
-
- ignore_nodata
- ignore nodata
- Denotes whether NoData values are ignored by the aggregation calculation. DATA — Specifies that if NoData values exist for any of the cells that fall within the spatial extent of a larger cell on the output raster, the NoData values will be ignored when determining the value for output cell locations. Only input cells within the extent of the output cell that have data values will be used in determining the value of the output cell. NODATA — Specifies that if any cell that falls within the spatial extent of a larger cell on the output raster has a value of NoData, the value for that output cell location will be NoData. When the NODATA keyword is used, it is implied that when cells within an aggregation contain the NoData value, there is insufficient information to perform the specified calculations necessary to determine an output value.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/BoundaryClean.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/BoundaryClean.xml
deleted file mode 100644
index 76b8082..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/BoundaryClean.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.generalization.boundaryclean
- BoundaryClean
- Smoothes the boundary between zones by expanding and shrinking it. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster to which Boundary Clean is applied.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- sort_type
- sort type
- Specifies the type of sorting. This determines the priority of cells to expand into their neighbors. NO_SORT — Does no sorting by size. Zones with larger values have a higher priority to expand into zones with smaller values. This is the default. DESCEND — Sorts zones in descending order by size. Zones with larger total areas have a higher priority to expand into zones with smaller total areas. ASCEND — Sorts zones in ascending order by size. Zones with smaller total areas have a higher priority to expand into zones with larger total areas.
-
-
-
-
- NO_SORT
- DESCEND
- ASCEND
-
-
-
-
- number_of_runs
- number of runs
- Specifies the number of directions in which the expansion and shrinking will take place. TWO_WAY — Performs expansion and shrinking according to sorting type, then performs an additional shrinking and expansion with the priority reversed. This is the default. ONE_WAY — Performs expansion and shrinking once, according to sorting type.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Expand.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Expand.xml
deleted file mode 100644
index 150ec17..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Expand.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.generalization.expand
- Expand_sa
- Expands specified zones of a raster by a specified number of cells. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster whose zones are expanded. It must be of integer type.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_cells
- number cells
- The number of cells to expand each specified zone by.
-
-
-
-
-
-
- zone_values
- zone values
- The list of zone values to expand.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/MajorityFilter.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/MajorityFilter.xml
deleted file mode 100644
index e3885d6..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/MajorityFilter.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.generalization.majorityfilter
- MajorityFilter_sa
- Replaces cells in a raster based on the majority of their contiguous neighboring cells. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster that Majority Filter will be applied to. It must be of integer type.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_neighbors
- number neighbors
- The number of neighboring cells to use in the kernel of the filter. FOUR — The kernel of the filter will be the four direct (orthogonal) neighbors to the present cell. This is the default. EIGHT — The kernel of the filter will be the eight nearest neighbors (a 3 by 3 window) to the present cell.
-
-
-
-
- FOUR
- EIGHT
-
-
-
-
- majority_definition
- majority definition
- The number of contiguous (spatially connected) cells that must be of the same value before a replacement will occur. MAJORITY — A majority of cells must have the same value and be contiguous. Three out of four or five out of eight connected cells must have the same value. HALF — Half of the cells must have the same value and be contiguous. Two out of four or four out of eight connected cells must have the same value. Using the Half setting will have a more smoothing effect.
-
-
-
-
- MAJORITY
- HALF
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Nibble.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Nibble.xml
deleted file mode 100644
index cbba9f4..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Nibble.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.generalization.nibble
- Nibble_sa
- Replaces cells of raster corresponding to a mask with the values of the nearest neighbors. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster that Nibble will be applied to. It must be of integer type.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_mask_raster
- in mask raster
- The raster used as the mask. Cells with NoData as their value will be nibbled in the in_raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- nibble_values
- nibble values
- Keywords defining if NoData values in the in_raster are allowed to nibble into the area defined by the in_mask_raster. ALL — Specifies that the nearest neighbor value will be used whether it is NoData or another data value in the in_raster. NoData values in the in_raster are free to nibble into areas defined in the in_mask_raster if they are the nearest neighbor. DATAONLY — Specifies that only data values are free to nibble into areas defined in the in_mask_raster. NoData values in the in_raster are not allowed to nibble into areas defined in the in_mask_raster even if they are the nearest neighbor.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/RegionGroup.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/RegionGroup.xml
deleted file mode 100644
index 6d558d4..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/RegionGroup.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.generalization.regiongroup
- RegionGroup_sa
- For each cell in the output, Regiongroup records the identify of the connected region to which that cell belongs.A unique number is assigned to each region. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster that Region Group will be applied to. It must be of integer type.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_neighbors
- number neighbors
- The number of neighboring cells to use in evaluating connectivity between cells. FOUR — Defines connectivity between cells of the same value only if the cells are directly to the right or left or above or below each other — the four nearest neighbors. If two cells with the same value are diagonal from one another, they are not considered connected. EIGHT — Defines connectivity between cells of the same value if they are within the immediate eight-cell neighborhood (eight nearest neighbors) of each other. This includes to the right or left, above or below, or diagonal to each other.
-
-
-
-
- FOUR
- EIGHT
-
-
-
-
- zone_connectivity
- zone connectivity
- Defines which cell values should be considered when testing for connectivity. WITHIN — Tests connectivity between input values that are the same within the same zone. The only cells that can be grouped are cells from the same zone (value) that meet the spatial requirements of connectivity specified by the FOUR and EIGHT keywords. CROSS — Tests connectivity by the spatial requirements specified by the keywords FOUR or EIGHT between cells with any values except the excluded value identified by the argument {excluded_value} if one is specified. A value for the {excluded_value} argument must be input when CROSS is used.
-
-
-
- WITHIN
- CROSS
-
-
-
-
- add_link
- add link
- Specifies whether a link field is added to the table of the output. ADD_LINK — An ADD_LINK item will be added to the table of the output raster. The ADD_LINK item stores the original values for each newly created zone, from disconnected regions, from the input raster before they are regrouped. NO_LINK — The attribute table for the output grid will only contain the Value and Count items.
-
-
-
-
-
-
- excluded_value
- excluded value
- Identifies a value such that if a cell location contains the value, no spatial connectivity will be evaluated regardless of the keyword specified (FOUR or EIGHT). Cells with the excluded value will be treated as NoData and are eliminated from calculations. Cell locations that contain an excluded value will receive zero for the location on the output raster. The excluded value is similar to the concept of a background value or setting a mask for a single function on the Environment Settings/Raster Settings dialog box. It is particularly useful in conjunction with the CROSS keyword and must be specified if the CROSS keyword is specified.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Shrink.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Shrink.xml
deleted file mode 100644
index 1e1609b..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Shrink.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.generalization.shrink
- Shrink_sa
- Shrinks the selected zones by a specified number of cells. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster that Shrink will be applied to. It must be of integer type.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_cells
- number cells
- The number of cells by which to shrink each specified zone.
-
-
-
-
-
-
- zone_values
- zone values
- List of zone values to shrink.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Thin.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Thin.xml
deleted file mode 100644
index a21151b..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Generalization/Thin.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.generalization.thin
- Thin_sa
- Thins rasterized linear features by reducing the number of cells representing the width of the features. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster that Thin will be applied to. It must be of integer type.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- background_value
- background value
- Specifies the cell value that will identify the background cells. The linear features are formed from the foreground cells. ZERO — The background is composed of cells of zero or less, or NoData. All cells whose value is greater than zero are the foreground. NODATA — The background is composed of NoData cells. All cells with valid values belong to the foreground.
-
-
-
-
- ZERO
- NODATA
-
-
-
-
- filter
- filter
- Specifies whether a filter will be applied as the first phase of thinning. NOFILTER — No filter will be applied. FILTER — The raster will be filtered to smooth the boundaries between foreground and background cells. This option will eliminate minor irregularities from the output raster.
-
-
-
-
-
-
-
- corners
- corners
- Specifies whether round or sharp turns will be made at turns or junctions. It is also used during the vector conversion process to spline curves or create sharp intersections and corners. ROUND — Attempts to smooth corners and junctions. This is best for vectorizing natural features, such as contours or streams. SHARP — Attempts to preserve rectangular corners and junctions. This is best for vectorizing manmade features, such as streets.
-
-
-
- ROUND
- SHARP
-
-
-
-
- maximum_thickness
- maximum thickness
- The maximum thickness, in map units, of linear features in the input grid. The default thickness is ten times the cell size.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/DarcyFlow.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/DarcyFlow.xml
deleted file mode 100644
index 231947a..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/DarcyFlow.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.groundwater.darcyflow
- DarcyFlow_sa
- Calculates the groundwater volume balance residual and other outputs for steady flow in an aquifer. Uses ArcObjects library - Spatial Analyst
-
-
- in_head_raster
- in head raster
- The input raster where each cell value represents the groundwater head elevation at that location. The head is typically an elevation above some datum, such as mean sea level.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_porosity_raster
- in porosity raster
- The input raster where each cell value represents the effective formation porosity at that location.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_thickness_raster
- in thickness raster
- The input raster where each cell value represents the saturated thickness at that location. The value for the thickness is interpreted from geological properties of the aquifer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_transmissivity_raster
- in transmissivity raster
- The input raster where each cell value represents the formation transmissivity at that location. The transmissivity of an aquifer is defined as the hydraulic conductivity K times the saturated aquifer thickness b, as units of length squared over time. This property is generally estimated from field experimental data such as pumping tests. Tables 1 and 2 in How Darcy Flow and Darcy Velocity work list ranges of hydraulic conductivities for some generalized geologic materials.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/DarcyVelocity.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/DarcyVelocity.xml
deleted file mode 100644
index 55dfda1..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/DarcyVelocity.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.groundwater.darcyvelocity
- DarcyVelocity_sa
- Calculates the groundwater seepage velocity vector (direction and magnitude) for steady flow in an aquifer. Uses ArcObjects library - Spatial Analyst
-
-
- in_head_raster
- in head raster
- The input raster where each cell value represents the groundwater head elevation at that location. The head is typically an elevation above some datum, such as mean sea level.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_porosity_raster
- in porosity raster
- The input raster where each cell value represents the effective formation porosity at that location.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_thickness_raster
- in thickness raster
- The input raster where each cell value represents the saturated thickness at that location. The value for the thickness is interpreted from geological properties of the aquifer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_transmissivity_raster
- in transmissivity raster
- The input raster where each cell value represents the formation transmissivity at that location. The transmissivity of an aquifer is defined as the hydraulic conductivity K times the saturated aquifer thickness b, as units of length squared over time. This property is generally estimated from field experimental data, such as pumping tests. Tables 1 and 2 in How Darcy Flow and Darcy Velocity work list ranges of hydraulic conductivities for some generalized geologic materials.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/ParticleTrack.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/ParticleTrack.xml
deleted file mode 100644
index 5b423a7..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/ParticleTrack.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.groundwater.particletrack
- ParticleTrack_sa
- Calculates the path of a particle through a velocity field, returning an ASCII file of particle tracking data and, optionally, a coverage of track information. Uses ArcObjects library - Spatial Analyst
-
-
- in_direction_raster
- input direction raster
- Input direction of the velocity raster. Directions are expressed in compass coordinates, in degrees clockwise from north. This can be created by the Darcy Flow function. Direction values must be floating point.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_magnitude_raster
- input magnitude raster
- An input raster where each cell value represents the magnitude of the seepage velocity vector (average linear velocity) at the center of the cell. Units are length/time. This can be created by the Darcy Flow function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- source_point
- source point
- The location of the source point from which to begin the particle tracking. This is entered as numbers identifying the x,y coordinates of the position in map units.
-
-
-
-
-
-
- step length
- step_length
- The step length to be used for calculating the particle track. The default is one half the cell size. Units are length.
-
-
-
-
-
-
- tracking_time
- tracking time
- Maximum elapsed time for particle tracking. Particle Track will follow the track until either this time is met or the particle migrates off the raster or into a depression. The default value is infinity. Units are time.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/PorousPuff.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/PorousPuff.xml
deleted file mode 100644
index bd4c341..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Groundwater/PorousPuff.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.groundwater.porouspuff
- PorousPuff_sa
- Calculates the time-dependent, two-dimensional concentration distribution in mass per volume of a solute introduced instantaneously and at a discrete point into a vertically mixed aquifer. Uses ArcObjects library - Spatial Analyst
-
-
- input_track_file
- input track file
- The input particle track path file. This is an ASCII text file containing information about the position, the local velocity vector, and the cumulative length and time of travel along the path. This file is generated using Particle Track.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- in_porosity_raster
- in porosity raster
- The input raster where each cell value represents the effective formation porosity at that location.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_thickness_raster
- in thickness raster
- The input raster where each cell value represents the saturated thickness at that location. The value for the thickness is interpreted from geological properties of the aquifer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- mass
- mass
- A value for the amount of mass released instantaneously at the source point, in units of mass.
-
-
-
-
-
-
- desipersion_time
- dispersion time
- A value representing the time horizon for dispersion of the solute, in units of time. The time must be less than or equal to the maximum time in the track file. If the requested time exceeds the available time from the track file, the function is aborted. The default time is the latest time (corresponding to the terminal point) in the track file.
-
-
-
-
-
-
- longitudinal_dispersivity
- longitudinal dispersivity
- A value representing the dispersivity parallel to the flow direction. For details on how the default value is determined, and how it relates to the scale of the study, see the How Porous Puff works section in the documentation.
-
-
-
-
-
-
- dispersivity_ratio
- dispersivity ratio
- A value representing the ratio of longitudinal dispersivity over transverse dispersivity. Transverse dispersivity is perpendicular to the flow direction in the same horizontal plane. The default value is three.
-
-
-
-
-
-
- retardation_factor
- retardation factor
- A dimensionless value representing the retardation of the solute in the aquifer. Retardation varies between one and infinity, with one corresponding to no retardation. The default value is one.
-
-
-
-
-
-
- decay_coefficient
- decay coefficient
- Decay coefficient for solutes undergoing first order exponential decay (for example, radionuclides) in units of inverse time. The default is zero, corresponding to no decay.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Basin.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Basin.xml
deleted file mode 100644
index e6742d9..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Basin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.basin
- Basin_sa
- Creates a raster delineating all drainage basins. Uses ArcObjects library - Spatial Analyst
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that shows the direction of flow out of each cell. This is created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Fill.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Fill.xml
deleted file mode 100644
index cc549e3..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Fill.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.fill
- Fill_sa
- Fills sinks in a surface raster to remove small imperfections in the data. Uses ArcObjects library - Spatial Analyst
-
-
- in_surface_raster
- in surface raster
- The input raster representing a continuous surface.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- z_limit
- z limit
- Maximum elevation difference between a sink and its pour point to be filled. If the difference in z-values between a sink and its pour point is greater than the {z_limit}, that sink will not be filled. The default is to fill all sinks, regardless of depth.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowAccumulation.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowAccumulation.xml
deleted file mode 100644
index a7b461e..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowAccumulation.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.flowaccumulation
- FlowAccumulation_sa
- Creates a raster of accumulated flow to each cell. Uses ArcObjects library - Spatial Analyst
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This can be created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_weight_raster
- in weight raster
- An optional input raster for applying a weight to each cell. If no {in_weight_raster} is specified, a default weight of one will be applied to each cell. For each cell in the output raster, the result will be the number of cells that flow into it.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- data_type
- output data type
- The output accumulation raster can be integer or floating point type. FLOAT — The output raster will be floating point type. This is the default. INTEGER — The output raster will be integer type.
-
-
-
-
- FLOAT
- INTEGER
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowDirection.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowDirection.xml
deleted file mode 100644
index 988acce..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowDirection.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.flowdirection
- FlowDirection_sa
- Creates a raster of flow direction from each cell to its steepest downslope neighbor. Uses ArcObjects library - Spatial Analyst
-
-
- in_surface_raster
- in surface raster
- The input raster representing a continuous surface.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- force_flow
- force flow
- Specifies if edge cells will always flow outward or follow normal flow rules. NORMAL — If the maximum drop on the inside of an edge cell is greater than zero, the flow direction will be determined as usual; otherwise, the flow direction will be toward the edge. Cells that should flow from the edge of the surface raster inward will do so. FORCE — All cells at the edge of the surface raster will flow outward from the surface raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowLength.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowLength.xml
deleted file mode 100644
index 5911d30..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/FlowLength.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.flowlength
- FlowLength_sa
- Calculates distance or weighted distance along a flow path. Uses ArcObjects library - Spatial Analyst
-
-
- in:flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This can be created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_weight_raster
- in weight raster
- The weight to be assigned to each cell. If no {in_weight_raster} is specified, a default weight of one will be applied to each cell. For each cell in the output raster, the result will be the number of cells that flow into it.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- direction_measurement
- direction measurement
- The direction of measurement along the flow path. DOWNSTREAM — Calculates the downslope distance along the flow path, from each cell to a sink or outlet on the edge of the raster. UPSTREAM — Calculates the longest upslope distance along the flow path, from each cell to the top of the drainage divide.
-
-
-
- DOWNSTREAM
- UPSTREAM
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Sink.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Sink.xml
deleted file mode 100644
index 9c9e846..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Sink.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.sink
- Sink_sa
- Creates a raster identifying all sinks or areas of internal drainage. Uses ArcObjects library - Spatial Analyst
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This is created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/SnapPourPoint.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/SnapPourPoint.xml
deleted file mode 100644
index bdbc104..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/SnapPourPoint.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.snappourpoint
- SnapPourPoint_sa
- Snaps pour points to the cell of highest flow accumulation within a specified distance. Uses ArcObjects library - Spatial Analyst
-
-
- in_pour_point_data
- in pour point data
- The input pour point locations that are to be snapped. For rasters, all cells that are not NoData (i.e. have a value) will be considered pour points and will be snapped. For point datasets, specifies the locations of cells that will be snapped.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_accumulation_raster
- in accumulation raster
- The input flow accumulation raster. This can be created with the Flow Accumulation function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- pour_point_field
- pour point field
- Field used to assign values to the pour point locations. If in_pour_point_data is a raster, use Value. If in_pour_point_data is a feature, use a numeric field. If the field contains floating-point values, they will be truncated into integers.
-
-
-
-
-
-
- snap_distance
- snap distance
- Maximum distance, in map units, to search for a cell of higher accumulated flow.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamLink.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamLink.xml
deleted file mode 100644
index 57d46c5..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamLink.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.streamlink
- StreamLink_sa
- Assigns unique values to sections of a raster linear network between intersections. Uses ArcObjects library - Spatial Analyst
-
-
- in_stream_raster
- in stream raster
- An input raster that represents a linear stream network.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This is created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamOrder.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamOrder.xml
deleted file mode 100644
index 306855f..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamOrder.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.streamorder
- StreamOrder_sa
- Assigns a numeric order to segments of a raster representing branches of a linear network. Uses ArcObjects library - Spatial Analyst
-
-
- in_stream_raster
- in stream raster
- An input raster that represents a linear stream network.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This can be created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- order_method
- order method
- The method used for assigning stream order. STRAHLER — The method of stream ordering proposed by Strahler in 1952. Stream order only increases when streams of the same order intersect. Therefore, the intersection of a first-order and second-order link will remain a second-order link, rather than create a third-order link. This is the default. SHREVE — The method of stream ordering by magnitude, proposed by Shreve in 1967. All links with no tributaries are assigned a magnitude (order) of one. Magnitudes are additive downslope. When two links intersect, their magnitudes are added and assigned to the downslope link.
-
-
-
-
- STRAHLER
- SHREVE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamToFeature.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamToFeature.xml
deleted file mode 100644
index 9753bb5..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/StreamToFeature.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.streamtofeature
- StreamToFeature_sa
- Converts a raster representing a linear network to features representing the linear network. Uses ArcObjects library - Spatial Analyst
-
-
- in_stream_raster
- in stream raster
- An input raster that represents a linear stream network.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This can be created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- simplify
- simplify
- Specifies whether weeding is used. SIMPLIFY — The feature is weeded to reduce the number of vertices. The Douglas-Puecker algorithm for line generalization is used, with a tolerance of sqrt(0.5) * cell size. NO_SIMPLIFY — No weeding is applied. By default, weeding is applied.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Watershed.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Watershed.xml
deleted file mode 100644
index 9f2d5de..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Hydrology/Watershed.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.hydrology.watershed
- Watershed_sa
- Determines the contributing area above a set of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_flow_direction_raster
- in flow direction raster
- The input raster that records the direction of flow out of each cell. This can be created with the Flow Direction function.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_pour_point_data
- in pour point data
- The input pour point locations. For a raster, this represents cells above which the contributing area, or catchment, will be determined. All cells that are not NoData will be used as source cells. For a feature dataset, this represents locations above which the contributing area, or catchment, will be determined.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- pour_point_field
- pour point field
- Field used to assign values to the pour point locations. If in_pour_point_data is raster, use Value. If in_pour_point_data is feature, use the first numeric field.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/NaturalNeighbor.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/NaturalNeighbor.xml
deleted file mode 100644
index e3aedb8..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/NaturalNeighbor.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.interpolation.naturalneighbor
- NaturalNeighbor_sa
- Interpolates a surface from points using a natural neighbor technique. Uses ArcObjects library - Spatial Analyst
-
-
- in_point_features
- in point features
- The input point features containing the z-values to be interpolated into a surface raster.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- z_field
- z field
- Field that holds a height or magnitude value for each point. This can be a numeric field or the Shape field if the Input point features contain z-values.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This will be the value in the Environment if it is explicitly set. Otherwise, it is the shorter of the width or the height of the extent of in_point_features in the input spatial reference, divided by 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/Spline.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/Spline.xml
deleted file mode 100644
index a60e77d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/Spline.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.interpolation.spline
- Spline_sa
- Interpolates a surface from points using a minimum curvature spline technique. Uses ArcObjects library - Spatial Analyst
-
-
- in_point_features
- in point features
- The input point features containing the z-values to be interpolated into a surface raster.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- z_field
- z field
- Field that holds a height or magnitude value for each point. This can be a numeric field or the shape field, if the in_point_features contain z-values.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This will be the value in the Environment if it is explicitly set. Otherwise, it is the shorter of the width or the height of the extent of in_point_features, in the input spatial reference, divided by 250.
-
-
-
-
-
-
- spline_type
- spline type
- The type of spline to be used. REGULARIZED — Yields a smooth surface and smooth first derivatives. TENSION — Tunes the stiffness of the interpolant according to the character of the modeled phenomenon.
-
-
-
-
- REGULARIZED
- TENSION
-
-
-
-
- weight
- weight
- Parameter influencing the character of the surface interpolation. When the REGULARIZED option is used, it defines the weight of the third derivatives of the surface in the curvature minimization expression. If the TENSION option is used, it defines the weight of tension. The default weight is 0.1.
-
-
-
-
-
-
- number_points
- number points
- The number of points per region used for local approximation. The default is 12.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/SplineWithBarriers.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/SplineWithBarriers.xml
deleted file mode 100644
index 27a6abe..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/SplineWithBarriers.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.interpolation.splinewithbarriers
- SplineWithBarriers_sa
- Interpolates a surface, using barriers, from points using a minimum curvature spline technique. The barriers are entered as either polygon or polyline features. The barriers are entered as either polygon or polyline features. Uses ArcObjects library - Spatial Analyst
-
-
- input_point_features
- input point features
- The input point features containing z-values to be interpolated into a surface raster.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- z_field
- z field
- Field that holds a height or magnitude value for each point. This can be a numeric field or the shape field if the in_point_features contain z-values.
-
-
-
-
-
-
- Output_cell_size
- Output cell size
- The cell size at which the output raster will be created. If a value of zero is entered the shorter of the width or the height of the extent of the input point features in the input spatial reference, divided by 250, will be used as the cell size.
-
-
-
-
-
-
- input_barrier_features
- input barrier features
- The optional input barrier features to constrain the interpolation.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- smoothing_factor
- smoothing factor
- The parameter that influences the smoothing of the output surface. No smoothing is applied when the value is zero and the maximum amount of smoothing is applied when the factor equals 1. The default is 0.0.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/TopoToRaster.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/TopoToRaster.xml
deleted file mode 100644
index 619104c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/TopoToRaster.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.interpolation.topotoraster
- TopoToRaster_sa
- Interpolates a hydrologically correct surface from point, line, and polygon data. Uses ArcObjects library - Spatial Analyst
-
-
- in_topo_features
- in topo features
- The input features containing the z-values to be interpolated into a surface raster. Each feature input can have a field specified that contains the z-values, and one of six types specified. Feature Layer — The input feature dataset. {Field} — The name of the Field that stores the attributes, where appropriate. {Type} — The type of input feature dataset. There are six types of accepted inputs: POINTELEVATION — A point feature class representing surface elevations. The Field stores the elevations of the points. CONTOUR — A line feature class that represents elevation contours. The Field stores the elevations of the contour lines. STREAM — A line feature class of stream locations. All arcs must be oriented to point downstream. The feature class should only contain single arc streams. There is no Field option for Stream. SINK — A point feature class that represents known topographic depressions. Topo to Raster will not attempt to remove from the analysis any points explicitly identified as sinks. The Field used should be one that stores the elevation of the legitimate sink. If NONE is selected, only the location of the sink is used. BOUNDARY — A feature class containing a single polygon that represents the outer boundary of the output raster. Cells in the output raster outside this boundary will be NoData. This option can be used for clipping out water areas along coastlines before making the final output raster. There is no Field option for Boundary. LAKE — A polygon feature class that specifies the location of lakes. All output raster cells within a lake will be assigned to the minimum elevation value of all cells along the shoreline. There is no Field option for Lake.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- cell_size
- cell size
- Cell size for the output raster dataset. This will be the value in the environment if it is explicitly set. Otherwise, it is the shorter of the width or the height of the extent of in_point_features, in the input spatial reference, divided by 250.
-
-
-
-
-
-
- extent
- extent
- Extent for the output raster dataset. Interpolation will occur out to the x and y limits, and cells outside that extent will be NoData. For best interpolation results along the edges of the output raster, the x and y limits should be smaller than the extent of the input data by at least 10 cells on each side. X_Minimum — The default is the smallest x coordinate of all inputs. Y_Minimum — The default is the smallest y coordinate of all inputs. X_Maximum — The default is the largest x coordinate of all inputs. Y_Maximum — The default is the largest y coordinate of all inputs. The default extent is the smallest of all extents of the input feature data.
-
-
-
-
-
-
- margin
- margin
- Distance in cells to interpolate beyond the specified output extent and boundary. The value must be greater than or equal to 0 (zero). The default value is 20. If the {extent} and Boundary feature dataset are the same as the limit of the input data (the default), values interpolated along the edge of the DEM will not match well with adjacent DEM data. This is because they have been interpolated using one-half as much data as the points inside the raster, which are surrounded on all sides by input data. The Margin option allows input data beyond these limits to be used in the interpolation.
-
-
-
-
-
-
- minimum_z_value
- minimum z value
- The minimum z-value to be used in the interpolation. The default is 20 percent below the smallest of all the input values. This setting should seldom be less than zero (sea level).
-
-
-
-
-
-
- maximum_z_value
- maximum z value
- The maximum z-value to be used in the interpolation. The default is 20 percent above the largest of all input values.
-
-
-
-
-
-
- enforce
- enforce
- The type of drainage enforcement to apply. The drainage enforcement option can be set to attempt to remove all sinks or depressions so a hydrologically correct DEM can be created. If sink points have been explicitly identified as in_topo_features, these depressions will not be filled by Topo to Raster. ENFORCE — The algorithm will attempt to remove all sinks it encounters, whether they are "real" or "spurious". This is the default. NO_ENFORCE — No sinks will be filled. ENFORCE_WITH_SINK — Points identified as sinks in in_topo_features data represent known topographic depressions, and Topo to Raster will not alter them. Any sink not identified in in_topo_features is considered spurious, and the algorithm will attempt to fill it. Having more than 8,000 spurious sinks causes Topo to Raster to fail.
-
-
-
-
- ENFORCE
- NO_ENFORCE
- ENFORCE_WITH_SINK
-
-
-
-
- data_type
- data type
- The dominant elevation data type of the input feature data. CONTOUR — The dominant type of input data will be elevation contours. This is the default. SPOT — The dominant type of input will be point. Specifying the relevant selection optimizes the search method used during the generation of streams and ridges.
-
-
-
- CONTOUR
- SPOT
-
-
-
-
- maximum_iterations
- maximum iterations
- The maximum number of interpolation iterations. The number of iterations must be greater than zero. A default of 40 is normally adequate for both contour and line data. A value of 30 will clear fewer sinks. Rarely, higher values (45-50) may be useful to clear more sinks or to set more ridges and streams. Iteration ceases for each grid resolution when the maximum number of iterations has been reached.
-
-
-
-
-
-
- roughness_penality
- roughness penality
- The integrated squared second derivative as a measure of roughness. The roughness penalty must be zero or greater. If the data_type is CONTOUR, the default is zero. If the data_type is SPOT, the default is 0.5. Larger values are not normally recommended.
-
-
-
-
-
-
- discrete_error_factor
- discrete error factor
- The discrete error factor is used to adjust the amount of smoothing when converting the input data to a raster. The value must be greater than zero. The normal range of adjustment is 0.5 to 2, and the default is 1. A smaller value results in less data smoothing; a larger value causes greater smoothing.
-
-
-
-
-
-
- vertical_standard_error
- vertical standard error
- The amount of random error in the z-values of the input data. The value must be zero or greater. The default is zero. The vertical standard error may be set to a small positive value if the data has significant random (nonsystematic) vertical errors with uniform variance. In this case, set the vertical standard error to the standard deviation of these errors. For most elevation datasets, the vertical error should be set to zero, but it may be set to a small positive value to stabilize convergence when gridding point data with stream line data.
-
-
-
-
-
-
- tolerance_1
- tolerance 1
- This tolerance reflects the accuracy and density of the elevation points in relation to surface drainage. For point datasets, set the tolerance to the standard error of the data heights. For contour datasets, use one-half the average contour interval. The value must be zero or greater. The default is 2.5 if the data type is CONTOUR; zero if the data type is SPOT.
-
-
-
-
-
-
- tolerance_2
- tolerance 2
- This tolerance prevents drainage clearance through unrealistically high barriers. The value must be greater than zero. The default is 100 if the data type is CONTOUR and 200 if the data type is SPOT.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/TopoToRasterByFile.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/TopoToRasterByFile.xml
deleted file mode 100644
index b9656d5..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/TopoToRasterByFile.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.interpolation.topotorasterbyfile
- TopoToRasterByFile_sa
- Interpolates a hydrologically correct surface from point, line, and polygon data using parameters specified in a file. Uses ArcObjects library - Spatial Analyst
-
-
- in_parameter_file
- in parameter file
- The input text file containing the inputs and parameters to use for the interpolation. The file is typically originally created from a previous run of Topo to Raster with the optional output parameter file specified. In order to test the outcome of changing the parameters, it is easier to make edits to this file and re-run the interpolation than to correctly issue the Topo to Raster tool each time.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/Trend.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/Trend.xml
deleted file mode 100644
index e633e30..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Interpolation/Trend.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.interpolation.trend
- Trend_sa
- Interpolates a surface from points using a trend technique. Uses ArcObjects library - Spatial Analyst
-
-
- in_point_features
- in point features
- The input point features containing z-values to be interpolated into a surface raster.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- z_field
- z field
- Field that holds a height or magnitude value for each point. This can be a numeric field, or the Shape field if the in_point_features contain z-values. If the regression type is Logistic, the values in the field can only be 0 or 1.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This will be the value in the environment if it is explicitly set. Otherwise, it is the shorter of the width or the height of the extent of in_point_features, in the input spatial reference, divided by 250.
-
-
-
-
-
-
- order
- order
- The order of the polynomial. This must be an integer between 1 and 12. A value of 1 will fit a flat plane to the points, and a higher value will fit a more complex surface. The default is 1.
-
-
-
-
-
-
-
- regression_type
- regression type
- The type of regression to be performed. LINEAR — Polynomial regression is performed to fit a least-squares surface to the set of input points. This is applicable for continuous types of data. LOGISTIC — Logistic trend surface analysis is performed. It generates a continuous probability surface for binary, or dichotomous, types of data.
-
-
-
-
- LINEAR
- LOGISTIC
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/CellStatistics.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/CellStatistics.xml
deleted file mode 100644
index 55e12cc..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/CellStatistics.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.cellstatistics
- CellStatistics_sa
- Calculates a per-cell statistics from multiple rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_rasters_or_constants
- in rasters or constants
- A list of input rasters for which a statistic will be calculated for each cell within the Analysis window. A number can be input as an argument, but it will be converted to a raster at the current window and cell size set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- MEAN | MAJORITY | MAXIMUM | MEDIAN | MINIMUM | MINORITY | RANGE | STD | SUM | VARIETY
- MEAN | MAJORITY | MAXIMUM | MEDIAN | MINIMUM | MINORITY | RANGE | STD | SUM | VARIETY
- Statistic type to be calculated.
- MEAN — Calculates the mean (average) of the inputs.
- MAJORITY — Calculates the majority (value that occurs most often) of the inputs.
- MAXIMUM — Calculates the maximum (largest value) of the inputs.
- MEDIAN — Calculates the median of the inputs.
- MINIMUM — Calculates the minimum (smallest value) of the inputs.
- MINORITY — Calculates the minority (value that occurs least often) of the inputs.
- RANGE — Calculates the range (difference between largest and smallest value) of the inputs.
- STD — Calculates the standard deviation of the inputs.
- SUM — Calculates the sum (total of all values) of the inputs.
- VARIETY — Calculates the variety (number of unique values) of the inputs.
-
-
-
-
- MEAN
- MAJORITY
- MAXIMUM
- MEDIAN
- MINIMUM
- MINORITY
- RANGE
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Combine.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Combine.xml
deleted file mode 100644
index 7621db0..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Combine.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.combine
- Combine_sa
- Combines multiple rasters so a unique output value is assigned to each unique combination of input values. Uses ArcObjects library - Spatial Analyst
-
-
- in_rasters
- in rasters
- The list of input rasters to be combined.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/EqualToFrequency.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/EqualToFrequency.xml
deleted file mode 100644
index e3d462d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/EqualToFrequency.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.equaltofrequency
- EqualToFrequency_sa
- Evaluates the number of times a set of rasters is equal to another raster on a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_value_raster
- input value raster
- Input raster defining the value that determines the number of times the set of rasters is equal to it.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_rasters
- in rasters
- The input defines the argument list to evaluate the number of occurrences in which the values of the argument list are equal to the first argument for each cell location. A number can be input as an argument, but it will be converted to a raster at the current window and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/GreaterThanFrequency.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/GreaterThanFrequency.xml
deleted file mode 100644
index 79d0371..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/GreaterThanFrequency.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.greaterthanfrequency
- GreaterThanFrequency_sa
- Evaluates the number of times a set of rasters is greater than another raster on a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_value_raster
- in value raster
- The raster that will be compared against the list of input rasters. For each cell location in this raster, the number of occurrences (frequency) where a raster in the input list is greater than it is counted.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_rasters
- in rasters
- The list of rasters that will be compared against the value raster. The frequency is the number of occurrences where (on a cell-by-cell basis) the cell values from the list rasters are greater than that of the value raster. A number can be input as an argument, but it will be converted to a raster at the current window and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/HighestPosition.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/HighestPosition.xml
deleted file mode 100644
index ee6638e..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/HighestPosition.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.highestposition
- HighestPosition_sa
- Determines the position of a raster with the maximum value in a set of rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_rasters_or_constants
- in rasters or constants
- A list of input rasters for which the position of the input with the highest value will be determined for each cell within the Analysis window. A number can be input as an argument, but it will be converted to a raster at the current window and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/LessThanFrequency.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/LessThanFrequency.xml
deleted file mode 100644
index 3f2722f..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/LessThanFrequency.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.lessthanfrequency
- LessThanFrequency_sa
- Evaluates the number of times a set of rasters is less than another raster on a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_value_raster
- in value raster
- Input raster defining the value that determines the number of times the set of rasters is less than it.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_rasters
- in rasters
- The input defines the argument list to evaluate the number of occurrences in which the values of the argument list are less than the first argument for each cell location. A number can be input as an argument, but it will be converted to a raster at the current window and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/LowestPosition.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/LowestPosition.xml
deleted file mode 100644
index 525094a..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/LowestPosition.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.lowestposition
- LowestPosition_sa
- Determines the position of a raster with the minimum value in a set of rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_rasters_or_constants
- in rasters or constants
- A list of input rasters for which the position of the input with the lowest value will be determined for each cell within the Analysis window. A number can be input as an argument, but it will be converted to a raster at the current window, and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Popularity.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Popularity.xml
deleted file mode 100644
index 4523e18..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Popularity.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.popularity
- Popularity_sa
- Determines the value in an argument list that is at a certain level of popularity on a cell-by-cell basis. The particular level of popularity (the number of occurrences of each value) is specified by the first argument. Uses ArcObjects library - Spatial Analyst
-
-
- in_popularity_raster_or_constant
- in popularity raster or constant
- Input raster or constant value defining the popularity position to be returned.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_rasters
- in rasters
- Input rasters. The input defines the argument list to evaluate the popularity of the values for each cell location. A number can be input as an argument, but it will be converted to a raster at the current extent and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Rank.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Rank.xml
deleted file mode 100644
index 56acffe..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Local/Rank.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.local.rank
- Rank_sa
- Returns the value of a set of rasters based on a rank level specified by another raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_rank_raster_or_constant
- in rank raster or constant
- Input raster or constant value defining the rank position to be returned.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_rasters
- in rasters
- Input rasters. The input defines the argument list to identify the value for the rank, defined by the first argument for each cell location. A number can be input as an argument, but it will be converted to a raster at the current extent and its cell size will be set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Abs.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Abs.xml
deleted file mode 100644
index c10948d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Abs.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.abs
- Abs_sa
- Calculates the absolute value of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster to calculate the absolute values for.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseAnd.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseAnd.xml
deleted file mode 100644
index d3b295e..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseAnd.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide.bitwise.bitwiseand
- BitwiseAnd_sa
- Performs a Bitwise And operation on the binary values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input raster to use in the bitwise And operation. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The second input raster to use in the bitwise And operation. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseLeftShift.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseLeftShift.xml
deleted file mode 100644
index 86cbf4a..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseLeftShift.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide.bitwise.bitwiseleftshift
- BitwiseLeftShift_Sa
- Performs a Bitwise Left Shift operation on the binary values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The input raster on which to perform the shift. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The input raster defining the number of positions to shift the bits. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseNot.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseNot.xml
deleted file mode 100644
index 620ad63..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseNot.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide.bitwise.bitwisenot
- BitwiseNot_sa
- Performs a Bitwise Complement operation on the binary values of an input raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input raster to perform a bitwise Not (complement) operation on. The input can be integer or floating-point, but floating point values will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseOr.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseOr.xml
deleted file mode 100644
index ba8a218..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseOr.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide.bitwise.bitwiseor
- BitwiseOr_sa
- Performs a Bitwise Or operation on the binary values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input raster to use in the bitwise Or operation. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The second input raster to use in the bitwise Or operation. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseRightShift.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseRightShift.xml
deleted file mode 100644
index 60365e5..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseRightShift.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide.bitwise.bitwiserightshift
- BitwiseRightShift_sa
- Performs a Bitwise Right Shift operation on the binary values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The input raster on which to perform the shift. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The input raster defining the number of positions to shift the bits. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseXOr.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseXOr.xml
deleted file mode 100644
index 249e9ac..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Bitwise/BitwiseXOr.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide.bitwise.bitwisexor
- BitwiseXOr_sa
- Performs a Bitwise XOr operation on the binary values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input raster to use in the bitwise XOr operation. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The second input raster to use in the bitwise XOr operation. The input can be integer or floating-point, but floating-point will be converted to integer before the bitwise operation is performed.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Divide.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Divide.xml
deleted file mode 100644
index a7d11dc..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Divide.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.divide
- Divide_sa
- Divides the values of two rasters on a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The numerator as an input raster or constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The denominator as an input raster or constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp.xml
deleted file mode 100644
index 6cbcb8b..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.exp
- Exp_sa
- Calculates the base e exponential of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster or constant value for which to find the base e exponential.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp10.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp10.xml
deleted file mode 100644
index 487ff60..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp10.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.exp10
- Exp10_sa
- Calculates the base 10 exponential of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster or constant value for which to find the base 10 exponential.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp2.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp2.xml
deleted file mode 100644
index c5e0a30..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Exp2.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.exp2
- Exp2_sa
- Calculates the base 2 exponential of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster or constant value for which to find the base 2 exponential.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Float.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Float.xml
deleted file mode 100644
index e3cc9d5..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Float.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.float
- Float_sa
- Converts each cell value of a raster into a floating-point representation. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster or constant value to be converted to floating point.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Int.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Int.xml
deleted file mode 100644
index 1d1d123..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Int.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.int
- Int_sa
- Converts each cell value of a raster to an integer by truncation. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster or constant value to be converted to integer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Ln.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Ln.xml
deleted file mode 100644
index 313a2b5..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Ln.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.ln
- Ln_sa
- Calculates the natural logarithm (base e) of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- Input raster or constant value for which to find the natural logarithm (Ln).
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Log10.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Log10.xml
deleted file mode 100644
index 40021dc..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Log10.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.log10
- Log10_sa
- Calculates the base 10 logarithm of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- input raster
- Input raster or constant value for which to find the base 10 logarithm.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Log2.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Log2.xml
deleted file mode 100644
index dbc6c7d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Log2.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.log2
- Log2_sa
- Calculates the base 2 logarithm of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant value
- Input raster or constant value for which to find the base 2 logarithm.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanAnd.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanAnd.xml
deleted file mode 100644
index 3b52a1b..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanAnd.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.booleanand
- BooleanAnd_sa
- Performs a Boolean And operation on the cell values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input to use in the boolean And operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The second input to use in the boolean And operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanNot.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanNot.xml
deleted file mode 100644
index 9b8dc1c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanNot.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.booleannot
- BooleanNot_sa
- Performs a Boolean Complement (Not) operation on the cell values of the input raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to use in the boolean Not operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanOr.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanOr.xml
deleted file mode 100644
index 36530e9..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanOr.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.booleanor
- BooleanOr_sa
- Performs a Boolean Or operation on the cell values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input to use in the boolean Or operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The second input to use in the boolean Or operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanXOr.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanXOr.xml
deleted file mode 100644
index b18a718..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/BooleanXOr.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.booleanxor
- BooleanXOr_sa
- Performs a Boolean XOr operation on the cell values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input to use in the boolean XOr operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value
- The second input to use in the boolean XOr operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialAnd.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialAnd.xml
deleted file mode 100644
index 5c6d55a..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialAnd.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.combinatorialand
- CombinatorialAnd_sa
- Performs a Combinatorial And operation on the cell values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The first input to use in the combinatorial And operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The second input to use in the combinatorial And operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialOr.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialOr.xml
deleted file mode 100644
index 1c572fc..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialOr.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.combinatorialor
- CombinatorialOr_sa
- Performs a combinatorial Or operation on the cell values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The first input to use in the combinatorial Or operation. The input can be a raster or a constant value, but must be a positive integer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The second input to use in the combinatorial Or operation. The input can be a raster or a constant value, but must be a positive integer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialXOr.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialXOr.xml
deleted file mode 100644
index 153d536..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/CombinatorialXOr.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.combinatorialxor
- CombinatorialXOr_sa
- Performs a combinatorial XOr operation on the cell values of two input rasters. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The first input to use in the combinatorial XOr operation. The input can be a raster or a constant value, but must be a positive integer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The second input to use in the combinatorial XOr operation. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Diff.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Diff.xml
deleted file mode 100644
index 32a0f53..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Diff.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.diff
- Diff_sa
- Determines which values from the first input are logically different from the values of the second input on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input to which the second input will be compared. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input to which the first input will be compared. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/EqualTo.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/EqualTo.xml
deleted file mode 100644
index 118065f..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/EqualTo.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.equalto
- EqualTo_sa
- Performs a relational equal-to operation on two inputs on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input that will be compared to for equality by the second input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input that will be compared from for equality by the first input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/GreaterThan.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/GreaterThan.xml
deleted file mode 100644
index 47e9460..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/GreaterThan.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.greaterthan
- GreaterThan_sa
- Returns 1 for cells where the first raster is greater than the second raster and 0 for cells if it is not. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input being tested to determine if it is greater than the second input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input against which the first input is tested to be greater than. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/GreaterThanEqual.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/GreaterThanEqual.xml
deleted file mode 100644
index 72375ed..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/GreaterThanEqual.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.greaterthanequal
- GreaterThanEqual_sa
- Returns 1 for the cells where the first raster is greater than or equal the second raster and 0 for cells if it is not. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input being tested to determine if it is greater than or equal to the second input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input against which the first input is tested to be greater than or equal to. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/InList.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/InList.xml
deleted file mode 100644
index 5ff6043..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/InList.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.inlist
- InList_sa
- Determines which values from the first input raster are contained in the other inputs, on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- The input raster or constant value whose values will be looked for in the input list.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constants
- in raster or constants
- A list of input rasters or constant values in which the first input values will be looked for. Each item in the list should be separated by a semi-colon (;). Spaces in item names must be enclosed in single quotes. A number can be input as an argument, but it will be converted to a raster at the current window and cell size set in the analysis environment, with each location containing the input number.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/IsNull.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/IsNull.xml
deleted file mode 100644
index 21c7daf..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/IsNull.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.isnull
- IsNull_sa
- Returns 1 if the input value is NoData and 0 for cells that are not, on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input being tested to identify the cells that are NoData (null).
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/LessThan.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/LessThan.xml
deleted file mode 100644
index 3e7b3ac..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/LessThan.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.lessthan
- LessThan_sa
- Returns 1 for cells where the first raster is less than the second raster and 0 if it is not. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input being tested to determine if it is less than the second input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input against which the first input is tested to be less than. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/LessThanEqual.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/LessThanEqual.xml
deleted file mode 100644
index 8632585..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/LessThanEqual.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.lessthanequal
- LessThanEqual_sa
- Returns 1 for cells where the first raster is less than or equal to the second raster and 0 where it is not. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input being tested to determine if it is less than or equal to the second input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input against which the first input is tested to be less than or equal to. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/NotEqual.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/NotEqual.xml
deleted file mode 100644
index a155e19..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/NotEqual.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.notequal
- NotEqual_sa
- Returns 1 for cells where the first raster is not equal to the second raster and 0 for cells where it is equal. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input that will be compared to for inequality by the second input. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input that will be compared from for inequality by the first input.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Over.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Over.xml
deleted file mode 100644
index e1d723c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Over.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.over
- Over_sa
- Returns those values from the first input that are non-zero; otherwise, returns the value from the second input on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input for which the zero and non-zero cell values will be determined. In the first input, if the value is not zero, that value will be assigned to that output cell. If the value is 0, then the value of the second input will be assigned to that cell. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input whose value will be assigned to the output raster cells where the first input value is zero. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Test.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Test.xml
deleted file mode 100644
index 66ab2d7..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Logical/Test.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.logical.test
- Test_sa
- A logical expression used to perform a Boolean evaluation of the input raster. When the expression evaluates to true, the output cell value is 1. If the expression is false, the output cell value is 0. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input the boolean evaluation is performed on, based on a logical expression. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- where_clause
- where clause
- An SQL expression used to select a subset of raster cells. For information on SQL syntax, see SQL Reference.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Minus.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Minus.xml
deleted file mode 100644
index d573eb7..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Minus.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.minus
- Minus_sa
- Subtracts the value of the second input raster from the value of the first input raster on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input raster or constant value from which to subract.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input raster or constant value to subtract.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Mod.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Mod.xml
deleted file mode 100644
index fd732ba..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Mod.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.mod
- Mod_sa
- Finds the remainder of the first raster when divided by the second raster on a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The numerator as an input raster or constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The denominator as an input raster or constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Negate.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Negate.xml
deleted file mode 100644
index 0b52f22..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Negate.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.negate
- Negate_sa
- Changes the sign (multiplies by -1) of the cell values of the input raster ob a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- Input raster or constant value to be negated (multiplied by -1).
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Plus.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Plus.xml
deleted file mode 100644
index f1f5086..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Plus.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.plus
- Plus_sa
- Adds the values of two rasters on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The input raster or constant value to be added to.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The input raster or constant value to add.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Power.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Power.xml
deleted file mode 100644
index eef4108..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Power.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.power
- Power_sa
- Raises the cells in a raster to the power of the values found in another raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value1
- The input raster or constant value to raise to a power.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The input raster or constant value to use as a power.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/RoundDown.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/RoundDown.xml
deleted file mode 100644
index c5baed3..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/RoundDown.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.rounddown
- RoundDown_sa
- Returns the next lower whole number for each cell in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input raster or constant value to be rounded down.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/RoundUp.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/RoundUp.xml
deleted file mode 100644
index af6022f..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/RoundUp.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.roundup
- RoundUp_sa
- Returns the next higher whole number for each cell in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input raster or constant value to be rounded up.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Square.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Square.xml
deleted file mode 100644
index 8d65a80..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Square.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.square
- Square_sa
- Calculates the square of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- input raster or constant value to square
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/SquareRoot.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/SquareRoot.xml
deleted file mode 100644
index 869f7ff..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/SquareRoot.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.squareroot
- SquareRoot_sa
- Calculates the square root of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- Input raster or constant value of which to find the square root.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Times.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Times.xml
deleted file mode 100644
index ade05ce..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Times.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.times
- Times_sa
- Multiplies the values of two rasters on a cell-by-cell basis. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value1
- in raster or constant value
- The input raster or constant value to be multiplied.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant_value2
- in raster or constant value2
- The input raster or constant value by which to multiply.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ACos.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ACos.xml
deleted file mode 100644
index ea9c778..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ACos.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.acos
- ACos_sa
- Calculates the inverse cosine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant
- in raster or constant
- The input to calculate the inverse cosine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ACosH.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ACosH.xml
deleted file mode 100644
index 6ec7c67..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ACosH.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.acosh
- ACosH_sa
- Calculates the inverse hyperbolic cosine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the inverse hyperbolic cosine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ASin.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ASin.xml
deleted file mode 100644
index 6b499b1..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ASin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.asin
- ASin_sa
- Calculates the inverse sine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the inverse sine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ASinH.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ASinH.xml
deleted file mode 100644
index 9b3e8d3..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ASinH.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.asinh
- ASinH_sa
- Calculates the inverse hyperbolic sine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the inverse hyperbolic sine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATan.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATan.xml
deleted file mode 100644
index 5795cf9..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATan.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.atan
- ATan_sa
- Calculates the inverse tangent of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the inverse tangent values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATan2.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATan2.xml
deleted file mode 100644
index 8a870ca..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATan2.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.atan2
- ATan2_sa
- Calculates the inverse tangent (based on x,y) of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant1
- in raster or constant1
- The input that specifies the numerator, or y value, to use when calculating the inverse tangent. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_raster_or_constant2
- in raster or constant2
- The input that specifies the denominator, or x value, to use when calculating the inverse tangent. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATanH.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATanH.xml
deleted file mode 100644
index 9b78937..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/ATanH.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.atanh
- ATanH_sa
- Calculates the inverse hyperbolic tangent of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the inverse hyperbolic tangent values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Cos.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Cos.xml
deleted file mode 100644
index 8085c04..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Cos.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.cos
- Cos_sa
- Calculates the cosine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the cosine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/CosH.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/CosH.xml
deleted file mode 100644
index 7752247..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/CosH.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.cosh
- CosH_sa
- Calculates the hyperbolic cosine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster constant value
- The input to calculate the hyperbolic cosine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Sin.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Sin.xml
deleted file mode 100644
index c291926..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Sin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.sin
- Sin_sa
- Calculates the sine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the sine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/SinH.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/SinH.xml
deleted file mode 100644
index 0907f19..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/SinH.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.sinh
- SinH_sa
- Calculates the hyperbolic sine of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the hyperbolic sine values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Tan.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Tan.xml
deleted file mode 100644
index 6f6100b..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/Tan.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.tan
- Tan_sa
- Calculates the tangent of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the tangent values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/TanH.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/TanH.xml
deleted file mode 100644
index 4016ad8..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Math/Trigonometric/TanH.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.math.trigonometric.tanh
- TanH_sa
- Calculates the hyperbolic tangent of cells in a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_or_constant_value
- in raster or constant value
- The input to calculate the hyperbolic tangent values for. The input can be a raster or a constant value.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/BandCollectionStatistics.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/BandCollectionStatistics.xml
deleted file mode 100644
index 659698f..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/BandCollectionStatistics.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.bandcollectionstatistics
- BandCollectionStatistics_sa
- Calculates the statistics for a set of raster bands. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- in raster bands
- Input raster bands.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- compute_matrices
- compute matrices
- Determines whether covariance and correlation matrices are calculated. False — Only the basic statistical measures (minimum, maximum, mean, and standard deviation) will be calculated for every layer. True — In addition to the standard statistics calculated with False, the covariance and correlation matrices will also be determined. The default is False.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/ClassProbability.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/ClassProbability.xml
deleted file mode 100644
index f2c4f93..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/ClassProbability.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.classprobability
- ClassProbability_sa
- Creates probability layers for each class in a signature file. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- in raster bands
- Input raster bands. Raster bands can be integer or floating point.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_signature_file
- in signature file
- Input signature file whose class signatures are used to generate the a priori probability layers. A ".gsg" extension is required.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- maximum_output_value
- maximum output value
- Factor for scaling the range of values in the output probability layers. By default, the values range from 0 to 100.
-
-
-
-
-
-
- a_priori_probabilities
- a priori probabilities
- Specifies how a priori probabilities will be determined. EQUAL — All classes will have the same a priori probability. SAMPLE — A priori probabilities will be proportional to the number of cells in each class relative to the total number of cells sampled in all classes in the signature file. FILE — A priori probabilities will be assigned to each class from an input a priori probability file.
-
-
-
-
- EQUAL
- FILE
- SAMPLE
-
-
-
-
- in_a_priori_file
- in a priori file
- A text file containing a priori probabilities for the input signature classes. An input for the a priori probability file is only required when the FILE option is used. The extension for the a priori file can be ".txt" or ".asc".
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/CreateSignatures.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/CreateSignatures.xml
deleted file mode 100644
index 318cd6b..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/CreateSignatures.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.createsignatures
- CreateSignatures_sa
- Creates an ASCII signature file of classes defined by input sample data and a set of raster bands. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- in raster bands
- The input raster bands to create the signatures for.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_sample_data
- in sample data
- The input delineating the set of class samples. The input can be an integer raster or a feature dataset.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- sample_field
- sample field
- Field of the input raster or feature sample data to assign values to the sampled locations (classes). Only integer fields are valid fields.
-
-
-
-
-
-
- compute_covariance
- compute covariance
- Boolean specifying whether the covariance matrixes will be calculated.
- If True, the covariance matrixes and the means for all classes of the sampleDataset will be computed. If False, only the means for all classes of the sampleDataset will be calculated.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/Dendrogram.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/Dendrogram.xml
deleted file mode 100644
index a895758..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/Dendrogram.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.dendrogram
- Dendrogram_sa
- Constructs a tree diagram showing attribute distances between sequentially merged classes in a signature file. Uses ArcObjects library - Spatial Analyst
-
-
- in_signature_file
- in signature file
- Input signature file whose class signatures are used to produce a dendrogram. A ".gsg" extension is required.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- line_width
- line width
- Sets the width of the dendrogram in number of characters on a line. The default is 78.
-
-
-
-
-
-
- distance_calculation
- distance calculation
- Specifies the manner through which the distances between classes in the multidimensional attribute space are to be defined. If True, the distances between classes will be computed based on the variances and the Euclidean distance between the means of their signatures. If False, the distances between classes will be determined by the Euclidean distances between the means of the class signatures only.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/EditSignatures.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/EditSignatures.xml
deleted file mode 100644
index 2ab5b9c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/EditSignatures.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.editsignatures
- EditSignatures_sa
- Edits and updates a signature file by merging, renumbering, and deleting class signatures. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- in raster bands
- The input raster bands to edit the signatures for.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_signature_file
- in signature file
- Input signature file whose class signatures are to be edited. A ".gsg" extension is required.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- in_signature_remap_file
- in signature remap file
- Input ASCII remap table containing the class IDs to be merged, renumbered, or deleted. The extension can be ".rmp", ".asc" or ".txt". The default is ".rmp".
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- sample_interval
- sample interval
- The interval to be used for sampling. The default is 10.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/IsoCluster.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/IsoCluster.xml
deleted file mode 100644
index 83a8d0e..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/IsoCluster.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.isocluster
- IsoCluster_sa
- Uses an isodata clustering algorithm to determine the characteristics of the natural groupings of cells in multidimensional attribute space and stores the results in an output ASCII signature file. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- input raster bands
- Input raster bands.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_classes
- number classes
- Number of classes into which to group the cells.
-
-
-
-
-
-
- number_iterations
- number iterations
- Number of iterations of the clustering process to run. The default is 20.
-
-
-
-
-
-
- min_class_size
- min class size
- Minimum number of cells in a valid class. The default is 20.
-
-
-
-
-
-
- sample_interval
- sample interval
- The interval to use for sampling. Default is 10.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/MaximumLikelihoodClassification.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/MaximumLikelihoodClassification.xml
deleted file mode 100644
index 4299829..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/MaximumLikelihoodClassification.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.maximumlikelihoodclassification
- MaximumLikelihoodClassification_sa
- Performs a maximum likelihood classification on a set of raster bands. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- in raster bands
- Input raster bands.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- reject_fraction
- reject fraction
- Portion of cells that will remain unclassified due to the lowest possibility of correct assignments. The default is 0.0; therefore, every cell will be classified. The 14 valid entries are: 0.0, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 0.75, 0.9, 0.95, 0.975, 0.99, and 0.995.
-
-
-
-
-
-
- in_signature_file
- in_signature_file
- The input signature file whose class signatures are used by the maximum likelihood classifier.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- a_priori_probabilities
- a priori probabilities
- Specifies how a priori probabilities will be determined. EQUAL — All classes will have the same a priori probability. SAMPLE — A priori probabilities will be proportional to the number of cells in each class in the signature file. FILE — The a priori probabilities will be read from the specified {in_a_priori_file} ASCII file.
-
-
-
-
- EQUAL
- SAMPLE
- FILE
-
-
-
-
- in_a_priori_file
- in a priori file
- File containing a priori probabilities for the input signature classes. An input for the a priori probability file is only required when the FILE option is used. The extension for a priori files can be ".txt" or ".asc".
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/PrincipalComponents.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/PrincipalComponents.xml
deleted file mode 100644
index 4f97414..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Multivariate/PrincipalComponents.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.multivariate.principalcomponents
- PrincipalComponents_sa
- Performs principal components analysis on a set of raster bands. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster_bands
- in raster bands
- Input raster bands.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_components
- number components
- Number of principal components. Must be greater than zero and less than or equal to the total number of raster bands in in_raster_bands. The default is the total number of rasters in the input.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/Filter.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/Filter.xml
deleted file mode 100644
index 7c4626e..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/Filter.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.neighborhood.filter
- Filter_sa
- Performs a preset focal filter on a raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster to perform the Filter operation on.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- filter_type
- filter type
- The type of Filter operation to perform. LOW — Traverses a low pass filter over the raster. This option smoothes the entire in_raster and reduces the significance of anomalous cells. This is the default option. HIGH — Traverses a high pass filter over the raster. This option enhances the edges of subdued features in a raster.
-
-
-
-
- LOW
- HIGH
-
-
-
-
- ignore_nodata
- ignore nodata
- Denotes whether NoData values are ignored by the filter calculation. DATA — If a NoData value exists within the filter, the NoData value will be ignored. Only cells within the filter that have data values will be used in determining the output. NODATA — If a NoData value exists within the filter, the output for the processing cell will be NoData.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/FocalFlow.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/FocalFlow.xml
deleted file mode 100644
index 666b6a1..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/FocalFlow.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.neighborhood.focalflow
- FocalFlow_sa
- Determines the flow of the values in the input raster within each cell's immediate neighboorhood. Uses ArcObjects library - Spatial Analyst
-
-
- in_surface_raster
- in_surface_raster
- The input surface raster to calculate the focal flow for. Focal Flow evaluates the eight immediate neighbors of a cell to determine the flow. The input raster can be integer or floating point.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- treshold_value
- treshold value
- Defines a value that constitutes the threshold, which must be equaled or exceeded before flow can occur. If the difference between the value at a neighboring cell location and the value of the processing cell is less than or equal to the threshold value, the output will be zero (or no flow).
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/LineStatistics.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/LineStatistics.xml
deleted file mode 100644
index c807246..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Neighborhood/LineStatistics.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.neighborhood.linestatistics
- LineStatistics_sa
- Calculates a statistic on the attributes of lines in a circular neighborhood around each output cell. Uses ArcObjects library - Spatial Analyst
-
-
- in_polyline_feature
- in polyline feature
- The input polyline features to calculate the Line Statistics for.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- field
- field
- Field can be any numeric field of in_polyline_features. Field can be the shape field if in_polyline_features contains z.
-
-
-
-
-
-
- cell_size
- cell size
- Cell size for output raster dataset. This is the value in the environment if specifically set. If not set in the environment, it is the shorter of the width or height of the extent of in_polyline_features in the output spatial reference, divided by 250.
-
-
-
-
-
-
- search_radius
- search radius
- Search radius to calculate the desired statistic within, in map units. The default radius is five times the output cell size.
-
-
-
-
-
-
- statistics_type
- statistics type
- The Statistic type to be calculated.
- Statistics are calculated on the value of the specified "field" for all lines in the neighborhood. MEAN — The average value, weighted by the length. Mean = (sum of (length * field-value)) / (sum of length). Only the part of the length that falls within the neighborhood is used. MAJORITY — The value having the greatest length of line in the neighborhood. MAXIMUM — The largest value. MEDIAN — The median value, weighted by the length. Conceptually, all line segments in the neighborhood are sorted by value and placed end-to-end in a straight line. The value of the segment at the midpoint of the straight line is the median. MINIMUM — The smallest value. MINORITY — The value having the least length of line in the neighborhood. RANGE — The range of values (maximum – minimum). STD — The standard deviation of the values. VARIETY — The number of unique values.
-
-
-
-
- MEAN
- MAJORITY
- MAXIMUM
- MEDIAN
- MINIMUM
- MINORITY
- RANGE
- STD
- VARIETY
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateConstantRaster.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateConstantRaster.xml
deleted file mode 100644
index ce3c62d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateConstantRaster.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.rastercreation.createconstantraster
- CreateConstantRaster_sa
- Creates a constant raster of a constant value within the Analysis Window. Uses ArcObjects library - Spatial Analyst
-
-
- constant_value
- constant value
- Constant value from which to create an output raster dataset.
-
-
-
-
-
-
- cell_size
- cell size
- Cell size for output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is the shorter of the width or height of the environment extent in the output spatial reference, divided by 250.
-
-
-
-
-
-
- data_type
- data type
- Data type of the output raster dataset.
- INTEGER — An integer raster will be created.
- FLOAT — A floating-point raster will be created.
-
-
-
-
- INTEGER
- FLOAT
-
-
-
-
- extent
- extent
- Extent for the output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is 0, 0, 250, 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateNormalRaster.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateNormalRaster.xml
deleted file mode 100644
index bd2e2ff..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateNormalRaster.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.rastercreation.createnormalraster
- CreateNormalRaster_sa
- Creates a raster of random values with a normal distribution on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- cell_size
- cell size
- Cell size for output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is the shorter of the width or height of the environment extent in the output spatial reference, divided by 250.
-
-
-
-
-
-
- extent
- extent
- Extent for output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is 0, 0, 250, 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateRandomRaster.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateRandomRaster.xml
deleted file mode 100644
index da53617..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/RasterCreation/CreateRandomRaster.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.rastercreation.createrandomraster
- CreateRandomRaster_sa
- Creates a raster of random floating point values between 0 and 1 on a cell-by-cell basis within the Analysis window. Uses ArcObjects library - Spatial Analyst
-
-
- seed_value
- seed value
- A value to be used to reseed the random number generator. This may be an integer or floating-point number. Rasters are not permitted as input. The random number generator is automatically seeded with the current value of the system clock (seconds since January 1, 1970). The range of permissible values for {seed_value} is from -231+1 to 231 (or -2,147,483,647 to 2,147,483,648).
-
-
-
-
-
-
- cell_size
- cell size
- Cell size for output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is the shorter of the width or height of the environment extent in the output spatial reference, divided by 250.
-
-
-
-
-
-
- extent
- extent
- Extent for the output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is 0, 0, 250, 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/Lookup.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/Lookup.xml
deleted file mode 100644
index 87ce32d..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/Lookup.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.reclass.lookup
- Lookup_sa
- Creates a new raster by looking up values found in another field in the table of the input raster. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- The input raster that contains a field from which to create a new raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- lookup_field
- lookup field
- Field containing the values for the new raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/ReclassByASCIIFile.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/ReclassByASCIIFile.xml
deleted file mode 100644
index 2eee8df..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/ReclassByASCIIFile.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.reclass.reclassbyasciifile
- ReclassByASCIIFile_sa
- Reclassifies or changes the values of the input cells of a raster using an ASCII remap file. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- An input Raster, RasterDataset, RasterBand, or RasterDescriptor.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_remap_file
- in remap file
- ASCII remap file defining the single values or ranges to be reclassified and the values they will become.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- missing_values
- missing values
- Denotes whether missing values in the reclass file retain their value or get mapped to NoData. DATA — A keyword signifying that if any cell location on the input raster contains a value that is not present or reclassed in the remap file, the value should remain intact and be written for that location to the output raster. NODATA — A keyword signifying that if any cell location on the input raster contains a value that is not present or reclassed in the remap file, the value will be reclassed to NODATA for that location on the output raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/Slice.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/Slice.xml
deleted file mode 100644
index 8998285..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Reclass/Slice.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.reclass.slice
- Slice_sa
- Slices a range of values of the input cells of a raster by zones of equal interval, equal area, or by natural breaks. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- An input Raster, RasterDataset, RasterBand, or RasterDescriptor.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- number_zones
- number zones
- When the Slice method is Equal_Area, the output raster will have number_zones with a similar number of cells in each. When Equal_Interval is used, the output raster will have number_zones, each containing equal value ranges on the output raster. When Natural_Breaks is used, the output raster will have number_zones, with the number of cells in each determined by the class breaks.
-
-
-
-
-
-
- slice_type
- slice type
- The manner in which to slice the values in the input raster. EQUAL_INTERVAL — Determines the range of the input values and divides the range into number_zones. Each zone on the sliced output raster has the potential of having input cell values that have the same range from the extremes. EQUAL_AREA — Specifies that the input values will be divided into the number of zones specified by number_zones with each zone having a similar number of cells (each zone represents a similar amount of area). NATURAL_BREAKS — Specifies that the classes will be based on natural groupings inherent in the data. Break points are identified by choosing the class breaks that best group similar values and that maximize the differences between classes. The cell values are divided into classes whose boundaries are set when there are relatively big jumps in the data values.
-
-
-
-
- EQUAL_INTERVAL
- EQUAL_AREA
- NATURAL_BREAKS
-
-
-
-
- base_output_zone
- base output zone
- Defines the lowest zone value on the output raster dataset. The default value is one.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Aspect.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Aspect.xml
deleted file mode 100644
index b587deb..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Aspect.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.surface.aspect
- Aspect_sa
- Derives aspect from a raster surface. Aspect identifies the downslope direction of the maximum rate of change in value from each cell to its neighbors. Aspect can be thought of as the slope direction. The values of the output raster will be the compass direction of the aspect. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- Input raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Contour.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Contour.xml
deleted file mode 100644
index 07f80e7..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Contour.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.surface.contour
- Contour_Sa
- Creates contours or isolines from a raster surface. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- Input raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- contour_interval
- contour interval
- Interval of contours. This can be any positive number.
-
-
-
-
-
-
- base_contour
- base contour
- Base contour value. Contours are generated above and below this value as needed to cover the entire value range of the input raster. The default is zero.
-
-
-
-
-
-
- z_factor
- z factor
- Number of ground x,y units in one surface z unit. The z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. The z-values of the input surface are multiplied by the z-factor when calculating the final output surface. If the x,y units and z units are in the same units of measure, the z-factor is 1. This is the default. If the x,y units and z units are in different units of measure, the z-factor must be set to the appropriate factor, or the results will be incorrect. For example, if your z units are feet and your x,y units are meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter).
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/ContourList.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/ContourList.xml
deleted file mode 100644
index 6f8acf3..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/ContourList.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.surface.contourlist
- ContourList_sa
- Creates contours or isolines based on a list of contour values. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- Input raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- contour_values
- contour values
- List of z-values for which to create contours
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/ContourWithBarriers.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/ContourWithBarriers.xml
deleted file mode 100644
index 565f86c..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/ContourWithBarriers.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.surface.contourwithbarriers
- ContourWithBarriers_sa
- Creates contours from a raster surface. The inclusion of barrier features will allow one to independently generate contours on either side of a barrier. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- Input raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_barrier_features
- in barrier features
- Input barrier features.
-
-
-
- application/x-zipped-shp
-
-
-
-
-
- application/x-zipped-shp
-
-
-
-
-
-
- in_contour_type
- in contour type
- The type of contour to create. Polylines — is the contour or isoline representation of the input raster. Polygons — closed polygons representing the contours. The current version of Contour with Barriers only supports polyline output. If the polygon output option is used it will be ignored and polyline output will be created.
-
-
-
- POLYLINES
- POLYGON
-
-
-
-
- in_contour_values_file
- in contour values file
- The base contour, contour interval, indexed contour interval and explicit contour values can also be specified via a text file.
-
-
-
- application/txt
-
-
-
-
-
- application/txt
-
-
-
-
-
-
- explicit_only
- explicit only
- Only explicit contour values are used. Base contour, contour interval and indexed contour intervals are not specified. NO_EXPLICIT_VALUES_ONLY — The default, contour interval must be specified. EXPLICIT_VALUES_ONLY — Only explicit contour values are specified.
-
-
-
-
- NO_EXPLICIT_VALUES_ONLY
- EXPLICIT_VALUES_ONLY
-
-
-
-
- in_base_contour
- in base contour
- Base contour value. Contours are generated above and below this value as needed to cover the entire value range of the input raster. The default is zero.
-
-
-
-
-
-
- in_contour_interval
- in contour interval
- Interval of contours. This can be any positive number.
-
-
-
-
-
-
- in_indexed_contour_interval
- in indexed contour interval
- Contours will also be generated for this interval and will be flagged accordingly in the output feature class.
-
-
-
-
-
-
- contour_values
- contour values
- Explicit values at which to create contours.
-
-
-
-
-
-
- in_z_factor
- in z factor
- Multiplication factor. For example, if your z units are feet and your contours should be in meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter).
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Curvature.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Curvature.xml
deleted file mode 100644
index 08f6847..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Surface/Curvature.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.surface.curvature
- Curvature_sa
- Calculates the curvature of a raster surface, optionally including profile and plan curvature. Uses ArcObjects library - Spatial Analyst
-
-
- in_raster
- in raster
- Input raster.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- z_factor
- z factor
- Number of ground x,y units in one surface z unit. The z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. The z-values of the input surface are multiplied by the z-factor when calculating the final output surface. If the x,y units and z units are in the same units of measure, the z-factor is 1. This is the default. If the x,y units and z units are in different units of measure, the z-factor must be set to the appropriate factor, or the results will be incorrect. For example, if your z units are feet and your x,y units are meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/TabulateArea.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/TabulateArea.xml
deleted file mode 100644
index edb4975..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/TabulateArea.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.zonal.tabulatearea
- TabulateArea_sa
- Calculates cross-tabulated areas between two datasets. Uses ArcObjects library - Spatial Analyst
-
-
- in_zone_data
- in zone data
- The dataset that defines the zones. The zones can be defined as an integer raster layer or a feature layer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- zone_field
- zone field
- The field that holds the values that define each zone. It can be an integer or a string field of the in_zone_data.
-
-
-
-
-
-
- in_class_data
- in class data
- The dataset that defines the classes that will have their area summarized within each zone. The class input can be an integer raster layer or a feature layer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- class_field
- class field
- The field that holds the class values. It can be an integer or a string field of the in_class_data.
-
-
-
-
-
-
- processing_cell_size
- processing cell size
- The processing cell size for the operation. This is the value in the environment if specifically set. If the environment is not set and in_zone_data is raster, the cell size is the same as in_zone_data. If the environment is not set and in_zone_data is feature, the cell size is the shorter of the width or height of the extent of in_zone_data in the output spatial reference, divided by 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalFill.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalFill.xml
deleted file mode 100644
index 12a5ee2..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalFill.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.zonal.zonalfill
- ZonalFill_sa
- Fills zones using the minimum cell value from a weight raster along the zone boundary. Uses ArcObjects library - Spatial Analyst
-
-
- in_zone_raster
- in zone raster
- The input raster that defines the zones that are to be filled.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- in_weight_raster
- in weight raster
- Weight to be assigned to each zone.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalGeometry.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalGeometry.xml
deleted file mode 100644
index f7f4444..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalGeometry.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.zonal.zonalgeometry
- ZonalGeometry_sa
- Calculates for each zone in a dataset the specified geometry measure (area, perimeter, thickness, or the characteristics of ellipse). Uses ArcObjects library - Spatial Analyst
-
-
- in_zone_data
- in zone data
- Dataset that defines the zones. The zones can be defined as an integer raster layer or a polygon feature layer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- zone_field
- zone field
- Field that holds the values that define each zone. This can be an integer or string field of in_zone_data.
-
-
-
-
-
-
- cell_size
- cell size
- The cell size at which the output raster will be created. This is the value in the environment if specifically set. If the environment is not set and in_zone_data is raster, the cell size is the same as in_zone_data. If the environment is not set and in_zone_data is feature, the cell size is the shorter of the width or height of the extent of in_zone_data in the output spatial reference, divided by 250.
-
-
-
-
-
-
- geometry_type
- geometry type
- Geometry type to be calculated.
- AREA — The area for each zone.
- PERIMETER — The perimeter for each zone.
- THICKNESS — The deepest (or thickest) point within the zone from its surrounding cells.
- CENTROID — Locates the centroids of each zone.
-
-
-
-
- AREA
- PERIMETER
- THICKNESS
- CENTROID
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalGeometryAsTable.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalGeometryAsTable.xml
deleted file mode 100644
index 9f4efc4..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalGeometryAsTable.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.zonal.zonalgeometryastable
- ZonalGeometryAsTable_sa
- Calculates for each zone in a dataset the geometry measures — for example, area, perimeter, thickness, and the characteristics of ellipse — and reports the results as a table. Uses ArcObjects library - Spatial Analyst
-
-
- in_zone_data
- in zone data
- Dataset that defines the zones. The zones can be defined as an integer raster layer or a polygon feature layer.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- zone_field
- zone field
- Field that holds the values that define each zone. This can be an integer or string field of in_zone_data.
-
-
-
-
-
-
- processing_cell_size
- processing cell size
- Processing cell size for the operation. This is the value in the environment if specifically set. If the environment is not set and in_zone_data is raster, the cell size is the same as in_zone_data. If the environment is not set and in_zone_data is feature, the cell size is the shorter of the width or height of the extent of in_zone_data in the output spatial reference, divided by 250.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalStatistics.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalStatistics.xml
deleted file mode 100644
index 6849a10..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalStatistics.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.zonal.zonalatatistics
- ZonalStatistics_sa
- Calculates statistics on values of a raster within the zones of another dataset. Uses ArcObjects library - Spatial Analyst
-
-
- in_zone_data
- in zone data
- Dataset that defines the zones. It can be a raster or feature dataset.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- zone_field
- zone field
- Field that holds the values that define each zone.
-
-
-
-
-
-
- in_value_raster
- in value raster
- Raster that contains the values on which to calculate a statistic.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- statistic_type
- statistic type
- Statistic type to be calculated. MEAN — Calculates the average of all cells in the input in_value_raster that belong to the same zone as the output cell.
- MAJORITY — Determines the value that occurs most often of all cells in the input in_value_raster that belong to the same zone as the output cell.
- MAXIMUM — Determines the largest value of all cells in the input in_value_raster that belong to the same zone as the output cell.
- MEDIAN — Determines the median value of all cells in the input in_value_raster that belong to the same zone as the output cell.
- MINIMUM — Determines the smallest value of all cells in the input in_value_raster that belong to the same zone as the output cell.
- MINORITY — Determines the value that occurs least often of all cells in the input in_value_raster that belong to the same zone as the output cell.
- RANGE — Calculates the difference between the largest and smallest value of all cells in the input in_value_raster that belong to the same zone as the output cell. STD — Calculates the standard deviation of all cells in the input in_value_raster that belong to the same zone as the output cell.
- SUM — Calculates the total value of all cells in the input in_value_raster that belong to the same zone as the output cell.
- VARIETY — Calculates the number of unique values for all cells in the input in_value_raster that belong to the same zone as the output cell.
-
-
-
-
- MEAN
- MAJORITY
- MAXIMUM
- MEDIAN
- MINIMUM
- MINORITY
- RANGE
-
-
-
-
- ignore_nodata
- ignore nodata
- Denotes whether NoData values on the Value input will influence the results of the zone that they fall within.
- DATA — Within any particular zone, only cells that have a value in the input Value raster will be used in determining the output value for that zone. NoData cells in the Value raster will be ignored in the statistic calculation.
- NODATA — Within any particular zone, if any NoData cells exist in the Value raster it is deemed that there is insufficient information to perform statistical calculations for all the cells in that zone. Therefore, the entire zone will receive the NoData value on the output raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalStatisticsAsTable.xml b/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalStatisticsAsTable.xml
deleted file mode 100644
index df4dd82..0000000
--- a/src/main/webapp/examples/localWPSFiles/xmlDescriptions/SpatialAnalyst/Zonal/ZonalStatisticsAsTable.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
- org.n52.wps.ags.spatialanalyst.zonal.zonalatatisticsastable
- ZonalStatisticsAsTable_sa
- Summarizes the values of a raster within the zones of another dataset and reports the results to a table. Uses ArcObjects library - Spatial Analyst
-
-
- in_zone_data
- in zone data
- Dataset that defines the zones. It can be a raster or feature dataset.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- zone_field
- zone field
- Field that holds the values that define each zone.
-
-
-
-
-
-
- in_value_raster
- in value raster
- Raster that contains the values for which to calculate a statistic.
-
-
-
- application/img
-
-
-
-
-
- application/GeoTIFF
-
-
-
- application/img
-
-
-
-
-
-
- ignore_nodata
- ignore nodata
- Denotes whether NoData values on the Value input will influence the results of the zone that they fall within.
- DATA — Within any particular zone, only cells that have a value in the input Value raster will be used in determining the output value for that zone. NoData cells in the Value raster will be ignored in the statistic calculation.
- NODATA — Within any particular zone, if any NoData cells exist in the Value raster it is deemed that there is insufficient information to perform statistical calculations for all the cells in that zone. Therefore, the entire zone will receive the NoData value on the output raster.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer.xml b/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer.xml
deleted file mode 100644
index 08668c9..0000000
--- a/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
- org.n52.wps.example.ags.custom.buffer
- Buffer computation
- This process offers buffer computation executed via the ESRI ArcGIS tool inside a custom toolbox.
-
-
-
- inputfeatures
- The input features
- The feature layer or feature class containing the features that will be buffered
-
-
-
- application/x-zipped-shp
- UTF-8
-
-
-
-
- application/x-zipped-shp
- base64
-
-
-
-
-
-
- distance
- The buffer distance
- The distance around the features that will be the buffer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer.xslt b/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer.xslt
deleted file mode 100644
index 4dcc0e2..0000000
--- a/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer.xslt
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ./org.n52.wps.example.ags.custom.buffer
- algorithm://org.n52.wps.example.ags.custom.buffer/buffertoolbox.tbx?custombuffername
- urn:n52:esri:arctoolbox:10.0
- urn:n52:esri:arcgis:10.0
-
-
-
-
-
-
-
- 0
- inputfeatures
-
-
-
-
-
-
-
- 2
- distance
-
-
-
-
-
-
-
-
-
-
- 1
-
- buffers
-
-
-
-
-
-
diff --git a/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer/buffertoolbox.tbx b/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer/buffertoolbox.tbx
deleted file mode 100644
index 04c4211..0000000
Binary files a/src/main/webapp/examples/wpsBackendDirectory/customToolboxProcesses/org.n52.wps.example.ags.custom.buffer/buffertoolbox.tbx and /dev/null differ
diff --git a/src/main/webapp/examples/wpsBackendDirectory/exampleRequestForCustomToolboxProcesses/EXECUTE_org.n52.wps.example.ags.custom.buffer.xml b/src/main/webapp/examples/wpsBackendDirectory/exampleRequestForCustomToolboxProcesses/EXECUTE_org.n52.wps.example.ags.custom.buffer.xml
deleted file mode 100644
index 97708d9..0000000
--- a/src/main/webapp/examples/wpsBackendDirectory/exampleRequestForCustomToolboxProcesses/EXECUTE_org.n52.wps.example.ags.custom.buffer.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
- org.n52.wps.example.ags.custom.buffer
-
-
-
-
- inputfeatures
-
-
-
-
- distance
-
- 0.01
-
-
-
-
-
-
-
-
- buffers
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/js/jquery/jquery.1.8.3.min.js b/src/main/webapp/js/jquery/jquery.1.8.3.min.js
deleted file mode 100644
index 3883779..0000000
--- a/src/main/webapp/js/jquery/jquery.1.8.3.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v1.8.3 jquery.com | jquery.org/license */
-(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="