簡體   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