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 { 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); } }
أكثر...
This is the code I have so far.
public class PossibleTargetPositions extends StaticMethodsProcessFactory { 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); } }
أكثر...