org.deegree.framework.util
Class GeometryUtils
java.lang.Object
org.deegree.framework.util.GeometryUtils
public class GeometryUtils
- extends Object
- Version:
- $Revision: 6251 $, $Date: 2007-03-19 16:59:28 +0100 (Mo, 19 Mrz 2007) $
- Author:
- Andreas Poth, last edited by: $Author: poth $
Method Summary |
static Curve |
createCurveParallel(double distance,
Curve curve)
|
static double |
distance(double xx,
double yy,
double xx_,
double yy_)
|
static double |
distance(Position p1,
Position p2)
|
static Geometry |
ensureClockwise(Geometry geom)
|
static
|
getMover(double x,
double y)
|
static Position |
intersection(Position startPoint1,
Position endPoint1,
Position startPoint2,
Position endPoint2)
|
static Curve |
invertOrder(Curve curve)
|
static Surface |
invertOrder(Surface surface)
|
static boolean |
isClockwise(Surface surface)
|
static
|
move(T geom,
double x,
double y)
|
static Point |
vectorByAngle(Point a1,
Point a2,
double l,
double alpha)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GeometryUtils
public GeometryUtils()
distance
public static double distance(Position p1,
Position p2)
- Parameters:
p1
- p2
-
- Returns:
- distance between two 2D positions
distance
public static double distance(double xx,
double yy,
double xx_,
double yy_)
- Parameters:
xx
- yy
- xx_
- yy_
-
- Returns:
- distance between two points
move
public static <T> T move(T geom,
double x,
double y)
- Type Parameters:
T
- - Parameters:
geom
- x
- y
-
- Returns:
- moves 2D geometries only (will discard any z values
getMover
public static <T> CollectionUtils.Mapper<T,T> getMover(double x,
double y)
- Type Parameters:
T
- - Parameters:
x
- y
-
- Returns:
- a move mapper wrapper
invertOrder
public static Surface invertOrder(Surface surface)
throws GeometryException
- Parameters:
surface
-
- Returns:
- surface with inverted order of vertices
- Throws:
GeometryException
invertOrder
public static Curve invertOrder(Curve curve)
throws GeometryException
- Parameters:
curve
-
- Returns:
- curve with inverted order of vertices for each segment
- Throws:
GeometryException
isClockwise
public static boolean isClockwise(Surface surface)
- Parameters:
surface
-
- Returns:
- true if an array of passed
Position
forms a clockwise orientated ring
ensureClockwise
public static Geometry ensureClockwise(Geometry geom)
throws GeometryException
- Parameters:
geom
-
- Returns:
- surface or multi surface with guaranteed clockwise vertices orientation
- Throws:
GeometryException
createCurveParallel
public static Curve createCurveParallel(double distance,
Curve curve)
throws GeometryException
- Parameters:
distance
- if distance is < 0 left parallel will be createdcurve
-
- Returns:
- parallel curve with distance.
- Throws:
GeometryException
intersection
public static Position intersection(Position startPoint1,
Position endPoint1,
Position startPoint2,
Position endPoint2)
- Parameters:
startPoint1
- endPoint1
- startPoint2
- endPoint2
-
- Returns:
- intersection coordinates between to lines (not line segments!!!). This means the intersection point may
not lies between passed start- and end-points
vectorByAngle
public static Point vectorByAngle(Point a1,
Point a2,
double l,
double alpha)
- Parameters:
a1
- the first pointa2
- the second pointl
- the length of the segment starting from the second pointalpha
- the angle that the a1-a2 segment makes the following segment
- Returns:
- the point found at length l from a2 and which (connected with a2) forms an angle of alfa to a1a2.
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org