Package com.esri.core.geometry
Class OperatorSimplifyLocalHelper
java.lang.Object
com.esri.core.geometry.OperatorSimplifyLocalHelper
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static final class
private static final class
private static final class
private static final class
private static final class
private static final class
(package private) static final class
(package private) static final class
(package private) static final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Treap
private int
private boolean
private boolean
private IndexMultiDCList
private int
private final VertexDescription
private EditShape
private AttributeStreamOfInt32
private Geometry
private int
private AttributeStreamOfInt32
(package private) NonSimpleResult
private AttributeStreamOfInt32
private AttributeStreamOfInt32
private AttributeStreamOfInt32
private AttributeStreamOfInt32
private AttributeStreamOfInt32
private ProgressTracker
private SegmentIteratorImpl
private SpatialReferenceImpl
private double
private double
private int
private AttributeStreamOfDbl
private AttributeStreamOfInt32
private AttributeStreamOfInt32
private double
-
Constructor Summary
ConstructorsConstructorDescriptionOperatorSimplifyLocalHelper
(Geometry geometry, SpatialReference spatialReference, int knownSimpleResult, ProgressTracker progressTracker, boolean bOGCRestrictions) -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
private boolean
private boolean
private boolean
private boolean
private boolean
checkDegenerateSegments_
(boolean bTestZs) private boolean
(package private) boolean
private boolean
private int
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
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
(package private) int
(package private) MultiPoint
(package private) int
(package private) Polygon
(package private) int
(package private) Polyline
private boolean
private boolean
private void
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
private boolean
testToleranceDistance_
(int xyindex1, int xyindex2)
-
Field Details
-
m_description
-
m_geometry
-
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
-
m_FreeEdges
-
m_lineEdgesRecycle
-
m_newEdges
-
m_recycledSegIter
-
m_crossOverHelperList
-
m_paths_for_OGC_tests
-
m_progressTracker
-
m_AET
-
m_xyToNode1
-
m_xyToNode2
-
m_pathOrientations
-
m_pathParentage
-
m_unknownOrientationPathCount
private int m_unknownOrientationPathCount -
m_yScanline
private double m_yScanline -
m_xy
-
m_pairs
-
m_pairIndices
-
m_editShape
-
m_bOGCRestrictions
private boolean m_bOGCRestrictions -
m_bPlanarSimplify
private boolean m_bPlanarSimplify -
m_nonSimpleResult
NonSimpleResult m_nonSimpleResult
-
-
Constructor Details
-
OperatorSimplifyLocalHelper
OperatorSimplifyLocalHelper(Geometry geometry, SpatialReference spatialReference, int knownSimpleResult, ProgressTracker progressTracker, boolean bOGCRestrictions)
-
-
Method Details
-
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_
-
processBunchForRingOrientationTest_
-
createEdge_
private OperatorSimplifyLocalHelper.Edge createEdge_(Segment seg, int xyindex, int pathIndex, boolean bReversed) -
createEdgeLine_
-
recycleEdge_
-
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)
-