Package com.esri.core.geometry
Class OperatorSimplifyLocalHelper
- java.lang.Object
-
- com.esri.core.geometry.OperatorSimplifyLocalHelper
-
class OperatorSimplifyLocalHelper extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
OperatorSimplifyLocalHelper.ClusterTestComparator
private static class
OperatorSimplifyLocalHelper.Edge
private static class
OperatorSimplifyLocalHelper.EdgeComparerForSelfIntersection
private static class
OperatorSimplifyLocalHelper.IndexSorter
private static class
OperatorSimplifyLocalHelper.MultiPointVertexComparer
private static class
OperatorSimplifyLocalHelper.MultiPointVertexComparer2
private static class
OperatorSimplifyLocalHelper.RingOrientationTestComparator
(package private) static class
OperatorSimplifyLocalHelper.Vertex_info
(package private) static class
OperatorSimplifyLocalHelper.Vertex_info_pg
(package private) static class
OperatorSimplifyLocalHelper.Vertex_info_pl
private static class
OperatorSimplifyLocalHelper.VertexComparer
-
Field Summary
-
Constructor Summary
Constructors Constructor Description OperatorSimplifyLocalHelper(Geometry geometry, SpatialReference spatialReference, int knownSimpleResult, ProgressTracker progressTracker, boolean bOGCRestrictions)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
check_self_intersections_polygons_OGC_()
private boolean
checkClustering_()
private boolean
checkCracking_()
private boolean
checkCrackingBrute_()
private boolean
checkCrackingPlanesweep_()
private boolean
checkDegenerateSegments_(boolean bTestZs)
private boolean
checkSelfIntersections_()
(package private) boolean
checkSelfIntersectionsPolylinePlanar_()
private boolean
checkStructure_()
private int
checkValidRingOrientation_()
private int
compareVertices_(int i1, int i2, boolean get_paths)
private int
compareVerticesMultiPoint_(int i1, int i2)
private int
compareVerticesMultiPoint2_(int i1, int i2)
private OperatorSimplifyLocalHelper.Edge
createEdge_(Segment seg, int xyindex, int pathIndex, boolean bReversed)
private OperatorSimplifyLocalHelper.Edge
createEdgeLine_(Segment seg)
private int
edgeAngleCompare_(OperatorSimplifyLocalHelper.Edge edge1, OperatorSimplifyLocalHelper.Edge edge2)
protected static int
isSimpleAsFeature(Geometry geometry, SpatialReference spatialReference, boolean bForce, NonSimpleResult result, ProgressTracker progressTracker)
Checks if Geometry is simple for storing in DB: MultiPoint:check that no points coincide.tolerance is ignored.(package private) static int
isSimpleOGC(Geometry geometry, SpatialReference spatialReference, boolean bForce, NonSimpleResult result, ProgressTracker progressTracker)
protected static int
isSimplePlanar(Geometry geometry, SpatialReference spatialReference, boolean bForce, ProgressTracker progressTracker)
The code is executed in the 2D plane only.Attributes are ignored.private int
isSimplePlanarImpl_()
(package private) int
multiPointIsSimpleAsFeature_()
(package private) MultiPoint
multiPointSimplifyAsFeature_()
(package private) int
polygonIsSimpleAsFeature_()
(package private) Polygon
polygonSimplifyAsFeature_()
(package private) int
polylineIsSimpleAsFeature_()
(package private) Polyline
polylineSimplifyAsFeature_()
private boolean
processBunchForRingOrientationTest_(AttributeStreamOfInt32 bunch)
private boolean
processBunchForSelfIntersectionTest_(AttributeStreamOfInt32 bunch)
private void
recycleEdge_(OperatorSimplifyLocalHelper.Edge edge)
protected static Geometry
simplifyAsFeature(Geometry geometry, SpatialReference spatialReference, boolean bForce, ProgressTracker progressTracker)
Simplifies geometries for storing in DB: MultiPoint:check that no points coincide.tolerance is ignored.(package private) static Geometry
simplifyOGC(Geometry geometry, SpatialReference spatialReference, boolean bForce, ProgressTracker progressTracker)
Simplifies geometries for storing in OGC format: MultiPoint:check that no points coincide.tolerance is ignored.(package private) MultiVertexGeometry
simplifyPlanar_()
private boolean
testToleranceDistance_(int xyindex1, int xyindex2)
-
-
-
Field Detail
-
m_description
private final VertexDescription m_description
-
m_geometry
private Geometry m_geometry
-
m_sr
private SpatialReferenceImpl m_sr
-
m_dbgCounter
private int m_dbgCounter
-
m_toleranceIsSimple
private double m_toleranceIsSimple
-
m_toleranceSimplify
private double m_toleranceSimplify
-
m_knownSimpleResult
private int m_knownSimpleResult
-
m_attributeCount
private int m_attributeCount
-
m_edges
private java.util.ArrayList<OperatorSimplifyLocalHelper.Edge> m_edges
-
m_FreeEdges
private AttributeStreamOfInt32 m_FreeEdges
-
m_lineEdgesRecycle
private java.util.ArrayList<OperatorSimplifyLocalHelper.Edge> m_lineEdgesRecycle
-
m_newEdges
private AttributeStreamOfInt32 m_newEdges
-
m_recycledSegIter
private SegmentIteratorImpl m_recycledSegIter
-
m_crossOverHelperList
private IndexMultiDCList m_crossOverHelperList
-
m_paths_for_OGC_tests
private AttributeStreamOfInt32 m_paths_for_OGC_tests
-
m_progressTracker
private ProgressTracker m_progressTracker
-
m_AET
private Treap m_AET
-
m_xyToNode1
private AttributeStreamOfInt32 m_xyToNode1
-
m_xyToNode2
private AttributeStreamOfInt32 m_xyToNode2
-
m_pathOrientations
private AttributeStreamOfInt32 m_pathOrientations
-
m_pathParentage
private AttributeStreamOfInt32 m_pathParentage
-
m_unknownOrientationPathCount
private int m_unknownOrientationPathCount
-
m_yScanline
private double m_yScanline
-
m_xy
private AttributeStreamOfDbl m_xy
-
m_pairs
private AttributeStreamOfInt32 m_pairs
-
m_pairIndices
private AttributeStreamOfInt32 m_pairIndices
-
m_editShape
private EditShape m_editShape
-
m_bOGCRestrictions
private boolean m_bOGCRestrictions
-
m_bPlanarSimplify
private boolean m_bPlanarSimplify
-
m_nonSimpleResult
NonSimpleResult m_nonSimpleResult
-
-
Constructor Detail
-
OperatorSimplifyLocalHelper
OperatorSimplifyLocalHelper(Geometry geometry, SpatialReference spatialReference, int knownSimpleResult, ProgressTracker progressTracker, boolean bOGCRestrictions)
-
-
Method Detail
-
isSimplePlanarImpl_
private int isSimplePlanarImpl_()
-
testToleranceDistance_
private boolean testToleranceDistance_(int xyindex1, int xyindex2)
-
checkStructure_
private boolean checkStructure_()
-
checkDegenerateSegments_
private boolean checkDegenerateSegments_(boolean bTestZs)
-
checkClustering_
private boolean checkClustering_()
-
checkCracking_
private boolean checkCracking_()
-
checkCrackingPlanesweep_
private boolean checkCrackingPlanesweep_()
-
checkCrackingBrute_
private boolean checkCrackingBrute_()
-
checkSelfIntersections_
private boolean checkSelfIntersections_()
-
checkSelfIntersectionsPolylinePlanar_
boolean checkSelfIntersectionsPolylinePlanar_()
-
check_self_intersections_polygons_OGC_
boolean check_self_intersections_polygons_OGC_()
-
checkValidRingOrientation_
private int checkValidRingOrientation_()
-
processBunchForSelfIntersectionTest_
private boolean processBunchForSelfIntersectionTest_(AttributeStreamOfInt32 bunch)
-
processBunchForRingOrientationTest_
private boolean processBunchForRingOrientationTest_(AttributeStreamOfInt32 bunch)
-
createEdge_
private OperatorSimplifyLocalHelper.Edge createEdge_(Segment seg, int xyindex, int pathIndex, boolean bReversed)
-
createEdgeLine_
private OperatorSimplifyLocalHelper.Edge createEdgeLine_(Segment seg)
-
recycleEdge_
private void recycleEdge_(OperatorSimplifyLocalHelper.Edge edge)
-
multiPointIsSimpleAsFeature_
int multiPointIsSimpleAsFeature_()
-
polylineIsSimpleAsFeature_
int polylineIsSimpleAsFeature_()
-
polygonIsSimpleAsFeature_
int polygonIsSimpleAsFeature_()
-
multiPointSimplifyAsFeature_
MultiPoint multiPointSimplifyAsFeature_()
-
polylineSimplifyAsFeature_
Polyline polylineSimplifyAsFeature_()
-
polygonSimplifyAsFeature_
Polygon polygonSimplifyAsFeature_()
-
simplifyPlanar_
MultiVertexGeometry simplifyPlanar_()
-
isSimplePlanar
protected static int isSimplePlanar(Geometry geometry, SpatialReference spatialReference, boolean bForce, ProgressTracker progressTracker)
The code is executed in the 2D plane only.Attributes are ignored. MultiPoint-check for clustering. Polyline -check for clustering and cracking. Polygon -check for clustering,cracking,absence of self-intersections,and correct ring ordering.
-
isSimpleAsFeature
protected static int isSimpleAsFeature(Geometry geometry, SpatialReference spatialReference, boolean bForce, NonSimpleResult result, ProgressTracker progressTracker)
Checks if Geometry is simple for storing in DB: MultiPoint:check that no points coincide.tolerance is ignored. Polyline:ensure there no segments degenerate segments. Polygon:Same as IsSimplePlanar.
-
isSimpleOGC
static int isSimpleOGC(Geometry geometry, SpatialReference spatialReference, boolean bForce, NonSimpleResult result, ProgressTracker progressTracker)
-
simplifyAsFeature
protected static Geometry simplifyAsFeature(Geometry geometry, SpatialReference spatialReference, boolean bForce, ProgressTracker progressTracker)
Simplifies geometries for storing in DB: MultiPoint:check that no points coincide.tolerance is ignored. Polyline:ensure there no segments degenerate segments. Polygon:cracks and clusters using cluster tolerance and resolves all self intersections, orients rings properly and arranges the rings in the OGC order. Returns simplified geometry.
-
simplifyOGC
static Geometry simplifyOGC(Geometry geometry, SpatialReference spatialReference, boolean bForce, ProgressTracker progressTracker)
Simplifies geometries for storing in OGC format: MultiPoint:check that no points coincide.tolerance is ignored. Polyline:ensure there no segments degenerate segments. Polygon:cracks and clusters using cluster tolerance and resolves all self intersections, orients rings properly and arranges the rings in the OGC order. Returns simplified geometry.
-
compareVertices_
private int compareVertices_(int i1, int i2, boolean get_paths)
-
compareVerticesMultiPoint_
private int compareVerticesMultiPoint_(int i1, int i2)
-
compareVerticesMultiPoint2_
private int compareVerticesMultiPoint2_(int i1, int i2)
-
edgeAngleCompare_
private int edgeAngleCompare_(OperatorSimplifyLocalHelper.Edge edge1, OperatorSimplifyLocalHelper.Edge edge2)
-
-