Performing Operations on Geometries
After creating geometry objects, useful operations can be run on them. For instance, the geometry can be transformed to another coordinate reference system, two geometries can be unioned together, or two geometries can be tested for intersections. The following code shows some examples of performing operations on geometry objects.
// these geometry objects have been created like the ones shown in the previous examples boolean intersect = surface.intersects(point); Geometry geom = (Geometry) curve.union(surface); int distance = point.distance(surface); // perform a transform to another CRS CoordinateReferenceSystem crs2 = CRS.decode("EPSG:3005"); Point point2 = (Point) point.transform(crs2);
The following is a quick list of some of the more interesting operations and methods available for geometries.
Note: a TransfiniteSet is defined as a possible infinite set that is restricted only to values. Essentially, all geometries are TransfiniteSets.
| Geometry Methods |
|---|
| contains(TransfiniteSet) |
| crosses(TransfiniteSet) |
| difference(TransfiniteSet) |
| disjoint(TransfiniteSet) |
| distance(Geometry) |
| equals(TransfiniteSet) |
| getBoundary() |
| getCentroid() |
| getClosure() |
| getConvexHull() |
| getCoordinateDimension() |
| getCoordinateReferenceSystem() |
| getDimension(DirectPosition) |
| getEnvelope() |
| getRepresentativePoint() |
| intersection(TransfiniteSet) |
| intersects(TransfiniteSet) |
| isCycle() |
| overlaps(TransfiniteSet) |
| relate(Geometry, String) |
| symmetricDifference(TransfiniteSet) |
| touches(TransfiniteSet) |
| transform(CoordinateReferenceSystem) |
| transform(CoordinateReferenceSystem, MathTransform) |
| union(TransfiniteSet) |
| within(TransfiniteSet) |