0

私は2つの層を持っています。ライン レイヤーとポイント レイヤー。

任意の線について、線のエンベロープと交差するが、線自体ではなく、より具体的には、線の終点または始点ではない点を見つけるにはどうすればよいですか。

明らかに、線のエンベロープと交差するすべてのポイントを見つけることができ、見つかったポイントに対して 1 つずつテストを実行して、それらが線のポイントから、またはポイントへと交差するかどうかを確認できますが、より簡単で高速な方法があることを望んでいましたこの性質の何かをします。

編集:

ジオメトリのエンベロープまたはエクステントは、ジオメトリ (ポリゴン、ポリライン、ラインなど) が収まる最小の四角形 (4 つのポイントを持つポリゴン) です。以下の図はポリゴンのエンベロープを示していますが、ポリラインも同様に機能します。 封筒 http://www.freeimagehosting.net/uploads/cf344d3fe2.jpg

4

1 に答える 1

1

線レイヤーの線の端点と交差しない点レイヤーのすべてのポイントを見つけるには、次のようにします。

  1. Dictionary<string,IPoint>ポイントレイヤーにポイントのを作成します。
  2. Dictionary<string,IPoint>ラインレイヤーにエンドポイントのを作成します。
  3. 最初の辞書の各キーをループして、そのキーが2番目の辞書に存在するかどうかを確認します。

文字列キーは、X、コンマ、およびYの連結に基づいています。

于 2010-06-10T14:14:39.373 に答える