/** * Returns the nearest MappedPosition to specified point P. * * @param dp P point. * @param vertices the List of MappedCoordinates. * @return the MappedPosition to the x Coordinate. */ protected MappedPosition nearestMappedCoordinate( DirectPosition dp, List<MappedPosition> vertices) { DirectPosition2D x = new DirectPosition2D(dp); // Assert.isTrue(vectors.size() > 0); MappedPosition nearestOne = (MappedPosition) vertices.get(0); for (Iterator<MappedPosition> i = vertices.iterator(); i.hasNext(); ) { MappedPosition candidate = (MappedPosition) i.next(); if (((DirectPosition2D) candidate.getSource()).distance(x.toPoint2D()) < ((DirectPosition2D) nearestOne.getSource()).distance(x.toPoint2D())) { nearestOne = candidate; } } return nearestOne; } }