gpt4 book ai didi

java - 验证 WKT 格式的几何图形

转载 作者:行者123 更新时间:2023-11-30 09:18:00 47 4
gpt4 key购买 nike

我是 GIS 领域的新手,我需要在 Java 中验证 WKT 格式的几何图形,以检查一个简单的多边形是否为闭环,即顶点的起点和终点应该相同。我目前正在使用 jGeometry 类的 oracle spatial(com.oracle.sdoapi),获取第一个和最后一个顶点并进行比较。另外,我正在使用 getType() 方法来检查它是否是一个简单的多边形。以下是正在使用的代码片段:

WKT wkt = new WKT();
JGeometry geometry = wkt.toJGeometry(wkt.getBytes());
double[] d1 = geometry.getFirstPoint();
double[] d2 = geometry.getLastPoint();
if(!jGeometry.getType() == jGeometry.GTYPE_POLYGON){
//error message for other geometries
}

是否有任何简单的方法可以做到这一点,或者是否有可用的 API?如果它已经完成并且易于使用,我不想重新发明轮子。谢谢!

最佳答案

Java Topology Suite包含适合您目的的 WKTReader 类。参见 http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/io/WKTReader.html .您可以使用 WKTReader 来解析 WKT,并查找 ParseExceptions,这表明 WKT 无效。

如果 WKT 解析,则可以使用 instanceof 运算符或 WKTReader.getGeometryType() 来确定解析的 Geometry 类的类型,并查看它是否是以下之一具有封闭壳的几何类型(多边形或多边形),如多边形或多边形。

关于java - 验证 WKT 格式的几何图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751122/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com