class Feature extends java.lang.Object
A Feature contains a set of named attributes with values.
A Feature is created from a Map of name value pairs and an identifier.
Without a Schema (see below) the data types are inferred).
Feature f = new Feature(['name': 'anvil', 'price': 100.0], 'widgets.1')
A Feature can also be created from a list of values, an identifier, and a Schema
Schema s = new Schema('widgets', [['name','string'],['price','float']]) Feature f = new Feature(['anvil', 100.0], '1', s)
A Feature can also be created from a Map of name value pairs, an identifier, and a Schema
Schema s = new Schema('widgets', [['name','string'],['price','float']]) Feature f = new Feature(['name': 'anvil', 'price': 100.0], '1', s)
| Constructor and description | 
|---|
                                Feature(SimpleFeature f)Create a new Feature by wrapping a GeoTools SimpleFeature  | 
                        
                                Feature(Map attributes, java.lang.String id, Schema schema)Create a new Feature with a Map of attributes, an id, and a Schema.  | 
                        
                                Feature(java.util.List attributes, java.lang.String id, Schema schema)Create a new Feature with a List of values, an id, and a Schema.  | 
                        
                                Feature(Map attributes, java.lang.String id)Create a new Feature with a Map of Attributes and an Id.  | 
                        
| Type Params | Return Type | Name and description | 
|---|---|---|
 | 
                            java.lang.Object | 
                            get(java.lang.String name)Get a value by Field name.  | 
                        
 | 
                            java.lang.Object | 
                            get(Field field)Get a value by a Field.  | 
                        
 | 
                            java.lang.Object | 
                            getAt(java.lang.String name)Get a value by Field name.  | 
                        
 | 
                            java.lang.Object | 
                            getAt(Field field)Get a value by Field.  | 
                        
 | 
                            Map | 
                            getAttributes()Get a Map of all attributes  | 
                        
 | 
                            Bounds | 
                            getBounds()The Bounds of the Feature's Geometry.  | 
                        
 | 
                            Geometry | 
                            getGeom()Get the Feature's Geometry  | 
                        
 | 
                            java.lang.String | 
                            getId()Get the Feature's ID  | 
                        
 | 
                            void | 
                            putAt(java.lang.String name, java.lang.Object value)Another way of setting a value.  | 
                        
 | 
                            void | 
                            putAt(Field field, java.lang.Object value)Set a value  | 
                        
 | 
                            void | 
                            set(java.lang.String name, java.lang.Object value)Set a value.  | 
                        
 | 
                            void | 
                            set(Field field, java.lang.Object value)Set a value.  | 
                        
 | 
                            void | 
                            set(Feature f)Set the values of this Feature based on values from another Feature  | 
                        
 | 
                            void | 
                            set(Map attributes)Set the values of this Feature based on values from a Map  | 
                        
 | 
                            void | 
                            setGeom(Geometry geom)Set the Feature's Geometry  | 
                        
 | 
                            java.lang.String | 
                            toString()The string representation  | 
                        
| Methods inherited from class | Name | 
|---|---|
class java.lang.Object | 
                            java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() | 
                        
The wrapped GeoTools SimpleFeature
The Layer the Feature was read from
The Schema
Create a new Feature by wrapping a GeoTools SimpleFeature
f -  The GeoTools SimpleFeatureCreate a new Feature with a Map of attributes, an id, and a Schema.
 Schema s = new Schema('widgets', [['name','string'],['price','float']])
 Feature f = new Feature(['name': 'anvil', 'price': 100.0], '1', s)
 
attributes -  A Map of name value pairsid -  A String identifierschema -  The SchemaCreate a new Feature with a List of values, an id, and a Schema. The List of values must be in the same order as the Schema's fields.
 Schema s = new Schema('widgets', [['name','string'],['price','float']])
 Feature f = new Feature(['anvil', 100.0], '1', s)
 
attributes -  A List of attribute valuesid -  A String identifierschema -  The SchemaCreate a new Feature with a Map of Attributes and an Id. The Schema is inferred from the attribute values.
 Feature f = new Feature(['name': 'anvil', 'price': 100.0], 'widgets.1')
 
atributes -  A Map of name value pairsid -  The string identiferGet a value by Field name.
String name = feature.get("name")
name -  The Field nameGet a value by a Field.
Field fld = feature.schema.get("name")
String name = feature.get(fld)
name -  The Field nameGet a value by Field name. This method supports a the following syntax:
String name = feature["name"]
name -  The Field nameGet a value by Field. This method supports a the following syntax:
Field fld = feature.schema.get("name")
String name = feature[fld]
name -  The FieldGet a Map of all attributes
The Bounds of the Feature's Geometry.
The -  Bounds of the Feature's GeometryGet the Feature's Geometry
Get the Feature's ID
Another way of setting a value. This method supports the following syntax:
feature["name"] = "lighthouse"
name -  The Field namevalue -  The new valueSet a value
Field fld = feature.schema.get("name")
feature[fld] = "lighthouse"
name -  The Fieldvalue -  The new attribute valueSet a value.
feature.set("name") = "lighthouse"
name -  The Field namevalue -  The new attribute valueSet a value.
Field fld = feature.schema.get("name")
feature.set(fld) = "lighthouse"
name -  The Fieldvalue -  The new attribute valueSet the values of this Feature based on values from another Feature
f -  The other Feature whose values we wantSet the values of this Feature based on values from a Map
attributes -  A Map of valuesSet the Feature's Geometry
geom -  The new GeometryThe string representation
Groovy Documentation