0

我有一个List<Coordinate>代表路线的。

我想使用 JTS 简化它。

我看到的方法很少,但我不确定哪一种最适合我的需求:

1)如何将我的坐标转换为几何(线?)

TopologyPreservingSimplifier(Geometry inputGeom) 

void    setDistanceTolerance(double distanceTolerance) 

Geometry    getResultGeometry() 

2)

DouglasPeuckerLineSimplifier(Coordinate[] pts) 

 void   setDistanceTolerance(double distanceTolerance) 

 Coordinate[]   simplify() 

static Coordinate[] simplify(Coordinate[] pts, double distanceTolerance) 

3)也许这个?

TopologyPreservingSimplifier.simplify(geom, threshold-in-degrees-that-depends-on-the-length);

4

1 回答 1

1

要简化一条线,您首先必须拥有一条线。createLineString(Coordinate[])因此,首先使用GeometryFactory 实例的方法构建您的 LineString 。

然后只需使用 DouglasPeuckerSimplifier (您不需要只保留一条线的拓扑,起点和终点都是那里的拓扑,它们不会改变)。如果您想稍后使用它,您将不得不再次将结果转换为 LineString。您必须选择适当的容差。

LineString lss = (LineString) DouglasPeuckerSimplifier.simplify(ls, tolerance);
于 2015-05-04T16:37:51.310 回答