Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

GEOT-4224 - Improved metadata for feature processes

  • Loading branch information...
commit 668c8451b59096b0c4f9c603668e7786ff23435f 1 parent b5d2fe3
Martin Davis authored
Showing with 127 additions and 146 deletions.
  1. +6 −6 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/AggregateProcess.java
  2. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/BoundsProcess.java
  3. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/BufferFeatureCollection.java
  4. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CentroidProcess.java
  5. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/ClipProcess.java
  6. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CollectGeometries.java
  7. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CountProcess.java
  8. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/FeatureProcess.java
  9. +7 −9 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/GridProcess.java
  10. +2 −3 ...s/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/InclusionFeatureCollection.java
  11. +7 −9 ...nsupported/process-feature/src/main/java/org/geotools/process/feature/gs/IntersectionFeatureCollection.java
  12. +6 −6 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/LRSGeocodeProcess.java
  13. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/LRSMeasureProcess.java
  14. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/LRSSegmentProcess.java
  15. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/NearestProcess.java
  16. +6 −10 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/PointBuffers.java
  17. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/PointStackerProcess.java
  18. +5 −6 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/QueryProcess.java
  19. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/RectangularClipProcess.java
  20. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/ReprojectProcess.java
  21. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/SimplifyProcess.java
  22. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/SnapProcess.java
  23. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/TransformProcess.java
  24. +3 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/UnionFeatureCollection.java
  25. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/UniqueProcess.java
  26. +5 −12 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/VectorZonalStatistics.java
View
12 ...orted/process-feature/src/main/java/org/geotools/process/feature/gs/AggregateProcess.java
@@ -52,7 +52,7 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "aggregateProcess", description = "Computes various attribute statistics over vector data sets")
+@DescribeProcess(title = "Aggregate", description = "Computes one or more aggregation functions on a feature attribute. Functions include Count, Average, Max, Median, Min, StdDev, and Sum.")
public class AggregateProcess implements GSProcess {
// the functions this process can handle
public enum AggregationFunction {
@@ -72,12 +72,12 @@ public static Results process(SimpleFeatureCollection features, String aggAttrib
return process.execute(features, aggAttribute, functions, singlePass, progressListener);
}
- @DescribeResult(name = "result", description = "The aggregate value")
+ @DescribeResult(name = "result", description = "Aggregation results (one value for each function computed)")
public Results execute(
- @DescribeParameter(name = "features", description = "The feature collection that will be aggregate") SimpleFeatureCollection features,
- @DescribeParameter(name = "aggregationAttribute", min = 0, description = "The attribute used for aggregation") String aggAttribute,
- @DescribeParameter(name = "function", description = "The aggregation functions to be used", collectionType = AggregationFunction.class) Set<AggregationFunction> functions,
- @DescribeParameter(name = "singlePass", description = "If all the results should be computed in a single pass (will break DBMS specific optimizations)", min = 0) Boolean singlePass,
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "aggregationAttribute", min = 0, description = "Attribute on which to perform aggregation") String aggAttribute,
+ @DescribeParameter(name = "function", description = "An aggregate function to compute. Functions include Count, Average, Max, Median, Min, StdDev, and Sum.", collectionType = AggregationFunction.class) Set<AggregationFunction> functions,
+ @DescribeParameter(name = "singlePass", description = "If True computes all aggregation values in a single pass (this will defeat DBMS-specific optimizations)", min = 0) Boolean singlePass,
ProgressListener progressListener) throws ProcessException, IOException {
int attIndex = -1;
View
6 ...upported/process-feature/src/main/java/org/geotools/process/feature/gs/BoundsProcess.java
@@ -31,12 +31,12 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "bounds", description = "Computes the overlall bounds of the input features")
+@DescribeProcess(title = "Bounds", description = "Computes the bounding box of the input features.")
public class BoundsProcess implements GSProcess {
- @DescribeResult(name = "bounds", description = "The feature collection bounds")
+ @DescribeResult(name = "bounds", description = "Bounding box of input features")
public ReferencedEnvelope execute(
- @DescribeParameter(name = "features", description = "The feature collection whose bounds will be computed") FeatureCollection features) {
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection features) {
return features.getBounds();
}
View
10 ...rocess-feature/src/main/java/org/geotools/process/feature/gs/BufferFeatureCollection.java
@@ -51,13 +51,13 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "buffer", description = "Buffers each feature in a collection by a fixed amount or by a value coming from a feature attribute. Works in pure cartesian mode.")
+@DescribeProcess(title = "Buffer", description = "Buffers features by a distance value supplied either as a parameter or by a feature attribute. Calculates buffers based on Cartesian distances.")
public class BufferFeatureCollection implements GSProcess {
- @DescribeResult(description = "The buffered feature collection")
+ @DescribeResult(description = "Buffered feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "feature collection", description = "Feature collection") SimpleFeatureCollection features,
- @DescribeParameter(name = "width of the buffer", description = "The width of the buffer") Double distance,
- @DescribeParameter(name = "name of the layer attribute containing the width of the buffer", description = "Name of the layer attribute",min=0) String attribute) {
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "distance", description = "Fixed value to use for the buffer distance") Double distance,
+ @DescribeParameter(name = "attributeName", description = "Attribute containing the buffer distance value",min=0) String attribute) {
if (distance == null && (attribute == null || attribute == "")) {
throw new IllegalArgumentException("Buffer distance was not specified");
View
6 ...ported/process-feature/src/main/java/org/geotools/process/feature/gs/CentroidProcess.java
@@ -47,12 +47,12 @@
*
* @source $URL: http://svn.osgeo.org/geotools/trunk/modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CentroidProcess.java $
*/
-@DescribeProcess(title = "centroid", description = "Returns centroids of the geometries in the feature collection")
+@DescribeProcess(title = "Centroid", description = "Computes the geometric centroids of features")
public class CentroidProcess implements GSProcess {
- @DescribeResult(name = "result", description = "The feature collection with centroids")
+ @DescribeResult(name = "result", description = "Centroids of input features")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to get centroids for") SimpleFeatureCollection features)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features)
throws ProcessException {
return DataUtilities.simple(new CentroidFeatureCollection(features));
}
View
8 ...nsupported/process-feature/src/main/java/org/geotools/process/feature/gs/ClipProcess.java
@@ -62,13 +62,13 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "rectangularClip", description = "Clips the features to the specified geometry")
+@DescribeProcess(title = "Clip", description = "Clips (crops) features to a given geometry")
public class ClipProcess implements GSProcess {
- @DescribeResult(name = "result", description = "The feature collection bounds")
+ @DescribeResult(name = "result", description = "Clipped feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to be simplified") SimpleFeatureCollection features,
- @DescribeParameter(name = "clip", description = "The clipping area (in the same SRS as the feature collection") Geometry clip)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "clip", description = "Geometry to use for clipping (in same CRS as input features)") Geometry clip)
throws ProcessException {
// only get the geometries in the bbox of the clip
Envelope box = clip.getEnvelopeInternal();
View
6 ...rted/process-feature/src/main/java/org/geotools/process/feature/gs/CollectGeometries.java
@@ -39,12 +39,12 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "collectGeometries", description = "Collects all the default geometries in the feature collection and returns them as a single geometry collection")
+@DescribeProcess(title = "Collect Geometries", description = "Collects the deafult geometries of the input features and combines them into a single geometry collection")
public class CollectGeometries implements GSProcess {
- @DescribeResult(name = "result", description = "The reprojected features")
+ @DescribeResult(name = "result", description = "Geometry collection of all input geometries")
public GeometryCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection whose geometries will be collected") FeatureCollection features,
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection features,
ProgressListener progressListener) throws IOException {
int count = features.size();
float done = 0;
View
6 ...supported/process-feature/src/main/java/org/geotools/process/feature/gs/CountProcess.java
@@ -30,16 +30,16 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "countFeatures", description = "Counts the number of features in the specified collection")
+@DescribeProcess(title = "Count Features", description = "Computes the number of features in a feature collection.")
public class CountProcess implements GSProcess {
/** The functions this process can handle */
public enum AggregationFunction {
Average, Max, Median, Min, StdDev, Sum;
}
- @DescribeResult(name = "result", description = "The reprojected features")
+ @DescribeResult(name = "result", description = "Number of features")
public Number execute(
- @DescribeParameter(name = "features", description = "The feature collection that will be aggregate") SimpleFeatureCollection features)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features)
throws Exception {
return features.size();
View
10 ...pported/process-feature/src/main/java/org/geotools/process/feature/gs/FeatureProcess.java
@@ -15,7 +15,7 @@
import com.vividsolutions.jts.geom.Geometry;
-@DescribeProcess(title = "feature", description = "Turns a single geometry into a feature collection")
+@DescribeProcess(title = "Feature from Geometry", description = "Converts a geometry into a feature collection.")
/**
*
*
@@ -23,11 +23,11 @@
*/
public class FeatureProcess implements GSProcess {
- @DescribeResult(name = "result", description = "The feature collection wrapping the geometry")
+ @DescribeResult(name = "result", description = "Output feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "geometry", description = "The feature geometry", min = 1) Geometry geometry,
- @DescribeParameter(name = "crs", description = "The geometry CRS (if not already available)") CoordinateReferenceSystem crs,
- @DescribeParameter(name = "typeName", description = "The generated feature type name", min = 1) String name) {
+ @DescribeParameter(name = "geometry", description = "Input geometry", min = 1) Geometry geometry,
+ @DescribeParameter(name = "crs", description = "Coordinate reference system of the input geometry (if not provided in the geometry)") CoordinateReferenceSystem crs,
+ @DescribeParameter(name = "typeName", description = "Feauturetype name for the feature collection", min = 1) String name) {
// get the crs
if (crs == null) {
try {
View
16 ...nsupported/process-feature/src/main/java/org/geotools/process/feature/gs/GridProcess.java
@@ -47,22 +47,20 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "grid", description = "Builds a regular cell grid")
+@DescribeProcess(title = "Grid", description = "Generates a georeferenced regular grid of cells. Output contains the attributes: cell - the cell polygon; id - a unique identifier; centerX and centerY - the ordinates of the cell center.")
public class GridProcess implements GSProcess {
enum GridMode {
Rectangular, HexagonFlat, HexagonAngled
};
- @DescribeResult(name = "result", description = "The grid")
+ @DescribeResult(name = "result", description = "Generated grid cells as features")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The grid bounds") ReferencedEnvelope bounds,
- @DescribeParameter(name = "width", description = "Cell width (in the same uom as the bounds referencing system)") double width,
- @DescribeParameter(name = "height", description = "Cell height (optional, used only for rectangular grids, "
- + "if not provided it is assumed equals to the width)", min = 0) Double height,
- @DescribeParameter(name = "vertexSpacing", description = "Distance between vertices (used to create densified " +
- "sides suitable for reprojection)", min = 0) Double vertexSpacing,
- @DescribeParameter(name = "mode", description = "The type of grid to be generated", min = 0) GridMode mode)
+ @DescribeParameter(name = "bounds", description = "Bounds of the grid") ReferencedEnvelope bounds,
+ @DescribeParameter(name = "width", description = "Width of a cell (in units of the grid CRS)") double width,
+ @DescribeParameter(name = "height", description = "Height of a cell (in units of the grid CRS). Only for rectangular grid, defaults to equal width.", min = 0) Double height,
+ @DescribeParameter(name = "vertexSpacing", description = "Distance between vertices along cell sides (in units of the grid CRS)", min = 0) Double vertexSpacing,
+ @DescribeParameter(name = "mode", description = "Type of grid to be generated. Specifies shape of cells in grid.", min = 0) GridMode mode)
throws ProcessException {
final GridFeatureBuilder builder = new GridFeatureBuilderImpl(bounds
.getCoordinateReferenceSystem());
View
5 ...ess-feature/src/main/java/org/geotools/process/feature/gs/InclusionFeatureCollection.java
@@ -45,10 +45,9 @@
* @author Andrea Di Nora - Sinergis
* @author Pietro Arena - Sinergis
*/
-@DescribeProcess(title = "inclusion", description = "Provide a feature collection containing the features of "
- + "the first input collection included in at least one feature of the the second feature collection")
+@DescribeProcess(title = "Inclusion of Feature Collections", description = "Returns a feature collection consisting of the features from the first collection which are spatially contained in at least one feature of the second collection.")
public class InclusionFeatureCollection implements GSProcess {
- @DescribeResult(description = "feature collection containg the features of the first collection included in the second collection")
+ @DescribeResult(description = "Output feature collection")
public SimpleFeatureCollection execute(
@DescribeParameter(name = "first feature collection", description = "First feature collection") SimpleFeatureCollection firstFeatures,
@DescribeParameter(name = "second feature collection", description = "Second feature collection") SimpleFeatureCollection secondFeatures) {
View
16 ...-feature/src/main/java/org/geotools/process/feature/gs/IntersectionFeatureCollection.java
@@ -67,8 +67,7 @@
* @author Pietro Arena - Sinergis
* @author Luca Paolino - GeoSolutions
*/
-@DescribeProcess(title = "intersection", description = "Returns the intersections between two feature "
- + "collections adding the attributes from both of them")
+@DescribeProcess(title = "Intersection of Feature Collections", description = "Spatial intersection of two feature collections, incuding combining attributes from both.")
public class IntersectionFeatureCollection implements GSProcess {
private static final Logger logger = Logger
.getLogger("org.geotools.process.feature.gs.IntersectionFeatureCollection");
@@ -78,16 +77,15 @@
static final String ECKERT_IV_WKT = "PROJCS[\"World_Eckert_IV\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Eckert_IV\"],PARAMETER[\"Central_Meridian\",0.0],UNIT[\"Meter\",1.0]]";
- @DescribeResult(description = "feature collection containg the intersections between the two feature "
- + "collections and the attributes from both of them")
+ @DescribeResult(description = "Output feature collection")
public SimpleFeatureCollection execute(
@DescribeParameter(name = "first feature collection", description = "First feature collection") SimpleFeatureCollection firstFeatures,
@DescribeParameter(name = "second feature collection", description = "Second feature collection") SimpleFeatureCollection secondFeatures,
- @DescribeParameter(name = "first attributes to retain", collectionType = String.class, min = 0, description = "List of the first feature collection attributes to output") List<String> firstAttributes,
- @DescribeParameter(name = "second attributes to retain", collectionType = String.class, min = 0, description = "List of the second feature collection attributes to output") List<String> sndAttributes,
- @DescribeParameter(name = "intersectionMode", min = 0, description = "The operations to perform: set INTERSECTION if the geometry is the intersection, FIRST if the geometry is extracted by firstFeatures, SECOND if it is extracted by secondFeatures (DEFAULT=INTERSECTION)") IntersectionMode intersectionMode,
- @DescribeParameter(name = "percentagesEnabled", min = 0, description = "Set it true to get the intersection percentage parameters, false otherwise (DEFAULT=false)") Boolean percentagesEnabled,
- @DescribeParameter(name = "areasEnabled", min = 0, description = "Set it true to get the area attributes , false otherwise (DEFAULT=false)") Boolean areasEnabled) {
+ @DescribeParameter(name = "first attributes to retain", collectionType = String.class, min = 0, description = "First feature collection attribute to include") List<String> firstAttributes,
+ @DescribeParameter(name = "second attributes to retain", collectionType = String.class, min = 0, description = "Second feature collection attribute to include") List<String> sndAttributes,
+ @DescribeParameter(name = "intersectionMode", min = 0, description = "Specifies geometry computed for intersecting features. INTERSECTION (default) computes the spatial intersection of the inputs. FIRST copies geometry A. SECOND copies geometry B.") IntersectionMode intersectionMode,
+ @DescribeParameter(name = "percentagesEnabled", min = 0, description = "Indicates whether to output feature area percentages (attributes percentageA and percentageB)") Boolean percentagesEnabled,
+ @DescribeParameter(name = "areasEnabled", min = 0, description = "Indicates whether to output feature areas (attributes areaA and areaB)") Boolean areasEnabled) {
// assign defaults
logger.fine("INTERSECTION FEATURE COLLECTION WPS STARTED");
View
12 ...rted/process-feature/src/main/java/org/geotools/process/feature/gs/LRSGeocodeProcess.java
@@ -43,7 +43,7 @@
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.linearref.LengthIndexedLine;
-@DescribeProcess(title = "LRSGeocode", description = "Translate LRS measure to geocoded point")
+@DescribeProcess(title = "Geocode point in LRS", description = "Extracts points at a given measure from LRS features")
/**
*
*
@@ -63,12 +63,12 @@
* @return the snapped to feature
* @throws ProcessException error
*/
- @DescribeResult(name = "result", description = "The geocoded point")
+ @DescribeResult(name = "result", description = "Output feature collection")
public FeatureCollection execute(
- @DescribeParameter(name = "features", description = "The features to search") FeatureCollection featureCollection,
- @DescribeParameter(name = "from_measure_attb", description = "The feature attribue holding the features starting measure") String fromMeasureAttb,
- @DescribeParameter(name = "to_measure_attb", description = "The feature attribue holding the features ending measure") String toMeasureAttb,
- @DescribeParameter(name = "measure", description = "The LRS measure") Double measure)
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection featureCollection,
+ @DescribeParameter(name = "from_measure_attb", description = "Attribute providing start measure of feature") String fromMeasureAttb,
+ @DescribeParameter(name = "to_measure_attb", description = "Attribute providing end measure of feature") String toMeasureAttb,
+ @DescribeParameter(name = "measure", description = "Measure of the point along the feature to be computed") Double measure)
throws ProcessException {
FeatureCollection results = FeatureCollections.newCollection();
try {
View
14 ...rted/process-feature/src/main/java/org/geotools/process/feature/gs/LRSMeasureProcess.java
@@ -54,7 +54,7 @@
import com.vividsolutions.jts.linearref.LengthIndexedLine;
import com.vividsolutions.jts.operation.distance.DistanceOp;
-@DescribeProcess(title = "LRSGeocode", description = "Translate geocoded point to LRS measure")
+@DescribeProcess(title = "Measure point in LRS", description = "Computes the measure of a point along a feature (as feature with attribute lrs_measure). The point is measured along the nearest feature.")
/**
*
*
@@ -74,13 +74,13 @@
* @return the snapped to feature
* @throws ProcessException error
*/
- @DescribeResult(name = "result", description = "The LRS measure")
+ @DescribeResult(name = "result", description = "Output feature collection")
public FeatureCollection execute(
- @DescribeParameter(name = "features", description = "The features to search") FeatureCollection featureCollection,
- @DescribeParameter(name = "from_measure_attb", description = "The feature attribue holding the features starting measure") String fromMeasureAttb,
- @DescribeParameter(name = "to_measure_attb", description = "The feature attribue holding the features ending measure") String toMeasureAttb,
- @DescribeParameter(name = "point", description = "The point to search from") Point point,
- @DescribeParameter(name = "crs", min = 0, description = "The coordinate reference system of the collection and point (will use the collection one if not provided") CoordinateReferenceSystem crs)
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection featureCollection,
+ @DescribeParameter(name = "from_measure_attb", description = "Attribute providing start measure of feature") String fromMeasureAttb,
+ @DescribeParameter(name = "to_measure_attb", description = "Attribute providing end measure of feature") String toMeasureAttb,
+ @DescribeParameter(name = "point", description = "Point whose location to measure") Point point,
+ @DescribeParameter(name = "crs", min = 0, description = "Coordinate reference system to use for input (default is the input collection CRS)") CoordinateReferenceSystem crs)
throws ProcessException {
FeatureCollection results = FeatureCollections.newCollection();
try {
View
14 ...rted/process-feature/src/main/java/org/geotools/process/feature/gs/LRSSegmentProcess.java
@@ -41,7 +41,7 @@
import com.vividsolutions.jts.linearref.LengthIndexedLine;
import com.vividsolutions.jts.operation.linemerge.LineMerger;
-@DescribeProcess(title = "LRSSegment", description = "Return a segment geometry for a LRM measure range")
+@DescribeProcess(title = "Extract Segment in LRS", description = "Extracts segment between a given start and end measure from LRS features")
/**
*
*
@@ -61,13 +61,13 @@
* @return the snapped to feature
* @throws ProcessException error
*/
- @DescribeResult(name = "result", description = "The segment geometry")
+ @DescribeResult(name = "result", description = "Output feature collection")
public FeatureCollection execute(
- @DescribeParameter(name = "features", description = "The features to search") FeatureCollection featureCollection,
- @DescribeParameter(name = "from_measure_attb", description = "The feature attribue holding the features starting measure") String fromMeasureAttb,
- @DescribeParameter(name = "to_measure_attb", description = "The feature attribue holding the features ending measure") String toMeasureAttb,
- @DescribeParameter(name = "from_measure", description = "The from LRS measure") Double fromMeasure,
- @DescribeParameter(name = "to_measure", description = "The to LRS measure") Double toMeasure)
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection featureCollection,
+ @DescribeParameter(name = "from_measure_attb", description = "Attribute providing start measure of feature") String fromMeasureAttb,
+ @DescribeParameter(name = "to_measure_attb", description = "Attribute providing end measure of feature") String toMeasureAttb,
+ @DescribeParameter(name = "from_measure", description = "Measure for start of segment to extract") Double fromMeasure,
+ @DescribeParameter(name = "to_measure", description = "Measure for end of segment to extract") Double toMeasure)
throws ProcessException {
FeatureCollection results = FeatureCollections.newCollection();
try {
View
10 ...pported/process-feature/src/main/java/org/geotools/process/feature/gs/NearestProcess.java
@@ -53,7 +53,7 @@
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.operation.distance.DistanceOp;
-@DescribeProcess(title = "Nearest", description = "Get nearest feature")
+@DescribeProcess(title = "Nearest Feature", description = "Returns the feature in a given feature collection that has the smallest distance to a given point.")
/**
*
*
@@ -77,11 +77,11 @@
* @throws ProcessException
* error
*/
- @DescribeResult(name = "result", description = "The nearest feature")
+ @DescribeResult(name = "result", description = "Nearest feature")
public FeatureCollection execute(
- @DescribeParameter(name = "features", description = "The features to search") FeatureCollection featureCollection,
- @DescribeParameter(name = "point", description = "The point to search from") Point point,
- @DescribeParameter(name = "crs", min = 0, description = "The coordinate reference system of the collection and point (will use the collection one if not provided") CoordinateReferenceSystem crs)
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection featureCollection,
+ @DescribeParameter(name = "point", description = "Point from which to compute distance") Point point,
+ @DescribeParameter(name = "crs", min = 0, description = "Coordinate reference system of the collection and point (default is the input collection CRS)") CoordinateReferenceSystem crs)
throws ProcessException {
try {
if (crs == null) {
View
16 ...supported/process-feature/src/main/java/org/geotools/process/feature/gs/PointBuffers.java
@@ -51,19 +51,15 @@
* within a given distance from the central point The data layer must
* be a point layer, the reference layer must be a polygonal one"
*/
-@DescribeProcess(title = "pointBuffers", description = "Generates a set of polygons, each representing the set of points " +
- "within a given distance from the central point"
- + "The data layer must be a point layer, the reference layer must be a polygonal one")
+@DescribeProcess(title = "Point Buffers", description = "Returns a collection of circular buffer polygons with specified radii centered on a given point")
public class PointBuffers implements GSProcess {
- @DescribeResult(name = "buffers", description = "The buffers. Each feature has a 'geom' attribute and a 'radius' attribute")
+ @DescribeResult(name = "buffers", description = "Features for the circular buffer polygons around the point, with attributes geom and radius")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "center", description = "The buffers center") Point center,
- @DescribeParameter(name = "crs", description = "The coordinate reference system "
- + "in which the point expressed and the points will be generated", min = 0) CoordinateReferenceSystem crs,
- @DescribeParameter(name = "distances", description = "The buffer distances, in meters") double[] distances,
- @DescribeParameter(name = "quadrantSegments", description = "Number of segments per quadrant "
- + "in the generated buffers (8 by default)", min = 0) Integer quadrantSegments,
+ @DescribeParameter(name = "center", description = "Input point") Point center,
+ @DescribeParameter(name = "crs", description = "Coordinate reference system of the point and the generated buffer polygons", min = 0) CoordinateReferenceSystem crs,
+ @DescribeParameter(name = "distances", description = "Buffer radius distance, in meters") double[] distances,
+ @DescribeParameter(name = "quadrantSegments", description = "Number of line segments per quarter-circle to be generated. Larger numbers produce smoother shapes but larger numbers of vertices. Default is 8", min = 0) Integer quadrantSegments,
ProgressListener listener) {
SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder();
tb.add("geom", Polygon.class, crs);
View
14 ...ed/process-feature/src/main/java/org/geotools/process/feature/gs/PointStackerProcess.java
@@ -77,7 +77,7 @@
* @author mdavis
*
*/
-@DescribeProcess(title = "PointStacker", description = "Aggregates a collection of points into a set of stacked points.")
+@DescribeProcess(title = "Point Stacker", description = "Aggregates a collection of points over a grid into one point per grid cell.")
public class PointStackerProcess implements GSProcess {
public static final String ATTR_GEOM = "geom";
@@ -93,19 +93,19 @@
// no process state is defined, since RenderingTransformation processes must be stateless
- @DescribeResult(name = "result", description = "The collection of stacked points")
+ @DescribeResult(name = "result", description = "Aggregated feature collection")
public SimpleFeatureCollection execute(
// process data
- @DescribeParameter(name = "data", description = "Features containing the data points") SimpleFeatureCollection data,
+ @DescribeParameter(name = "data", description = "Input feature collection") SimpleFeatureCollection data,
// process parameters
- @DescribeParameter(name = "cellSize", description = "Cell size for gridding, in pixels") Integer cellSize,
+ @DescribeParameter(name = "cellSize", description = "Grid cell size to aggregate to, in pixels") Integer cellSize,
// output image parameters
- @DescribeParameter(name = "outputBBOX", description = "Georeferenced bounding box of the output image") ReferencedEnvelope outputEnv,
- @DescribeParameter(name = "outputWidth", description = "Width of the output image, in pixels") Integer outputWidth,
- @DescribeParameter(name = "outputHeight", description = "Height of the output image, in pixels") Integer outputHeight,
+ @DescribeParameter(name = "outputBBOX", description = "Bounding box for target image extent") ReferencedEnvelope outputEnv,
+ @DescribeParameter(name = "outputWidth", description = "Target image width in pixels") Integer outputWidth,
+ @DescribeParameter(name = "outputHeight", description = "Target image height in pixels") Integer outputHeight,
ProgressListener monitor) throws ProcessException, TransformException {
View
11 ...supported/process-feature/src/main/java/org/geotools/process/feature/gs/QueryProcess.java
@@ -31,19 +31,18 @@
import org.opengis.feature.simple.SimpleFeatureType;
import org.opengis.filter.Filter;
-@DescribeProcess(title = "Query", description = "Applies a filter and an attribute selection to the incoming feature collection. "
- + "The process can be also used as a pure format converter when no filtering or attribute selection is performed")
+@DescribeProcess(title = "Query", description = "Queries a feature collection using an optional filter and an optional list of attributes to include. Can also be used to convert feature collection format.")
/**
*
*
* @source $URL$
*/
public class QueryProcess implements GSProcess {
- @DescribeResult(name = "result", description = "The filtered collection")
+ @DescribeResult(name = "result", description = "The filtered feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to filter") SimpleFeatureCollection features,
- @DescribeParameter(name = "attribute", description = "The attribute name(s)", collectionType = String.class, min = 0) List<String> attributes,
- @DescribeParameter(name = "filter", min = 0, description = "Filters the input features") Filter filter)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "attribute", description = "Attribute to include in output", collectionType = String.class, min = 0) List<String> attributes,
+ @DescribeParameter(name = "filter", min = 0, description = "The filter to apply") Filter filter)
throws ProcessException {
// apply filtering if necessary
if (filter != null && !filter.equals(Filter.INCLUDE)) {
View
8 ...process-feature/src/main/java/org/geotools/process/feature/gs/RectangularClipProcess.java
@@ -34,13 +34,13 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "rectangularClip", description = "Clips the features to the specified bounding box")
+@DescribeProcess(title = "Rectangular Clip", description = "Clips (crops) features to the specified rectangular extent")
public class RectangularClipProcess implements GSProcess {
- @DescribeResult(name = "result", description = "The feature collection bounds")
+ @DescribeResult(name = "result", description = "Clipped feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to be simplified") SimpleFeatureCollection features,
- @DescribeParameter(name = "clip", description = "The clipping area") ReferencedEnvelope clip)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "clip", description = "Bounds of clipping rectangle") ReferencedEnvelope clip)
throws ProcessException {
return new ClipProcess().execute(features, JTS.toGeometry(clip));
}
View
8 ...orted/process-feature/src/main/java/org/geotools/process/feature/gs/ReprojectProcess.java
@@ -34,14 +34,14 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "reprojectFeatures", description = "Reprojects the specified features to another CRS, can also be used to force a known CRS onto a set of feaures that miss one (or that have a wrong one)")
+@DescribeProcess(title = "Reproject Features", description = "Reprojects features into a supplied coordinate reference system. Can also force a feature collection to have a given CRS.")
public class ReprojectProcess implements GSProcess {
- @DescribeResult(name = "result", description = "The reprojected features")
+ @DescribeResult(name = "result", description = "Input feature collection")
public SimpleFeatureCollection execute(
@DescribeParameter(name = "features", description = "The feature collection that will be reprojected") SimpleFeatureCollection features,
- @DescribeParameter(name = "forcedCRS", min = 0, description = "Forces a certain CRS on features before reprojection") CoordinateReferenceSystem forcedCRS,
- @DescribeParameter(name = "targetCRS", min = 0, description = "Features will be reprojected from their native/forced CRS to the target CRS") CoordinateReferenceSystem targetCRS)
+ @DescribeParameter(name = "forcedCRS", min = 0, description = "Coordinate reference system to use for input feature collection (overrides native one)") CoordinateReferenceSystem forcedCRS,
+ @DescribeParameter(name = "targetCRS", min = 0, description = "Target coordinate reference system to use for reprojection") CoordinateReferenceSystem targetCRS)
throws Exception {
if (forcedCRS != null) {
View
8 ...ported/process-feature/src/main/java/org/geotools/process/feature/gs/SimplifyProcess.java
@@ -46,14 +46,14 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "simplify", description = "Simplifies the geometry")
+@DescribeProcess(title = "Simplify", description = "Simplifies feature geometry by reducing vertices using Douglas-Peucker simplification.")
public class SimplifyProcess implements GSProcess {
@DescribeResult(name = "result", description = "The simplified feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to be simplified") SimpleFeatureCollection features,
- @DescribeParameter(name = "distance", description = "The simplification distance (should be positive)") double distance,
- @DescribeParameter(name = "preserveTopology", description = "Wheter a topology preserving simplification should be used", min = 0) Boolean preserveTopology)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "distance", description = "Simplification distance tolerance") double distance,
+ @DescribeParameter(name = "preserveTopology", description = "If True, ensures that simplified features are topologically valid", min = 0) Boolean preserveTopology)
throws ProcessException {
if (distance < 0) {
throw new ProcessException("Invalid distance, it should be a positive number");
View
10 ...nsupported/process-feature/src/main/java/org/geotools/process/feature/gs/SnapProcess.java
@@ -57,7 +57,7 @@
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.operation.distance.DistanceOp;
-@DescribeProcess(title = "Snap", description = "Snap to the nearest feature")
+@DescribeProcess(title = "Snap", description = "Returns the feature in a feature collection nearest to a given point. Attributes for distance and bearing are added.")
/**
*
*
@@ -89,11 +89,11 @@
* @throws ProcessException
* error
*/
- @DescribeResult(name = "result", description = "The nearest feature")
+ @DescribeResult(name = "result", description = "Nearest feature, with added attributes for distance and bearing.")
public FeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to search") FeatureCollection featureCollection,
- @DescribeParameter(name = "point", description = "The point to search from") Point point,
- @DescribeParameter(name = "crs", min = 0, description = "The coordinate reference system of the collection and point (will use the collection one if not provided") CoordinateReferenceSystem crs)
+ @DescribeParameter(name = "features", description = "Input feature collection") FeatureCollection featureCollection,
+ @DescribeParameter(name = "point", description = "Point geometry to test against for nearest feature") Point point,
+ @DescribeParameter(name = "crs", min = 0, description = "Coordinate reference system to assume for input geometry (default is to use the input collection CRS)") CoordinateReferenceSystem crs)
throws ProcessException {
try {
if (crs == null) {
View
14 ...orted/process-feature/src/main/java/org/geotools/process/feature/gs/TransformProcess.java
@@ -104,7 +104,7 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "transform", description = "Transform feature collection")
+@DescribeProcess(title = "Transform", description = "Computes a new feature collection from the input one by renaming, deleting, and computing new attributes. Attribute values are specified as ECQL expressions in the form name=expression.")
public class TransformProcess implements GSProcess {
/**
* Definition of an attribute used during transform
@@ -125,10 +125,10 @@
}
private static final String DEF_DELIMITER = ";";
- @DescribeResult(name = "result", description = "transformed features")
+ @DescribeResult(name = "result", description = "Transformed feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection to transform") SimpleFeatureCollection features,
- @DescribeParameter(name = "transform", description = "Transform defined with one 'attribute=expr' pair per line") String transform)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "transform", description = "The transform specification, as a list of specifiers of the form name=expression, delimited by newlines or semicolons.") String transform)
throws ProcessException {
if (transform == null) {
return features; // no change
@@ -137,10 +137,10 @@ public SimpleFeatureCollection execute(
return executeList(features, list);
}
- @DescribeResult(name = "result", description = "transformed features")
+ @DescribeResult(name = "result", description = "Transformed feature collection")
public SimpleFeatureCollection executeList(
- @DescribeParameter(name = "features", description = "The feature collection to rehaped") SimpleFeatureCollection features,
- @DescribeParameter(name = "transform", description = "List of Definitions for the output feature type") List<Definition> transform)
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "transform", description = "List of Definitions for the output feature attributes") List<Definition> transform)
throws ProcessException {
if (transform == null) {
return features; // no change
View
8 ...process-feature/src/main/java/org/geotools/process/feature/gs/UnionFeatureCollection.java
@@ -45,16 +45,14 @@
* @author Andrea Di Nora - Sinergis
* @author Pietro Arena - Sinergis
*/
-@DescribeProcess(title = "union", description = "Returns a SQL like union between two feature collections " +
- "(will contain attributes from both collections, if two attributes are not the same type " +
- "they will be turned into strings)")
+@DescribeProcess(title = "Union Feature Collections", description = "Returns single feature collection containing all features from two input feature collections. The output attribute schema is a combination of the attributes from the inputs. Attributes with same name but different types will be converted to strings.")
public class UnionFeatureCollection implements GSProcess {
static final String SCHEMA_NAME = "Union_Layer";
- @DescribeResult(description = "feature collection containg the union between the two feature collections")
+ @DescribeResult(name = "result", description = "Output feature collection")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "first feature collection", description = "First feature collection") SimpleFeatureCollection firstFeatures,
+ @DescribeParameter(name = "first feature collection", description = "First input feature collection") SimpleFeatureCollection firstFeatures,
@DescribeParameter(name = "second feature collection", description = "Second feature collection") SimpleFeatureCollection secondFeatures)
throws ClassNotFoundException {
if (!(firstFeatures.features().next().getDefaultGeometry().getClass().equals(secondFeatures
View
8 ...upported/process-feature/src/main/java/org/geotools/process/feature/gs/UniqueProcess.java
@@ -40,17 +40,17 @@
*
* @source $URL$
*/
-@DescribeProcess(title = "Unique values", description = "Returns the unique values of a certain attribute")
+@DescribeProcess(title = "Unique", description = "Returns the unique values of a given attribute in a feature collection.")
public class UniqueProcess implements GSProcess {
// the functions this process can handle
public enum AggregationFunction {
Average, Max, Median, Min, StdDev, Sum;
}
- @DescribeResult(name = "result", description = "The list of unique values extracted from the feature list")
+ @DescribeResult(name = "result", description = "Feature collection with an attribute containing the unique values")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "features", description = "The feature collection that will be inspected") SimpleFeatureCollection features,
- @DescribeParameter(name = "attribute", description = "The attribute whose unique values will be returned") String attribute,
+ @DescribeParameter(name = "features", description = "Input feature collection") SimpleFeatureCollection features,
+ @DescribeParameter(name = "attribute", description = "Attribute whose unique values are extracted") String attribute,
ProgressListener progressListener) throws Exception {
int attIndex = -1;
View
17 .../process-feature/src/main/java/org/geotools/process/feature/gs/VectorZonalStatistics.java
@@ -53,21 +53,14 @@
* Provides statistics for the distribution of a certain quantity in a set of reference areas.
* The data layer must be a point layer, the reference layer must be a polygonal one
*/
-@DescribeProcess(title = "vectorZonalStatistics", description = "Provides statistics for the distribution "
- + "of a certain quantity in a set of reference areas. "
- + "The data layer must be a point layer, the reference layer must be a polygonal one")
+@DescribeProcess(title = "Vector Zonal Statistics", description = "Computes statistics for the distribution of a given attribute in a set of polygonal zones. Input must be points.")
public class VectorZonalStatistics implements GSProcess {
- @DescribeResult(name = "statistics", description = "A feature collection with all the attributes "
- + "of the zoning layer (prefixed by 'z_'), "
- + "and the statistics fields count/min/max/sum/avg/stddev")
+ @DescribeResult(name = "statistics", description = "A feature collection with the attributes of the zone layer (prefixed by 'z_') and the statistics fields count,min,max,sum,avg,stddev")
public SimpleFeatureCollection execute(
- @DescribeParameter(name = "data", description = "The point layer containing "
- + "the data to be used in the statistics") SimpleFeatureCollection data,
- @DescribeParameter(name = "dataAttribute", description = "The attribute to be used for "
- + "the computation of the statistics") String dataAttribute,
- @DescribeParameter(name = "zones", description = "The various zones in which the statistics will be computed. "
- + "Must be a polygon layer, each polygon will be used to generate a separate statistic") SimpleFeatureCollection zones) {
+ @DescribeParameter(name = "data", description = "Input collection of point features") SimpleFeatureCollection data,
+ @DescribeParameter(name = "dataAttribute", description = "Attribute to use for computing statistics") String dataAttribute,
+ @DescribeParameter(name = "zones", description = "Zone polygon features for which to compute statistics") SimpleFeatureCollection zones) {
AttributeDescriptor dataDescriptor = data.getSchema().getDescriptor(dataAttribute);
if (dataDescriptor == null) {

0 comments on commit 668c845

Please sign in to comment.
Something went wrong with that request. Please try again.