Class SurfaceSplitOperation
java.lang.Object
org.gvsig.fmap.geom.jts.primitive.surface.split.SurfaceSplitOperation
This class is based in the AXIOS team work for UDIG project.
- Author:
- llmarques
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.gvsig.fmap.geom.Geometrysplit(org.gvsig.fmap.geom.Geometry geometryToBeSplitted, org.gvsig.fmap.geom.Geometry splitter) Strategy: Build a graph with all edges and intersection nodes between polygon and linestring.
-
Constructor Details
-
SurfaceSplitOperation
public SurfaceSplitOperation()
-
-
Method Details
-
split
public org.gvsig.fmap.geom.Geometry split(org.gvsig.fmap.geom.Geometry geometryToBeSplitted, org.gvsig.fmap.geom.Geometry splitter) Strategy:- Build a graph with all edges and intersection nodes between polygon and linestring.
- Weigth the amount of nodes according to the number of incident edges. Nodes are only the intersection beetween polygon bondary and linestring and initial points of each part of boundary.
- Weigth edges according to shared (linestring node) or non shared (boundary of polygon). Store edge cordinates at edge.
- Iterate over node graph. Start at any node, starting at its first segment.
- Iterate always to next node, choosing the edge that its first linestring segment that has less left angle (CCW) with the last segment of edge linestring.
- Delete non shared used edges that was used
- Decrease weight at 1 of used nodes
- Delete of graph nodes with weight 1
- Since:
- 1.1.0
-