| java.lang.Object net.refractions.udig.tools.edit.support.GeometryCreationUtil
GeometryCreationUtil | public class GeometryCreationUtil (Code) | | Some helper methods for creating geometries.
author: jones since: 1.1.0 |
Inner Class :public static class Bag | |
Field Summary | |
final public static RobustCGAlgorithms | cga |
Method Summary | |
public static Geometry | ceateGeometryCollection(List<Geometry> geoms, Class<Geometry> schemaDeclaredType) Creates a GeometryCollection if the schemaDeclaredType is a subclass of GeometryCollection. | public static Map<String, GeometryCreationUtil.Bag> | createAllGeoms(EditGeom currentGeom, Class geomToCreate, GeometryAttributeType geomAttribute) Searches an EditBlackboard and creates 1 geometry for each EditGeom in the
Blackboard. | public static T | createGeom(Class<T> geomToCreate, PrimitiveShape shape) Creates a geometry for a primitive shape.
Parameters: geomToCreate - the type of geometry to create. | public static Polygon | createPolygon(EditGeom currentGeom) | public static Class | determineGeometryType(EditGeom currentGeom, EditGeom editGeom, Class geomToCreate, GeometryAttributeType geomAttribute) The way the type of geometry is determined is as follows:
- If the geometry has the same FID as the currentGeom then its type will be of type geomToCreate.
- Otherwise the ShapeType of the EditGeom will be compared to the geomAttribute and if that type is legal for that attribute then that is the type of geometry that will be created
- If ShapeType is UNKOWN and it does not have the same FID as the curentGeom then the geomAttribute is used to determine the geometry type.
- Finally if the geomType is geometry then a Polygon will be created...
|
cga | final public static RobustCGAlgorithms cga(Code) | | |
ceateGeometryCollection | public static Geometry ceateGeometryCollection(List<Geometry> geoms, Class<Geometry> schemaDeclaredType)(Code) | | Creates a GeometryCollection if the schemaDeclaredType is a subclass of GeometryCollection. Otherwise
it will just return the first of the list.
Parameters: geoms - list of goemtries that will be added to the GeometryCollection. Parameters: schemaDeclaredType - The type that the resulting geometry has to be compatible with geometry that is compatible with schemaDeclaredType (IE can be assigned to). |
createAllGeoms | public static Map<String, GeometryCreationUtil.Bag> createAllGeoms(EditGeom currentGeom, Class geomToCreate, GeometryAttributeType geomAttribute)(Code) | | Searches an EditBlackboard and creates 1 geometry for each EditGeom in the
Blackboard. Only simple geoms are created. IE no MultiPolygons. That processing
must come later.
The way the type of geometry is determined is as follows:
- If the geometry has the same FID as the currentGeom then its type will be of type geomToCreate.
- Otherwise the ShapeType of the EditGeom will be compared to the geomAttribute and if that type is legal for that attribute then that is the type of geometry that will be created
- If ShapeType is UNKOWN and it does not have the same FID as the curentGeom then the geomAttribute is used to determine the geometry type.
- Finally if the geomType is geometry then a Polygon will be created... unless the endpoints are not the same. In that case a Line will be created. Unless it is a single point.
Parameters: currentGeom - the shape that will be created as a geomToCreate type. Parameters: geomToCreate - the type of geometry that will be created for the currentShape in the handler. Must be one of Point, LineString, LinearRing or Polygon. Parameters: geomAttribute - The AttributeType of the geometry attribute that will be assist in determining the type of geometry created. a mapping between the FeatureID of a bag of geoms that map to that id. This mappingcan be used to later create complex geometries such as multigeoms. |
createGeom | public static T createGeom(Class<T> geomToCreate, PrimitiveShape shape)(Code) | | Creates a geometry for a primitive shape.
Parameters: geomToCreate - the type of geometry to create. Must be one of Point, LineString, LinearRing or Polygon. Parameters: shape - the shape to use. If type is Polygon the shapes EditGeom is used. A geometry of type geomToCreate |
createPolygon | public static Polygon createPolygon(EditGeom currentGeom)(Code) | | |
determineGeometryType | public static Class determineGeometryType(EditGeom currentGeom, EditGeom editGeom, Class geomToCreate, GeometryAttributeType geomAttribute)(Code) | | The way the type of geometry is determined is as follows:
- If the geometry has the same FID as the currentGeom then its type will be of type geomToCreate.
- Otherwise the ShapeType of the EditGeom will be compared to the geomAttribute and if that type is legal for that attribute then that is the type of geometry that will be created
- If ShapeType is UNKOWN and it does not have the same FID as the curentGeom then the geomAttribute is used to determine the geometry type.
- Finally if the geomType is geometry then a Polygon will be created... unless the endpoints are not the same. In that case a Line will be created. Unless it is a single point.
Parameters: currentGeom - the handler's current Geom. If == editGeom then geomToCreate will be returned Parameters: editGeom - the editGeom that will be used to create a geometry. Parameters: geomToCreate - A default value to use if nothing else can be decided. Parameters: geomAttribute - The geometry attribute type of the feature that will be set using the created geometry. |
|
|