如何在JTS中枚举几何中的顶点?

时间:2014-05-16 18:54:33

标签: java jts

Java拓扑套件具有Geometry类,其中包含getNumPoints()方法。根据文档,它计算所有构成几何中的所有顶点。

如何列举所有这些要点?它们可以通过getCoordinates()方法获得,但这看起来不是最优的,因为(1)不是迭代的,(2)需要通过Point将每个坐标元组转换为GeomertFactory

1 个答案:

答案 0 :(得分:0)

由于您可能有一些正确的几何类型,如LineString或Polygon,请使用它(将几何图形投射到它),然后您可以使用type TestCol*[T] = object data*: seq[T] proc len*(b: TestCol): int = b.data.len proc `[]`*[T](b: TestCol[T], idx: int): T = b.data[idx] proc `[]=`*[T](b: var TestCol[T], idx: int, item: T) = b.data[idx] = item var x = newSeq[int](3) var y = TestCol[int](data: x) y[0] = 1 y[1] = 2 y[2] = 3 for n in map(y, proc (x: int): int = x + 1): echo($n)

顺便说一下,坐标不是积分。坐标不是JTS中的几何,只是一个用于保存数值的类。点是实际的几何形状。