/** Returns the Point representing the current position along the LineString */ public Coordinate getCurrentPosition(Coordinate c) { c.setCoordinate(coords.getCoordinate(segment)); if (offsetDistance > 0) { final double angle = getCurrentAngle(); c.x += offsetDistance * Math.cos(angle); c.y += offsetDistance * Math.sin(angle); } return c; }
/** * @see org.locationtech.jts.geom.CoordinateSequence#getX(int) */ public void getCoordinate(int index, Coordinate coord) { coord.setCoordinate(coordinates[index]); }
/** * Initializes the points, avoiding recomputing the distance. * @param p0 * @param p1 * @param distance the distance between p0 and p1 */ private void initialize(Coordinate p0, Coordinate p1, double distance) { pt[0].setCoordinate(p0); pt[1].setCoordinate(p1); this.distance = distance; isNull = false; }
/** * Initializes the points, avoiding recomputing the distance. * @param p0 * @param p1 * @param distance the distance between p0 and p1 */ private void initialize(Coordinate p0, Coordinate p1, double distance) { pt[0].setCoordinate(p0); pt[1].setCoordinate(p1); this.distance = distance; isNull = false; }
public void initialize(Coordinate p0, Coordinate p1) { pt[0].setCoordinate(p0); pt[1].setCoordinate(p1); distance = p0.distance(p1); isNull = false; }
public void initialize(Coordinate p0, Coordinate p1) { pt[0].setCoordinate(p0); pt[1].setCoordinate(p1); distance = p0.distance(p1); isNull = false; }
/** * Get a copy of the Coordinate with index i. * * @param i the index of the coordinate * @return a copy of the requested Coordinate */ public Coordinate getCoordinateCopy(int i) { Coordinate copy = createCoordinate(); copy.setCoordinate(coordinates[i]); return copy; }
/** * Check that the first and last points have the same 2d coordinate. If not, * override the last coordinate value to close the ring. */ public static void ensureClosed(final Coordinate[] array) { if (!array[0].equals2D(array[array.length - 1])) { array[array.length - 1].setCoordinate(array[0]); } }
private static boolean computeSplitPositionOrdered(double marker1, double marker2, double isoValue, Coordinate p1, Coordinate p2, Coordinate splitPosition) { if (marker1 < isoValue && isoValue < marker2) { double interval = (isoValue - marker1) / (marker2 - marker1); splitPosition.setCoordinate(new Coordinate(p1.x + (p2.x - p1.x) * interval, p1.y + (p2.y - p1.y) * interval, p1.z + (p2.z - p1.z) * interval)); return true; } else { return false; } }
/** * Ensure array contents of the same type, making use of {@link #createCoordinate()} as needed. * * @param array array is modified in place as needed */ protected void enforceArrayConsistency(Coordinate[] array) { Coordinate sample = createCoordinate(); Class<?> type = sample.getClass(); for( int i = 0; i < array.length; i++) { Coordinate coordinate = array[i]; if( coordinate == null ) { array[i] = createCoordinate(); } else if(!coordinate.getClass().equals(type)) { Coordinate duplicate = createCoordinate(); duplicate.setCoordinate(coordinate); array[i] = duplicate; } } }
@Override public void filter(Coordinate coord) { coord.setCoordinate(new Coordinate(lon2x(coord.x), lat2y(coord.y), coord.z)); } });
/** * Creates a deep copy of the CoordinateArraySequence * * @return The deep copy */ public CoordinateArraySequence copy() { Coordinate[] cloneCoordinates = new Coordinate[size()]; for (int i = 0; i < coordinates.length; i++) { Coordinate duplicate = createCoordinate(); duplicate.setCoordinate(coordinates[i]); cloneCoordinates[i] = duplicate; } return new CoordinateArraySequence(cloneCoordinates, dimension, measures); } /**
pa.setCoordinate(p1); return POINT_INTERSECTION; pa.setCoordinate(p2); return POINT_INTERSECTION; pa.setCoordinate(p1); if (t3 > r1) { pa.setCoordinate(q3); pb.setCoordinate(p2); if (t4 < r2) { pb.setCoordinate(q4);
public void testSetCoordinate() { Coordinate orig = new Coordinate(350.2, 4566.8, 5266.3); Coordinate c = new Coordinate(); c.setCoordinate(orig); assertEquals(c.x, 350.2); assertEquals(c.y, 4566.8); assertEquals(c.getZ(), 5266.3); } public void testGetOrdinate()