繁体   English   中英

将列表java.awt.geom.Point2D转换为java.awt.geom.Area

[英]Convert a list java.awt.geom.Point2D to a java.awt.geom.Area

我有一组点,我想在Java中变成一个封闭的多边形。 我目前正在尝试使用java.awt.geom.Point2D和java.awt.geom.Area,但无法弄清楚如何将一组点转换为Area。

我想我可以根据这些点定义一组Line2D,然后将它们添加到Areas中,但这是很多工作而且我很懒。 那么还有更简单的方法吗?

问题是我有一个lat / lon坐标列表,并希望建立一个可用于命中测试的区域。

非核心Java库也是可能的。

更新,我看了使用java.awt.Polygon,但它只支持整数,我正在使用双精度坐标。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4077518

听说“客户”? 您应该使用GeneralPath,尽管自20世纪90年代末以来缺少Polygon2D是一个明显的怪物卡车大小的API。

如果您实际使用的是Geodetic lat / lon值,您实际上可以使用OpenMap来完成其中的一些工作。 我花了一些时间在该API中使用Geo类来反弹由lat / lon点多边形定义的区域周围的对象。 交叉点调用 ,所有数据都是以球形方式完成的,因此就投影而言,这些点更正确。

最简单(也是最懒惰)的事情是从X,Y纵坐标值的最大值和最小值创建点的边界框。

如果您需要更贴合,而不是设计自己的算法,这可能是一个好的开始:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM