我想编写一个.java文件并将其导入52north wps服务,但是我的代码就像
package org.n52.wps.demo;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.geotools.feature.FeatureCollection;
import org.geotools.feature.FeatureIterator;
import org.geotools.geometry.iso.topograph2D.Coordinate;
import org.geotools.geometry.jts.CoordinateSequenceTransformer;
import org.n52.wps.server.AbstractSelfDescribingAlgorithm;
import org.n52.wps.io.data.IData;
import org.n52.wps.io.data.binding.complex.GTVectorDataBinding;
import net.opengis.wps.x100.ProcessDescriptionType;
public class ConvexHullDemo extends AbstractSelfDescribingAlgorithm {
@Override
public Class<?> getInputDataType(String identifier) {
if (identifier.equalsIgnoreCase("FEATURES")) {
return GTVectorDataBinding.class;
}
}
@Override
public Class<?> getOutputDataType(String identifier) {
if (identifier.equalsIgnoreCase("FEATURE")) {
return GTVectorDataBinding.class;
}
}
@Override
public List<String> getInputIdentifiers() {
List<String> list=new ArrayList<String>();
list.add("FEATURES");
return list;
}
@Override
public List<String> getOutputIdentifiers() {
List<String> list=new ArrayList<String>();
list.add("polygon");
return list;
}
@Override
public Map<String, IData> run(Map<String, List<IData>> inputData) {
if (inputData == null || !inputData.containsKey("FEATURES")) {
throw new RuntimeException("Error while allocating input parameters");
}
List<IData> dataList = inputData.get("FEATURES");
if (dataList == null || dataList.size() != 1) {
throw new RuntimeException("Error while allocating input parameters");
}
IData firstInputData = dataList.get(0);
FeatureCollection featureCollection = ((GTVectorDataBinding) firstInputData).getPayload();
}
FeatureIterator iter = featureCollection.
List<Coordinate> coordinateList = new ArrayList<Coordinate>();
int counter = 0;
Geometry unifiedGeometry = null;
while (iter.hasNext()) {
SimpleFeature feature = (SimpleFeature) iter.next();
if (feature.getDefaultGeometry() == null) {
throw new NullPointerException("defaultGeometry is null in feature id: "+ feature.getID());
}
Geometry geom = (Geometry) feature.getDefaultGeometry();
Coordinate[] coordinateArray = geom.getCoordinates();
for(Coordinate coordinate : coordinateArray){
coordinateList.add(coordinate);
}
}
}
以及该代码的完整教程:Custom 52north WPS by java Process。
但是出现此错误:
这行有多个标记
ConvexHullDemo类型的层次结构不一致
无法解析类型org.n52.wps.server.observerpattern.ISubject。从所需的.class文件间接引用它
哪个罐子装有此
org.n52.wps.server.observerpattern.ISubject
,我该如何下载它? 最佳答案
在发布您的问题之前,您可能需要阅读更多信息,因为我在您链接的网站上找到了您问题的旁听者:
它说您应该设置WPS,在这里进行解释:
https://wiki.52north.org/bin/view/Processing/52nWebProcessingService