I am using GeoServer WPS process to process two geometries. I want to expand one of the geometries in the direction of the other. So far I am using the .buffer function but it expands the geometry in all direction.
This is the code I have so far.
public class PossibleTargetPositions extends StaticMethodsProcessFactory<PossibleTargetPositions> {
public PossibleTargetPositions() {
super(Text.text("Possible Target Positions"), "gpigf", PossibleTargetPositions.class);
}
@DescribeProcess(title = "processTargetPositions", description = "Calculates the new area of possible target positions")
@DescribeResult(description = "Modified Possible Target Poisitions")
public static Geometry processTargetPositions(
@DescribeParameter(name = "current_area", description = "Current possible target positions") Geometry current_area,
@DescribeParameter(name = "growth_distance", description = "The maximum distance the area should grow by") double growth_distance,
@DescribeParameter(name = "growth_segments", description = "The number of segments to use when rounding corners, lower number means less points") int growth_segments) {
Geometry modified_area = current_area.buffer(growth_distance, growth_segments);
return modified_area.getFactory().createGeometry(modified_area);
}
}