Package org.geotools.process.vector
Class TransformProcess
Object
TransformProcess
- All Implemented Interfaces:
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 ClassesModifier and TypeClassDescriptionstatic class
Definition of an attribute used during transform -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute
(SimpleFeatureCollection features, String transform) 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)
-
Constructor Details
-
TransformProcess
public TransformProcess()
-
-
Method Details
-
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
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)
-