0

我想写一个.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);
                }
}

}

以及此代码的完整教程:自定义 52north WPS by java Process

但是出现了这个错误:

此行有多个标记

  • ConvexHullDemo 类型的层次结构不一致

  • org.n52.wps.server.observerpattern.ISubject 类型无法解析。它是从所需的 .class 文件中间接引用的

哪个罐子里有这个org.n52.wps.server.observerpattern.ISubject,我怎样才能下载它?

4

1 回答 1

1

在发布您的问题之前,您可能需要阅读更多内容,因为我在您链接的网站上找到了您的问题的遮篷:

它说您应该设置 WPS,此处对此进行了说明: https ://wiki.52north.org/bin/view/Processing/52nWebProcessingService

于 2013-04-27T12:00:26.043 回答