Код: Выделить всё
import org.geotools.gml3.GMLConfiguration;
import org.geotools.xsd.Parser;
private Geometry parseGML(String gmlString) throws Exception {
String fixed = convertUrnToEpsg(gmlString);
GMLConfiguration gmlConfig = new GMLConfiguration();
Parser parser = new Parser(gmlConfig);
var parsed = parser.parse(new ByteArrayInputStream(fixed.getBytes(StandardCharsets.UTF_8)));
if (parsed instanceof Geometry[] geometries) {
for (Geometry geometry : geometries) {
System.out.println(geometry);
}
} else if (parsed instanceof Geometry geometry) {
System.out.println(geometry);
return geometry;
} else {
System.out.println("Type: " + parsed.getClass().getSimpleName());
}
return null;
}
Код: Выделить всё
String gmlElevatedPoint = """
52.1 -0.1 100
""";
Geometry geometry = parseGML(gmlElevatedPoint);
Код: Выделить всё
String gmlCurve = """
57.0833 -40.0 52.85
-41.7833 48.4667 -41.3333
44.0333 -40.0 42.6
-37.0 40.7333 -37.1833
41.4 -30.05 43.5167
-21.1333 56.6667 -21.1333
57.0833 -40.0
""";
Geometry geometry = parseGML(gmlCurve);
Существует ли какая-нибудь библиотека для обработки геометрии AIXM?
Подробнее здесь: https://stackoverflow.com/questions/791 ... 3d-in-java
Мобильная версия