Polygon.java 791 Bytes
package com.bsth.util.Geo;

import java.util.ArrayList;
import java.util.List;

public final class Polygon {

	private List<Point> points;
	private Bounds bounds;
	
	public Polygon(List<Point> ps) {
		this.points = new ArrayList<Point>(ps);
		double minlon = 200, minlat = 200, maxlon = -1, maxlat = -1;
		for (Point p : ps) {
			minlon = p.getLon() < minlon ? p.getLon() : minlon;
			minlat = p.getLat() < minlat ? p.getLat() : minlat;
			maxlon = p.getLon() > maxlon ? p.getLon() : maxlon;
			maxlat = p.getLat() > maxlat ? p.getLat() : maxlat;
		}
		bounds = new Bounds(new Point(minlon, minlat), new Point(maxlon, maxlat));
	}

	public List<Point> getPoints() {
		return new ArrayList<Point>(points);
	}
	
	public Bounds getBounds() {
		return bounds;
	}
}