Skip to content

Instantly share code, notes, and snippets.

@mattb
Created July 17, 2011 19:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattb/1087976 to your computer and use it in GitHub Desktop.
Save mattb/1087976 to your computer and use it in GitHub Desktop.
Generating veronoi diagrams from geo data and outputting as KML.
import org.geotools.kml._;
import org.geotools.xml._;
import com.vividsolutions.jts.triangulate._;
import com.vividsolutions.jts.io.gml2._;
import com.vividsolutions.jts.geom._;
import scala.collection._;
object voronoi {
def main(args:Array[String]) = {
var gf = new GeometryFactory;
var coords = io.Source.stdin.getLines.map { line =>
var fields = line.split(",");
var id = fields(0);
var lat = fields(1).toFloat;
var lng = fields(2).toFloat;
new Coordinate(lng,lat);
};
var vor = new VoronoiDiagramBuilder;
vor.setSites(JavaConversions.asJavaCollection(coords.toIterable));
var diagram = vor.getDiagram(gf);
var encoder = new Encoder(new KMLConfiguration());
encoder.setIndenting(true);
encoder.encode(diagram, KML.Geometry, System.out);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment