我有一组要在Java中变成闭合多边形的点。我目前正在尝试使用java.awt.geom.Point2D和java.awt.geom.Area,但无法弄清楚如何将一组点转换为区域。
我想我可以根据这些点定义一组Line2D,然后将它们添加到Areas中,但这是很多工作而且我很懒。那么还有更简单的方法。
问题是我有一个lat / lon坐标列表,想要建立一个可用于命中测试的区域。
非核心Java库也是可能的。
更新,我看了一下使用java.awt.Polygon,但它只支持整数,我正在使用双精度坐标。
答案 0 :(得分:3)
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4077518
听到,“客户”?你应该使用GeneralPath,尽管自20世纪90年代末以来缺少Polygon2D是一个明显的怪物卡车大小的API洞。
答案 1 :(得分:1)
如果您实际使用的是Geodetic lat / lon值,您实际上可以使用OpenMap来完成这项工作。我花了一些时间使用该API中的Geo class来反弹由lat / lon点多边形定义的区域周围的对象。有intersection calls并且所有数学都是以球形方式完成的,因此就投影而言,这些点更正确。
答案 2 :(得分:0)