Java: Как преобразовать несколько строк в многоугольник
У меня есть две контурные линии в некоторой области каньона, но они не закрываются. Очевидно, они представляют область результата. Как я могу закрыть их кодом?
Скажем, две линейные строки, как
LineString lineString1 = geometryFactory.createLineString(new Coordinate[]{
new Coordinate(0, 0),
new Coordinate(10, 0)
});
LineString lineString2 = geometryFactory.createLineString(new Coordinate[]{
new Coordinate(0, 2),
new Coordinate(10, 2)
});
List<LineString> lineStrings = Arrays.asList(lineString1, lineString2);
Geometry geometry = geometryFactory.buildGeometry(lineStrings);
// MULTILINESTRING ((0 0, 10 0), (0 2, 10 2))
Geometry union = geometry.union();
// MULTILINESTRING ((0 0, 10 0), (0 2, 10 2))
LinearRing linearRing = geometryFactory.createLinearRing(geometry.getCoordinates());
// Exception: Points of LinearRing do not form a closed linestring
Как я могу получить результат
LINESTRING ((0 0, 10 0, 10 2, 0 2, 0 0))
Любая помощь приветствуется.