4

我想将 wkt 地理转换为 jts 几何。

我尝试像这样使用 jts wkt 阅读器。

导入 com.vividsolutions.jts.geom.Geometry;

导入 com.vividsolutions.jts.io.WKTReader;

几何几何 = wktReader.read(wktString);

这里的问题是 wkt 的格式为 (longitude latitude) 。由此创建的几何图形不是预期的几何图形。

如果输入的格式是(经纬度),那么问题就解决了。

我能想到的一种方法是,取内环和外壳。对于每个环交换纬度和经度并创建一个新环。在交换了环之后,我将创建一个新的几何体。

在创建几何之前,还有其他方法可以将 wkt 从 x,y 转换为 y,x 吗?

4

2 回答 2

2

您可以对其进行转换,然后获取几何对象:

JtsGeometry shape = (JtsGeometry) wkt(ctx, "POLYGON((0 0, 10 0, 5 5, 0 0))");

然后

shape.getGeom()

它将返回 Geometry 对象,您可以将其用于进一步的操作,例如相交等:

shape.getGeom().intersection(otherGeometryShape);
于 2018-01-21T09:19:59.767 回答
-1

当涉及到坐标系时,JTS 是完全不可知的。它会在您呈现数据时读取您的数据。这意味着没有纬度或经度,只有 WKT 输入中的 x 和 y。

请参阅How to Swap Coordinates of jts.geom.Geometry object from Lat, Long 到 Long,Lat in JTS以获得解决问题的一些想法。

于 2015-05-04T16:58:05.430 回答