我想将wkt地理转换为jts几何。
我尝试过像这样使用jts wkt阅读器。
导入com.vividsolutions.jts.geom.Geometry;
导入com.vividsolutions.jts.io.WKTReader;
几何几何= wktReader.read(wktString);
这里的问题是wkt是格式(经度纬度)。由此创建的几何图形不是预期的几何图形。
如果输入的格式为(纬度经度),则可以解决问题。
我能想到的一种方法是,拿内圈和外壳。对于每个环交换lat和long并创建一个新环。交换环后,我将创建一个新的几何体。
在创建几何体之前,有没有其他方法可以将wkt从x,y转换为y,x?
答案 0 :(得分:1)
您可以投射它然后获取几何对象:
JtsGeometry shape = (JtsGeometry) wkt(ctx, "POLYGON((0 0, 10 0, 5 5, 0 0))");
然后
shape.getGeom()
它将返回Geometry对象,您可以将其用于交叉等进一步操作:
shape.getGeom().intersection(otherGeometryShape);
答案 1 :(得分:0)
JTS在协调系统方面完全不可知。它会在您呈现时读取您的数据。这意味着没有纬度或经度,只有WKT输入中的x和y。
有关解决问题的一些建议,请参阅How to Swap Coordinates of jts.geom.Geometry object from Lat, Long to Long,Lat in JTS。