schmitzm.geotools.feature
Class FeatureUtil

java.lang.Object
  extended by schmitzm.geotools.feature.FeatureUtil

public class FeatureUtil
extends Object

Diese Klasse beinhaltet statische Methoden zum Arbeiten mit Features.

Version:
1.1
Author:
Martin Schmitz (University of Bonn/Germany), Stefan Alfons Krüger

Nested Class Summary
static class FeatureUtil.GeometryForm
          The geometry type of a FeatureCollection
static class FeatureUtil.JoinType
          Join-Types.
 
Field Summary
static AttributeTypeFactory ATTRTYPE_FACTORY
          Instance of AttributeTypeFactory.
static org.opengis.filter.FilterFactory FILTER_FACTORY
          Instance of FilterFactory.
static FilterFactory2 FILTER_FACTORY2
          Instance of FilterFactory2.
static GeometryFactory GEOMETRY_FACTORY
          Instance of JTS-GeometryFactory.
static ResourceProvider RESOURCE
          ResourceProvider, der die Lokalisation fuer Komponenten des Package schmitzm.geotools.feature zur Verfuegung stellt.
 
Constructor Summary
FeatureUtil()
           
 
Method Summary
static AttributeType cloneAttributeType(AttributeType aType, Boolean nillable)
          Clones an AttributeType.
static FeatureType cloneFeatureType(FeatureType fType, String fTypeName, Boolean nillable)
          Clones an FeatureType.
static Style createDefaultStyle(FeatureCollection fc)
          Erzeugt einen Standard-Style fuer eine FeatureCollection Und setzt eine default namen
static Style createDefaultStyle(GeometryAttributeType geometryAttrib)
          Erzeugt einen Standard-Style fuer einen GeometryAttributeType Und setzt eine default Namen.
static FeatureCollection createFeatureCollection(ResultSet rs, String... projAttr)
          Erzeugt eine FeatureCollection aus einem SQL-Result.
static FeatureType createFeatureType(ResultSetMetaData metaData, String... projAttr)
          Erzeugt einen FeatureType aus einem SQL-Result.
static FeatureType createFeatureType(ResultSetMetaData metaData, String featureTypeName, Class defaultAttrClass, String... projAttr)
          Erzeugt einen FeatureType aus einem SQL-Result.
static FeatureType createFeatureType(String featureTypeName, Map<String,Object> attrValues, Class defaultAttrClass)
          Erzeugt einen FeatureType aus Beispiel-Attribut-Werten.
static GeometricAttributeType createGeometryAttributeType(Class<? extends Geometry> geomType, Geometry defGeom, CoordinateReferenceSystem crs)
          Erzeugt einen Geometrie-Attribut-Typ.
static Style createLineStyle(Color lineColor)
          Erzeugt einen Linien-Style.
static Style createLineStyle(Color lineColor, double lineWidth)
          Erzeugt einen Linien-Style.
static FeatureSource createMemoryFeatureSource(FeatureCollection features)
          Erstellt eine FeatureSource basierend auf einem MemoryDataStore für eine übergebene FeatureCollection
static Style createPointStyle(Color fillColor)
          Erzeugt einen (randlosen) Punkt-Style in Form eines Kreises.
static Style createPointStyle(Color fillColor, Color borderColor, double width)
          Erzeugt einen (randlosen) Punkt-Style in Form eines Kreises.
static Style createPointStyle(String markStyle, Color fillColor, Color borderColor, double borderWidth, double opacity, double size, double rotation)
          Erzeugt einen Punkt-Style.
static Style createPolygonStyle(Color fillColor, Color borderColor, double borderWidth)
          Erzeugt einen Polygon-Style.
static Feature createSampleFeature(FeatureType schema)
          Creates a sample Feature instance of the given FeatureType
static FeatureCollection extendFeatureCollection(FeatureCollection fc, AttributeType... aTypes)
          Erweitert das Schema einer FeatureCollection um eine Reihe von Attributen.
static FeatureType extendFeatureType(FeatureType fType, AttributeType... aTypes)
          Erweitert das Schema einer FeatureCollection um eine Reihe von Attributen.
static Vector<Geometry> extractGeometries(FeatureCollection fc, Vector<Geometry> result)
          Extrahiert alle Default-Geometrien aus einer FeatureCollection.
static Geometry[] extractGeometriesToGeometry(Feature f)
          Extrahiert alle Geometrien aus einem Feature.
static Feature[] featuresToArray(FeatureCollection fc)
          Erzeugt einen Array von Features auf einer FeatureCollection.
static Feature[] featuresToArray(FeatureCollection fc, boolean includeNullFeatures)
          Erzeugt einen Array von Features auf einer FeatureCollection.
static Map<String,Object> getAttributeValues(Feature f, Map<String,Object> destMap, String... attrName)
          Liefert eine Reihen von Attributwerten eines Features.
static Object[] getAttributeValues(Feature f, Object[] destArray, int destStartIdx, String... attrName)
          Liefert eine Reihen von Attributwerten eines Features.
static Object[] getAttributeValues(Feature f, String... attrName)
          Liefert eine Reihen von Attributwerten eines Features.
static AutoValueGenerator getAutoValueGenerator(AttributeType aType)
          Liefert den AutoValueGenerator fuer einen AttributeType.
static Object getDefaultAttributeValue(AttributeType attrType)
          Liefert den Default-Wert fuer ein Attribut.
static Object getDefaultAttributeValue(AttributeType attrType, boolean allowNull)
          Liefert den Default-Wert fuer ein Attribut.
static Object[] getDefaultAttributeValues(FeatureType ft)
          Liefert die Default-Werte fuer alle Attribute eines FeatureType.
static Object[] getDefaultAttributeValues(FeatureType ft, Object[] destArray, int destStartIdx, String... attrName)
          Liefert die Default-Werte fuer eine Reihen von Attributwerten eines FeatureTypes.
static FeatureUtil.GeometryForm getGeometryForm(FeatureCollection fc)
          Determines the kind of geometry of a FeatureCollection.
static FeatureUtil.GeometryForm getGeometryForm(FeatureSource fs)
          Determines the kind of geometry of a FeatureSource.
static FeatureUtil.GeometryForm getGeometryForm(FeatureType fType)
          Determines the kind of geometry of a FeatureType.
static FeatureUtil.GeometryForm getGeometryForm(GeometryAttributeType geometryType)
          Determines the kind of geometry of a GeometryAttributeType.
static FeatureUtil.GeometryForm getGeometryForm(MapLayer layer)
          Determines the kind of geometry of a MapLayer.
static Object getNextAutoValue(AttributeType aType)
          Liefert den naechsten Auto-Wert fuer einen AttributeType.
static FeatureCollection joinFeatureCollection(FeatureCollection fc1, String joinAttr1, AttributeFilter compareOp, FeatureCollection fc2, String joinAttr2, String... projAttr)
          Fuehrt eine (Full-Outer-) Join-Operation zwischen zwei FeatureCollection durch.
static FeatureCollection joinFeatureCollection(FeatureCollection fc, String fcJoinAttr, AttributeFilter compareOp, ResultSet rs, String rsJoinAttr, String... projAttr)
          Fuehrt eine Join-Operation zwischen einer FeatureCollection und einem ResultSet durch, in dem Zusatz-Informationen hinterlegt.
static FeatureCollection joinFeatureCollection(FeatureCollection fc1, String joinAttr1, FeatureCollection fc2, String joinAttr2, String... projAttr)
          Fuehrt eine (Full-Outer-) Equi-Join-Operation zwischen zwei FeatureCollection durch.
static FeatureCollection joinFeatureCollection(FeatureCollection fc, String fcJoinAttr, ResultSet rs, String rsJoinAttr, String... projAttr)
          Fuehrt eine Join-Operation zwischen einer FeatureCollection und einem ResultSet durch, in dem Zusatz-Informationen hinterlegt.
static FeatureCollection joinFeatureCollection(FeatureUtil.JoinType joinType, FeatureCollection fc1, String joinAttr1, AttributeFilter compareOp, FeatureCollection fc2, String joinAttr2, String... projAttr)
          Fuehrt eine Join-Operation zwischen zwei FeatureCollection durch.
static FeatureCollection joinFeatureCollection(FeatureUtil.JoinType joinType, FeatureCollection fc, String fcJoinAttr, AttributeFilter compareOp, ResultSet rs, String rsJoinAttr, String... projAttr)
          Fuehrt eine Join-Operation zwischen einer FeatureCollection und einem ResultSet durch, in dem Zusatz-Informationen hinterlegt.
static String R(String key, Object... values)
          Convenience method to access the ResourceProvider.
static void registerAutoValueGenerator(AttributeType aType, AutoValueGenerator generator)
          Registriert einen AutoValueGenerator fuer einen AttributeType, so dass getNextAutoValue(AttributeType) fuer diesen AttributeType verwendet werden kann.
static Vector<Feature> sortFeatures(FeatureCollection fc, String attrName)
          Orderes Features according to an attribute (ascending).
static Vector<Feature> sortFeatures(FeatureIterator fi, String attrName)
          Orderes Features according to an attribute (ascending).
static void unregisterAutoValueGenerator(AttributeType aType)
          Entfernt einen AutoValueGenerator fuer einen AttributeType.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

public static ResourceProvider RESOURCE
ResourceProvider, der die Lokalisation fuer Komponenten des Package schmitzm.geotools.feature zur Verfuegung stellt. Diese sind in properties-Dateien unter schmitzm.geotools.feature.resource.locales hinterlegt.


GEOMETRY_FACTORY

public static final GeometryFactory GEOMETRY_FACTORY
Instance of JTS-GeometryFactory.


ATTRTYPE_FACTORY

public static final AttributeTypeFactory ATTRTYPE_FACTORY
Instance of AttributeTypeFactory.


FILTER_FACTORY

public static final org.opengis.filter.FilterFactory FILTER_FACTORY
Instance of FilterFactory.


FILTER_FACTORY2

public static final FilterFactory2 FILTER_FACTORY2
Instance of FilterFactory2.

Constructor Detail

FeatureUtil

public FeatureUtil()
Method Detail

R

public static String R(String key,
                       Object... values)
Convenience method to access the ResourceProvider.


getGeometryForm

public static FeatureUtil.GeometryForm getGeometryForm(FeatureType fType)
Determines the kind of geometry of a FeatureType.

Parameters:
fType - a feature type

getGeometryForm

public static FeatureUtil.GeometryForm getGeometryForm(GeometryAttributeType geometryType)
Determines the kind of geometry of a GeometryAttributeType.

Parameters:
geometryType - a GeometryAttributeType

getGeometryForm

public static FeatureUtil.GeometryForm getGeometryForm(FeatureCollection fc)
Determines the kind of geometry of a FeatureCollection.

Parameters:
fc - a feature collection

getGeometryForm

public static FeatureUtil.GeometryForm getGeometryForm(FeatureSource fs)
Determines the kind of geometry of a FeatureSource.

Parameters:
fs - a feature source

getGeometryForm

public static FeatureUtil.GeometryForm getGeometryForm(MapLayer layer)
Determines the kind of geometry of a MapLayer.

Parameters:
layer - a map layer

extractGeometriesToGeometry

public static Geometry[] extractGeometriesToGeometry(Feature f)
Extrahiert alle Geometrien aus einem Feature.

Parameters:
f - Feature
Returns:
Array aller Geometrien im Feature.

extractGeometries

public static Vector<Geometry> extractGeometries(FeatureCollection fc,
                                                 Vector<Geometry> result)
Extrahiert alle Default-Geometrien aus einer FeatureCollection.

Parameters:
fc - FeatureCollection
Returns:
Array aller Geometrien in der FeatureCollection.

createDefaultStyle

public static Style createDefaultStyle(FeatureCollection fc)
Erzeugt einen Standard-Style fuer eine FeatureCollection Und setzt eine default namen

Parameters:
fc - FeatureCollection

createDefaultStyle

public static Style createDefaultStyle(GeometryAttributeType geometryAttrib)
Erzeugt einen Standard-Style fuer einen GeometryAttributeType Und setzt eine default Namen.

Parameters:
geometryAttrib - GeometryAttributeType

createPolygonStyle

public static Style createPolygonStyle(Color fillColor,
                                       Color borderColor,
                                       double borderWidth)
Erzeugt einen Polygon-Style.

Parameters:
fillColor - Fuell-Farbe
borderColor - Rand-Farbe
borderWidth - Breite des Rands

createPointStyle

public static Style createPointStyle(Color fillColor)
Erzeugt einen (randlosen) Punkt-Style in Form eines Kreises.

Parameters:
color - Farbe des Punkts

createPointStyle

public static Style createPointStyle(Color fillColor,
                                     Color borderColor,
                                     double width)
Erzeugt einen (randlosen) Punkt-Style in Form eines Kreises.

Parameters:
fillColor - Fuell-Farbe des Punkts
borderColor - Rand-Farbe des Punkts
width - Groesse des Punkts

createPointStyle

public static Style createPointStyle(String markStyle,
                                     Color fillColor,
                                     Color borderColor,
                                     double borderWidth,
                                     double opacity,
                                     double size,
                                     double rotation)
Erzeugt einen Punkt-Style.

Parameters:
color - Farbe des Punkts
markStyle - Darstellungsweise des Punkts
opacity -
See Also:
StyleBuilder#MARK_ARROW;, StyleBuilder#MARK_CIRCLE;, StyleBuilder#MARK_CROSS;, StyleBuilder#MARK_SQUARE;, StyleBuilder#MARK_STAR;, StyleBuilder#MARK_TRIANGLE;, StyleBuilder#MARK_X;

createLineStyle

public static Style createLineStyle(Color lineColor)
Erzeugt einen Linien-Style.

Parameters:
lineColor - Farbe der Linie

createLineStyle

public static Style createLineStyle(Color lineColor,
                                    double lineWidth)
Erzeugt einen Linien-Style.

Parameters:
lineColor - Farbe der Linie
lineWidth - Breite der Linie

featuresToArray

public static Feature[] featuresToArray(FeatureCollection fc)
Erzeugt einen Array von Features auf einer FeatureCollection.
Aufgrund von Problemen bei der Verwendung von Filtern (.size() liefert nicht die Anzahl der gefilterten Features; .toArray liefert manchmal null), wird der Array "naiv" ueber Durchlaufen eines FeatureIterator kopiert.

Parameters:
fc - eine Feature Collection
Returns:
einen leeren Array, wenn die Collection leer oder null ist

featuresToArray

public static Feature[] featuresToArray(FeatureCollection fc,
                                        boolean includeNullFeatures)
Erzeugt einen Array von Features auf einer FeatureCollection.

Parameters:
fc - eine Feature Collection
includeNullFeatures - wenn false werden NULL-Features in der Collection nicht in den Array kopiert
Returns:
einen leeren Array, wenn die Collection leer oder null ist

cloneFeatureType

public static FeatureType cloneFeatureType(FeatureType fType,
                                           String fTypeName,
                                           Boolean nillable)
                                    throws SchemaException
Clones an FeatureType.

Parameters:
fType - type to clone
fTypeName - the name for the clone (if null the name is taken from fType)
nillable - nillable property for all attributes (if null the nillable property is taken individually from the source attributes)
Throws:
SchemaException

cloneAttributeType

public static AttributeType cloneAttributeType(AttributeType aType,
                                               Boolean nillable)
Clones an AttributeType.

Parameters:
aType - type to clone
nillable - the clone gets this value for its nillable property independently of aType.isNillable() (if null the nillable property is taken from aType)

extendFeatureType

public static FeatureType extendFeatureType(FeatureType fType,
                                            AttributeType... aTypes)
                                     throws SchemaException
Erweitert das Schema einer FeatureCollection um eine Reihe von Attributen.

Parameters:
fType - zu erweiterndes Feature-Schema
aTypes - Typen der neuen Attribute
Returns:
eine neue Instanz von FeatureType
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
NullPointerException - falls fType = null

sortFeatures

public static Vector<Feature> sortFeatures(FeatureCollection fc,
                                           String attrName)
Orderes Features according to an attribute (ascending).

Parameters:
fi - the features to order
attrName - the attribute to order by
Returns:
a list of ordered features

sortFeatures

public static Vector<Feature> sortFeatures(FeatureIterator fi,
                                           String attrName)
Orderes Features according to an attribute (ascending).

Parameters:
fi - an iterator for the features
attrName - the attribute to order by
Returns:
a list of ordered features

extendFeatureCollection

public static FeatureCollection extendFeatureCollection(FeatureCollection fc,
                                                        AttributeType... aTypes)
                                                 throws SchemaException,
                                                        IllegalAttributeException
Erweitert das Schema einer FeatureCollection um eine Reihe von Attributen.

Parameters:
fc - zu erweiternde FeatureCollection
aTypes - Typen der neuen Attribute
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert

joinFeatureCollection

public static FeatureCollection joinFeatureCollection(FeatureUtil.JoinType joinType,
                                                      FeatureCollection fc1,
                                                      String joinAttr1,
                                                      AttributeFilter compareOp,
                                                      FeatureCollection fc2,
                                                      String joinAttr2,
                                                      String... projAttr)
                                               throws SchemaException,
                                                      IllegalAttributeException
Fuehrt eine Join-Operation zwischen zwei FeatureCollection durch. Hierfuer wird eine einfacher Nested-Loop-Join durchgefuehrt. In den optionalen Parametern koennen Attribut-Namen angegeben werden, die in die Ergebnis-Colletion uebernommen werden (Projektion).
Achtung: Wird diese Option verwendet, sollte sichergestellt sein, dass fc1 und fc2 KEINE gleichen Attributnamen hat! Ansonsten wird (aus technischen Gruenden) das Attribut von fc2 uebernommen.

Parameters:
fc1 - erste FeatureCollection
joinAttr1 - Attribut-Name in der ersten FeatureCollection
compareOp - Operation, mit der der JOIN-Vergleich durchgefuehrt wird
fc2 - zweiten FeatureCollection
joinAttr2 - Attribut-Name in der zweiten FeatureCollection
projAttr - Attribute (von fc1 und fc2), die in das Ergebnis übernommen werden (Projektion)
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert

joinFeatureCollection

public static FeatureCollection joinFeatureCollection(FeatureCollection fc1,
                                                      String joinAttr1,
                                                      AttributeFilter compareOp,
                                                      FeatureCollection fc2,
                                                      String joinAttr2,
                                                      String... projAttr)
                                               throws SchemaException,
                                                      IllegalAttributeException
Fuehrt eine (Full-Outer-) Join-Operation zwischen zwei FeatureCollection durch. Hierfuer wird eine einfacher Nested-Loop-Join durchgefuehrt. In den optionalen Parametern koennen Attribut-Namen angegeben werden, die in die Ergebnis-Colletion uebernommen werden (Projektion).
Achtung: Wird diese Option verwendet, sollte sichergestellt sein, dass fc1 und fc2 KEINE gleichen Attributnamen hat! Ansonsten wird (aus technischen Gruenden) das Attribut von fc2 uebernommen.

Parameters:
fc1 - erste FeatureCollection
joinAttr1 - Attribut-Name in der ersten FeatureCollection
compareOp - Operation, mit der der JOIN-Vergleich durchgefuehrt wird
fc2 - zweiten FeatureCollection
joinAttr2 - Attribut-Name in der zweiten FeatureCollection
projAttr - Attribute (von fc1 und fc2), die in das Ergebnis übernommen werden (Projektion)
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert

joinFeatureCollection

public static FeatureCollection joinFeatureCollection(FeatureCollection fc1,
                                                      String joinAttr1,
                                                      FeatureCollection fc2,
                                                      String joinAttr2,
                                                      String... projAttr)
                                               throws SchemaException,
                                                      IllegalAttributeException
Fuehrt eine (Full-Outer-) Equi-Join-Operation zwischen zwei FeatureCollection durch.

Parameters:
fc1 - erste FeatureCollection
joinAttr1 - Attribut-Name in der ersten FeatureCollection
fc2 - zweiten FeatureCollection
joinAttr2 - Attribut-Name in der zweiten FeatureCollection
projAttr - Attribute (von fc1 und fc2), die in das Ergebnis übernommen werden (Projektion)
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert
See Also:
#joinFeatureCollection(FeatureCollection, String, AttributeFilter, FeatureCollection, String), #AttributeFilter.EQUALS

getDefaultAttributeValues

public static Object[] getDefaultAttributeValues(FeatureType ft)
Liefert die Default-Werte fuer alle Attribute eines FeatureType.

Parameters:
ft - ein Feature-Type

getDefaultAttributeValues

public static Object[] getDefaultAttributeValues(FeatureType ft,
                                                 Object[] destArray,
                                                 int destStartIdx,
                                                 String... attrName)
Liefert die Default-Werte fuer eine Reihen von Attributwerten eines FeatureTypes.

Parameters:
ft - ein Feature-Type
destArray - Array, in dem die Objekte abgelegt werden (wenn null, wird ein neuer Array erzeugt)
destStartIdx - Start-Index in destArray ab dem die Attributwerte abgelegt werden
attrName - Attribute aus f
Returns:
destArray oder einen neuen Array Object[destStartIdx + attrName.length]

getDefaultAttributeValue

public static Object getDefaultAttributeValue(AttributeType attrType)
Liefert den Default-Wert fuer ein Attribut.

Parameters:
attrType - Attribut-Typ
Returns:
null, wenn das Attribut NILLABLE ist

getDefaultAttributeValue

public static Object getDefaultAttributeValue(AttributeType attrType,
                                              boolean allowNull)
Liefert den Default-Wert fuer ein Attribut.

Parameters:
attrType - Attribut-Typ
allowNull - wenn false, wird in jedem Fall ein Wert ungleich null geliefert, auch wenn das Attribut NILLABLE ist

getAttributeValues

public static Object[] getAttributeValues(Feature f,
                                          Object[] destArray,
                                          int destStartIdx,
                                          String... attrName)
Liefert eine Reihen von Attributwerten eines Features.

Parameters:
f - ein Feature
destArray - Array, in dem die Objekte abgelegt werden (wenn null, wird ein neuer Array erzeugt)
destStartIdx - Start-Index in destArray ab dem die Attributwerte abgelegt werden
attrName - Attribute des Features, deren Werte geliefert werden (wenn null werden alle Attribute geliefert)
Returns:
destArray oder einen neuen Array Object[destStartIdx + attrName.length]

getAttributeValues

public static Object[] getAttributeValues(Feature f,
                                          String... attrName)
Liefert eine Reihen von Attributwerten eines Features.

Parameters:
f - ein Feature
attrName - Attribute des Features, deren Werte geliefert werden (wenn null werden alle Attribute geliefert)
Returns:
neuer Array Object[attrName.length]

getAttributeValues

public static Map<String,Object> getAttributeValues(Feature f,
                                                    Map<String,Object> destMap,
                                                    String... attrName)
Liefert eine Reihen von Attributwerten eines Features.

Parameters:
f - ein Feature
destMap - Map, in dem die Objekte abgelegt werden (wenn null, wird eine neue HashMap erzeugt)
attrName - Attribute des Features, deren Werte geliefert werden (wenn null werden alle Attribute geliefert)
Returns:
destArray oder einen neuen Array Object[destStartIdx + attrName.length]

joinFeatureCollection

public static FeatureCollection joinFeatureCollection(FeatureCollection fc,
                                                      String fcJoinAttr,
                                                      ResultSet rs,
                                                      String rsJoinAttr,
                                                      String... projAttr)
                                               throws SchemaException,
                                                      IllegalAttributeException,
                                                      SQLException
Fuehrt eine Join-Operation zwischen einer FeatureCollection und einem ResultSet durch, in dem Zusatz-Informationen hinterlegt. Hierzu wird das ResultSet zunaecht in eine FeatureCollection umgewandelt und anschliessend ein Left-Outer-EquiJoin zwischen den beiden Collections ausgewertet.

Parameters:
fc - eine FeatureCollection
fcJoinAttr - JOIN-Attribut in der FeatureCollection
rs - ResultSet mit Zusatz-Informationen
rsJoinAttr - JOIN-Attribut im ResultSet
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert
SQLException

joinFeatureCollection

public static FeatureCollection joinFeatureCollection(FeatureCollection fc,
                                                      String fcJoinAttr,
                                                      AttributeFilter compareOp,
                                                      ResultSet rs,
                                                      String rsJoinAttr,
                                                      String... projAttr)
                                               throws SchemaException,
                                                      IllegalAttributeException,
                                                      SQLException
Fuehrt eine Join-Operation zwischen einer FeatureCollection und einem ResultSet durch, in dem Zusatz-Informationen hinterlegt. Hierzu wird das ResultSet zunaecht in eine FeatureCollection umgewandelt und anschliessend ein Left-Outer-Join zwischen den beiden Collections ausgewertet.

Parameters:
fc - eine FeatureCollection
fcJoinAttr - JOIN-Attribut in der FeatureCollection
compareOp - Operation, mit der der JOIN-Vergleich durchgefuehrt wird
rs - ResultSet mit Zusatz-Informationen
rsJoinAttr - JOIN-Attribut im ResultSet
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert
SQLException

joinFeatureCollection

public static FeatureCollection joinFeatureCollection(FeatureUtil.JoinType joinType,
                                                      FeatureCollection fc,
                                                      String fcJoinAttr,
                                                      AttributeFilter compareOp,
                                                      ResultSet rs,
                                                      String rsJoinAttr,
                                                      String... projAttr)
                                               throws SchemaException,
                                                      IllegalAttributeException,
                                                      SQLException
Fuehrt eine Join-Operation zwischen einer FeatureCollection und einem ResultSet durch, in dem Zusatz-Informationen hinterlegt. Hierzu wird das ResultSet zunaecht in eine FeatureCollection umgewandelt und anschliessend ein Join zwischen den beiden Collections ausgewertet.

Parameters:
joinType - Join-Typ
fc - eine FeatureCollection
fcJoinAttr - JOIN-Attribut in der FeatureCollection
compareOp - Operation, mit der der JOIN-Vergleich durchgefuehrt wird
rs - ResultSet mit Zusatz-Informationen
rsJoinAttr - JOIN-Attribut im ResultSet
Returns:
eine neue Instanz von FeatureCollection
Throws:
SchemaException - falls das Erweitern des Feature-Schemas scheitert
IllegalAttributeException - falls das Einfuegen der Features in die neue FeatureCollection scheitert
SQLException

createFeatureCollection

public static FeatureCollection createFeatureCollection(ResultSet rs,
                                                        String... projAttr)
                                                 throws SchemaException,
                                                        IllegalAttributeException,
                                                        SQLException
Erzeugt eine FeatureCollection aus einem SQL-Result.

Parameters:
rs - SQL-Result
projAttr - nur diese Attribute des ResultSet werden in die FeatureCollection uebernommen (wenn nicht angegeben, werden ALLE Attribute uebernommen)
Throws:
SQLException - falls der Zugriff auf die SQL-Metadaten scheitert
SchemaException - falls das Erzeugen des FeatureType scheitert
IllegalAttributeException - falls das Erzeugen eines Features scheitert

createFeatureType

public static FeatureType createFeatureType(ResultSetMetaData metaData,
                                            String... projAttr)
                                     throws SQLException,
                                            SchemaException
Erzeugt einen FeatureType aus einem SQL-Result.

Parameters:
metaData - SQL-Metadaten des ResultSet
projAttr - nur diese Attribute des ResultSet werden in den FeatureType uebernommen (wenn nicht angegeben, werden ALLE Attribute uebernommen)
Throws:
SQLException - falls der Zugriff auf die SQL-Metadaten scheitert
SchemaException - falls das Erzeugen des FeatureType scheitert

createFeatureType

public static FeatureType createFeatureType(ResultSetMetaData metaData,
                                            String featureTypeName,
                                            Class defaultAttrClass,
                                            String... projAttr)
                                     throws SQLException,
                                            SchemaException,
                                            ClassNotFoundException
Erzeugt einen FeatureType aus einem SQL-Result.

Parameters:
metaData - SQL-Metadaten des ResultSet
featureTypeName - Name fuer den FeatureType (kann null sein)
defaultAttrClass - Klasse, die verwendet als Attribut-Typ wird, wenn die entsprechende Klasse des ResultSet nicht zur Verfuegung steht (wenn null, wird eine Exception geworfen)
projAttr - nur diese Attribute des ResultSet werden in den FeatureType uebernommen (wenn nicht angegeben, werden ALLE Attribute uebernommen)
Throws:
SQLException - falls der Zugriff auf die SQL-Metadaten scheitert
SchemaException - falls das Erzeugen des FeatureType scheitert
ClassNotFoundException - falls eine Attribut-Klasse aus dem ResultSet nicht erzeugt werden kann und keine Default-Klasse angegeben ist

createFeatureType

public static FeatureType createFeatureType(String featureTypeName,
                                            Map<String,Object> attrValues,
                                            Class defaultAttrClass)
                                     throws SchemaException
Erzeugt einen FeatureType aus Beispiel-Attribut-Werten.

Parameters:
featureTypeName - Name fuer den FeatureType (kann null sein)
attrValues - Attribut-Werte
defaultAttrClass - Standard-Typ, der fuer ein Attribut verwendet wird, wenn der angegebene Attribut-Wert null ist.
Throws:
SchemaException - falls das Erzeugen des FeatureType scheitert

createGeometryAttributeType

public static GeometricAttributeType createGeometryAttributeType(Class<? extends Geometry> geomType,
                                                                 Geometry defGeom,
                                                                 CoordinateReferenceSystem crs)
Erzeugt einen Geometrie-Attribut-Typ.

Parameters:
geomType - Art der Geometrie
defGeom - Standard-Wert
crs - Koordinatensystem

registerAutoValueGenerator

public static void registerAutoValueGenerator(AttributeType aType,
                                              AutoValueGenerator generator)
Registriert einen AutoValueGenerator fuer einen AttributeType, so dass getNextAutoValue(AttributeType) fuer diesen AttributeType verwendet werden kann.

Parameters:
aType - ein AttributeType
generator - generiert automatische Attribut-Werte

unregisterAutoValueGenerator

public static void unregisterAutoValueGenerator(AttributeType aType)
Entfernt einen AutoValueGenerator fuer einen AttributeType.

Parameters:
aType - ein AttributeType

getAutoValueGenerator

public static AutoValueGenerator getAutoValueGenerator(AttributeType aType)
Liefert den AutoValueGenerator fuer einen AttributeType.

Parameters:
aType - ein AttributeType
Returns:
null, wenn fuer den AttributeType noch kein AutoValueGenerator registriert worden ist

getNextAutoValue

public static Object getNextAutoValue(AttributeType aType)
Liefert den naechsten Auto-Wert fuer einen AttributeType.

Parameters:
aType - ein AttributeType
Throws:
UnsupportedOperationException - falls fuer das Attribut noch kein AutoValueGenerator registriert ist

createSampleFeature

public static Feature createSampleFeature(FeatureType schema)
Creates a sample Feature instance of the given FeatureType

Parameters:
schema - the schema for which to create a sample Feature instance
Throws:
IllegalAttributeException

createMemoryFeatureSource

public static FeatureSource createMemoryFeatureSource(FeatureCollection features)
Erstellt eine FeatureSource basierend auf einem MemoryDataStore für eine übergebene FeatureCollection

Parameters:
features -
Returns: