private CoordinateSequence readCoordinateSequenceRing(int size) throws IOException { CoordinateSequence seq = readCoordinateSequence(size); if (isStrict) return seq; if (CoordinateSequences.isRing(seq)) return seq; return CoordinateSequences.ensureValidRing(csFactory, seq); }
/** * Shifts the positions of the coordinates until the coordinate at <code>firstCoordinateIndex</code> * is first. * *@param seq the coordinate sequence to rearrange *@param indexOfFirstCoordinate the index of the coordinate to make first */ public static void scroll(CoordinateSequence seq, int indexOfFirstCoordinate) { scroll(seq, indexOfFirstCoordinate, CoordinateSequences.isRing(seq)); }
private CoordinateSequence readCoordinateSequenceRing(int size) throws IOException { CoordinateSequence seq = readCoordinateSequence(size); if (isStrict) return seq; if (CoordinateSequences.isRing(seq)) return seq; return CoordinateSequences.ensureValidRing(csFactory, seq); }
private static void doTestIsRing(CoordinateSequenceFactory factory, int dimension) { // arrange CoordinateSequence ring = createCircle(factory, dimension, new Coordinate(), 5); CoordinateSequence noRing = createCircularString(factory, dimension, new Coordinate(), 5, 0.1, 22); CoordinateSequence empty = createAlmostRing(factory, dimension, 0); CoordinateSequence incomplete1 = createAlmostRing(factory, dimension, 1); CoordinateSequence incomplete2 = createAlmostRing(factory, dimension, 2); CoordinateSequence incomplete3 = createAlmostRing(factory, dimension, 3); CoordinateSequence incomplete4a = createAlmostRing(factory, dimension, 4); CoordinateSequence incomplete4b = CoordinateSequences.ensureValidRing(factory, incomplete4a); // act boolean isRingRing = CoordinateSequences.isRing(ring); boolean isRingNoRing = CoordinateSequences.isRing(noRing); boolean isRingEmpty = CoordinateSequences.isRing(empty); boolean isRingIncomplete1 = CoordinateSequences.isRing(incomplete1); boolean isRingIncomplete2 = CoordinateSequences.isRing(incomplete2); boolean isRingIncomplete3 = CoordinateSequences.isRing(incomplete3); boolean isRingIncomplete4a = CoordinateSequences.isRing(incomplete4a); boolean isRingIncomplete4b = CoordinateSequences.isRing(incomplete4b); // assert assertTrue(isRingRing); assertTrue(!isRingNoRing); assertTrue(isRingEmpty); assertTrue(!isRingIncomplete1); assertTrue(!isRingIncomplete2); assertTrue(!isRingIncomplete3); assertTrue(!isRingIncomplete4a); assertTrue(isRingIncomplete4b); }