Package org.geotools.process.vector
Class TransformProcess
- Object
-
- TransformProcess
-
- All Implemented Interfaces:
VectorProcess
public class TransformProcess extends Object implements VectorProcess
Used to transform a feature collection as defined using a series of expressions.The definition of the output feature type can be provided as a
TransformProcess.Definition
data structure or using a simple string format:the_geom=the_geom name=name area=area( the_geom )
Attribute definitions can be delimited by line breaks and/or by semicolons.This is a very flexible process which can be used to:
- Change the order of attributes - resulting in a new feature type:
INPUT Schema DEFINITION OUTPUT Schema the_geom: Polygon the_geom the_geom: Polygon name: String id id: Long id: Long name name: String description: String description description: String
- Rename or remove attributes - resulting in a new feature type:
INPUT Schema DEFINITION OUTPUT Schema the_geom: Polygon the_geom the_geom: Polygon name: String id_code=id id_code: Long id: Long summary=description summary: String description: String
- Process geometry - using functions like "the_geom=simplify( the_geom, 2.0 )" or
"the_geom=centriod( the_geom )":
INPUT Schema DEFINITION OUTPUT Schema the_geom: Polygon the_geom=centriod(the_geom) the_geom: Point name: String name name: String id: Long id id: Long description: String description description: String
- Generate additional attributes using the form: area=area( the_geom ):
INPUT Schema DEFINITION OUTPUT Schema the_geom: Polygon the_geom=centriod(the_geom) the_geom: Point name: String name name: String id: Long id id: Long description: String description description: String area=area( the_geom) area: Double text=concatenate(name,'-',id) text: String
This is a port of the uDig "reshape" operation to the GeoTools process framework.
- Author:
- Jody Garnett (LISAsoft)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TransformProcess.Definition
Definition of an attribute used during transform
-
Constructor Summary
Constructors Constructor Description TransformProcess()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SimpleFeatureCollection
execute(SimpleFeatureCollection features, String transform)
SimpleFeatureCollection
executeList(SimpleFeatureCollection features, List<TransformProcess.Definition> transform)
static List<TransformProcess.Definition>
toDefinition(String definition)
Parse out a list ofTransformProcess.Definition
from the provided text description.static SimpleFeatureType
toReShapeFeatureType(SimpleFeatureCollection delegate, List<TransformProcess.Definition> definitionList)
-
-
-
Method Detail
-
execute
public SimpleFeatureCollection execute(SimpleFeatureCollection features, String transform) throws ProcessException
- Throws:
ProcessException
-
executeList
public SimpleFeatureCollection executeList(SimpleFeatureCollection features, List<TransformProcess.Definition> transform) throws ProcessException
- Throws:
ProcessException
-
toDefinition
public static List<TransformProcess.Definition> toDefinition(String definition)
Parse out a list ofTransformProcess.Definition
from the provided text description.The format expected here is one definition per line; using the format "name=...expression..".
- Returns:
- List of definition
-
toReShapeFeatureType
public static SimpleFeatureType toReShapeFeatureType(SimpleFeatureCollection delegate, List<TransformProcess.Definition> definitionList)
-
-