2009-09-02 4 views
5

私は、Javaで閉じたポリゴンにしたい点のセットを持っています。私は現在、java.awt.geom.Point2Dとjava.awt.geom.Areaを使用しようとしていますが、ポイントのグループをAreaに変換する方法を理解することはできません。リストをjava.awt.geom.Point2Dをjava.awt.geom.Areaに変換する

私は、ポイントに基づいてLine2Dのセットを定義し、それらをエリアに追加することができますが、それは多くの作業であり、私は怠惰です。それでは、より簡単な方法があります。

問題は、緯度/経度座標のリストがあり、ヒットテストに使用できる領域を構築したいという問題です。

非コアJavaライブラリも可能です。

私はjava.awt.Polygonを使用して見ましたが、intをサポートしています。私は座標をdoubleで操作しています。

答えて

3

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

こと、 "顧客" を聞きますか? 1990年代後半からPolygon2Dが欠けていても、APIの明白なモンスタートラックサイズの穴であっても、GeneralPathを使用する必要があります。

+1

お知らせラボ: http://www.google.com/url?sa=t&source=web&ct=res&cd=5&url=http%3A%2F%2Fptolemy.eecs.berkeley.edu%2F~ptII%2FptolemyII%2FptIIlatest%2FptII% 2Fdiva%2Futil%2Fjava2d%2FPolygon2D.java&EI = BNSeSqr3O4y4M7eMmIwC&USG = AFQjCNErxCV1f6zlpi60FEqPkgG1rAfx5A&SIG2 = eWfBVNHxVQzY1eJ3DZvC1Q – M1EK

+1

より良いリンク:http://ptolemy.eecs.berkeley.edu/~ptII/pto lemyII/ptIIlatest/ptII/diva/util/java2d/ – M1EK

+0

'GeneralPath'はこれまでのレガシークラスです。 [いくつかの代替案についてのこの質問と回答](http://stackoverflow.com/q/11465330/935676)を参照してください。 9月にこのバグの20周年を祝うことができます;) – amoebe

1

実際に測地緯度/経度値を使用している場合、実際にOpenMapを使用してこの作業の一部を行うことができます。私はそのAPIのGeo classを使用して多角形の緯度/経度点で定義された領域の周りのオブジェクトをバウンスするのにちょっと時間を費やしました。 intersection callsがあり、数学のすべてがすべて球面的に行われているので、予想通りに点が正確になります。

0

X、Y縦座標値の最大値と最小値から点のバウンディングボックスを作成するのが最も簡単です。

あなたが近いフィット、その後のではなく、独自のアルゴリズムを考案、これは開始するには良い場所かもしれませんが必要な場合:元々バークレーのUIから来たの周りPolygon2D実装浮きがある

関連する問題