0

我有2层。线层和点层。

对于任何给定的线,我怎样才能找到与线的包络相交的点,但不是线本身,或者更具体地说,不是线的终点或起点。

我显然可以找到与线包络相交的所有点,然后对找到的点进行 1 对 1 的测试,看看它们是否与线的起点或终点相交,但我希望有一种更简单、更快的方法做这种性质的事情。

编辑:

几何的包络或范围是几何(多边形、折线、线等)将适合的最小矩形(具有 4 个点的多边形)。下图说明了多边形的包络,但折线的工作方式类似。 信封 http://www.freeimagehosting.net/uploads/cf344d3fe2.jpg

4

1 回答 1

1

要查找点层中不与线层中线的端点相交的所有点,我会这样做:

  1. Dictionary<string,IPoint>在点图层中创建一个点。
  2. 在线条层中创建一个Dictionary<string,IPoint>端点。
  3. 遍历第一个字典中的每个键并检查该键是否存在于第二个字典中。

字符串键基于 X、逗号和 Y 的串联。

于 2010-06-10T14:14:39.373 回答