先日、apoint(X,Y)がポリゴン内にあるかどうかを計算するクラスを Java で作成しました。(XとYはdouble、地理座標になるため)。
Java にはクラスがあることは知っていますが、andを使用Polygonする必要がありました。Path2DPoint2DPolygondouble
でポリゴンを作成したらPath2D、その方法を使用してcontains(Path2D持っていた)、問題は解決しました。
しかし今、私は Android にインポートしたいのですが、インポートするPath2D必要があるため、問題はここにあります:
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
Androidにはawtが存在しないため、使用できません。
Path2Dでは、 hadcontainsメソッドに似たクラスはありますか? または私は自分で計算する必要がありますか?
を使用してJavaで行った方法は次のPath2Dとおりです。
private void ConstructPolygon(Vector<Point2D> coodinates)
{
this.polygon.moveTo(coodinates.get(0).getX(), coodinates.get(0).getY());
//System.out.println(coodinates.get(0).getX() + " " + coodinates.get(0).getY());
//System.out.println("asda");
for(int i = 1; i < this.num_points; i++)
{
//System.out.println(coodinates.get(i).getX() + " " + coodinates.get(i).getY());
this.polygon.lineTo(coodinates.get(i).getX(), coodinates.get(i).getY());
}
this.polygon.closePath();
}
public boolean InsideCity(Point2D punto)
{
return this.polygon.contains(punto);
}