5

Java で閉じた多角形に変換したい点のセットがあります。現在、java.awt.geom.Point2D と java.awt.geom.Area を使用しようとしていますが、ポイントのグループをエリアに変換する方法がわかりません。

ポイントに基づいて一連の Line2D を定義し、それらを Areas に追加できると思いますが、それは大変な作業であり、怠け者です。もっと簡単な方法はありますか?

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

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

更新、私はjava.awt.Polygonを使用して見ましたが、intのみをサポートしており、座標にdoubleを使用しています。

4

3 に答える 3

3

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

「お客様」って聞こえますか?1990 年代後半以降の Polygon2D の欠如は、API の明らかなモンスター トラック サイズの穴ですが、GeneralPath を使用する必要があります。

于 2009-09-02T18:48:11.987 に答える
1

実際にGeodeticlat/ lon値を使用している場合は、実際にOpenMapを使用してこの作業の一部を実行できます。そのAPIでGeoクラスを使用して、緯度/経度のポイントのポリゴンで定義された領域の周りでオブジェクトをバウンスするのに少し時間を費やしました。交差点の呼び出しがあり、すべてが球形に行われるため、投影が行われる限り、ポイントはより正確になります。

于 2009-09-02T18:55:37.277 に答える
0

最も単純な (そして最も怠惰な) 方法は、X、Y 座標値の最大値と最小値からポイントの境界ボックスを作成することです。

独自のアルゴリズムを考案するのではなく、より厳密な適合が必要な場合は、ここから始めるのが良いでしょう。

于 2009-11-21T15:00:38.347 に答える