0

簡単に解決できるはずの問題がありますが、それを理解できずに頭痛の種になっています。

多数のポリラインがあり、これらのポリラインを 1 つのポリライン オブジェクトにマージしたいと考えています。これらのポリラインは必ずしも接続されているとは限らず、マージの過程でそれらを接続したくありません。最終結果は、個別のセグメントまたは「パス」で構成される単一のポリライン オブジェクトになります。

各ポリラインからセグメントを作成し、これらのセグメントをセグメント コレクションに追加してからポリライン オブジェクトにキャストしようとしましたが、これはプロセスでセグメントを魔法のように結合しているように見えます。

これが可能であることは知っています。以前にマルチパス ポリライン オブジェクトを見たことがあります。助けてください!

4

1 に答える 1

0

典型的。これを投稿するとすぐに、なんとか解決しました。

各ポリラインからパス オブジェクトを作成し、これらをポリライン オブジェクトを表す新しいジオメトリ コレクションに追加する必要がありました。下記参照:

                Dim newPath As ISegmentCollection = New Path
                Dim missing As Object = Type.Missing
                Dim pNewPolyGeom As IGeometryCollection = New Polyline

                pSegment.FromPoint = pTempPolyline.FromPoint
                pSegment.ToPoint = pTempPolyline.ToPoint
                newPath.AddSegment(pSegment, missing, missing)
                pNewPolyGeom.AddGeometry(newPath, missing, missing)

これで、私のポリライン (pNewPolyGeom) は、個別の接続されていない線分で構成される単一のポリライン オブジェクトになります。

于 2013-11-12T12:22:28.870 に答える