そのようなポリゴンを作成することはできません。JTS はかなり重いフレームワークなので、フル ルートを使用する必要があります。
- すべては
GeometryFactory
docsから始まります。すべてのジオメトリを作成する責任があります。たとえば、いくつかのことを考慮に入れる必要があるためPrecisionModel
です。
- ジオメトリの階層を理解する必要があり
Polygon
、線で記述されています -LineRig
またはLineString
(違いはこの質問の範囲外です)。
- すべての線が点で構成されていることを認識する必要があります。点は
Point
またはで記述できますCoordinate
。したがって、作成したい場合はPolygon
コードは次のようになります。
GeometryFactory factory = new GeometryFactory(); //default
Coordinate[] coordinates1 = {
new CoordinateXY(0,0),
new CoordinateXY(1000,0),
new CoordinateXY(1000, 1000),
new CoordinateXY(0, 1000),
new CoordinateXY(0, 0)
};
Coordinate[] coordinates2 = {
new CoordinateXY(500,500),
new CoordinateXY(1000,500),
new CoordinateXY(600, 600),
new CoordinateXY(500, 600),
new CoordinateXY(500, 500)
};
LinearRing linearRing1 = factory.createLinearRing(coordinates1);
LinearRing linearRing2 = factory.createLinearRing(coordinates2);
Polygon polygon1 = factory.createPolygon(linearRing1);
Polygon polygon2 = factory.createPolygon(linearRing2);
assertTrue(polygon1.contains(polygon2));