|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Feature
A Feature, of arbitrary complexity, with at a minimum Geometry and CRS information.
We have allowed for additional "temporary" user data to be associated with Attributes in order to facilitate processing services. These services traditionally end up hold "shadow" structures such as a HashMap referenced by FeatureID.
Method Summary | |
---|---|
BoundingBox |
getBounds()
The bounds of this Feature, if available. |
CoordinateReferenceSystem |
getCRS()
The CRS of this feature (if known). |
GeometryAttribute |
getDefaultGeometry()
|
String |
getID()
Feature ID, should be unique, inmutable identification for physical Feature being modeled. |
FeatureType |
getType()
Access the type of this Feature. |
Object |
getUserData(Object key)
Retrieve associated process specific information. |
void |
putUserData(Object key,
Object value)
Allows the association of process specific information. |
void |
setCRS(CoordinateReferenceSystem crs)
Sets the CRS of the feature. |
void |
setDefaultGeometry(GeometryAttribute geometryAttribute)
Sets the default geometry attribute. |
Methods inherited from interface ComplexAttribute |
---|
associations, attributes, get, getDescriptor, getValue, setValue |
Methods inherited from interface Attribute |
---|
nillable, operation, setValue |
Methods inherited from interface Property |
---|
descriptor, name |
Method Detail |
---|
void putUserData(Object key, Object value)
key
- Object used to allow String and Enum keysvalue
- Associated with keyObject getUserData(Object key)
key
- Object used to allow String and Enum keysString getID()
Care must be taken to avoid generation based things that will change over time (mutable attribtues, or shapefile rows). It is hoped that the domain being modeled will have specific identity practices in palce that you can depend on, as example Airports make use of standards code such as YVR for the Victoria International Airport.
As a consequence of this different Application Descriptors representing the same physical content should end up with the same idenification. This is a "dream", on the off chance is obtained you may wish to prepend the typeName to this ID when producing GML. This would only be a problem when creating one GML document based on two application schemas for Airport, both of which succeeded in using the actual physical identification strings for their ID.
getID
in interface Attribute
CoordinateReferenceSystem getCRS()
This information is available as an optional attribute in a GML document, the idea is sound: if avalable the CRS information for a feature should be available here.
void setCRS(CoordinateReferenceSystem crs)
crs
- The coordinate reference system of the feature.BoundingBox getBounds()
This should be a "shadow" of information available as part of the attribute model, for instance of BoundedFeatureType should show bounds as a required attribute and you would be able to expect a non-null value from this method.
It is assumed the returned Envelope has a CRS, if not you can assume the value of getCRS() applies?
FeatureType getType()
getType
in interface Attribute
getType
in interface ComplexAttribute
getType
in interface Property
GeometryAttribute getDefaultGeometry()
void setDefaultGeometry(GeometryAttribute geometryAttribute)
geom
- A geometry attribute.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |