class GeographicUtilities {

    public static List<ScreenPosition> toScreenPositions(List<? extends GeographicPosition> positions,
            ScreenBoundingBox screenBounds)
    {
        List<ScreenPosition> screenPositions = New.list();

        for (GeographicPosition geoPos : positions)
        {
            int x = (int)(screenBounds.getWidth() * (geoPos.getLatLonAlt().getLonD() + 180) / 360);
            int y = (int)(screenBounds.getHeight() * (geoPos.getLatLonAlt().getLatD() + 90) / 180);

            screenPositions
            .add(new ScreenPosition(screenBounds.getUpperLeft().getX() + x, screenBounds.getLowerRight().getY() - y));
        }

        return screenPositions;
    }

    private  GeographicUtilities();

}