「DotSpacial」を使って図形のコピー及び削除行う

「DotSpacial」を使って図形のコピー及び削除を行う場合のメモです。

図形の編集は「DotSpatial.Plugins.ShapeEditor」などのプラグインを参考にし、
事前にボタンを用意しておきます。

図形のコピー処理

1.図形のコピー

「コピー」ボタンクリック時に、選択図形を保持しておきます。

2.選択図形の貼り付け

「貼り付け」ボタンクリック時に、選択図形をレイヤーに追加します。
レイヤーの追加には、FeatureSet.CopySubset()メソッドを使って選択図形をコピーします。
このメソッドを使用しなければコピーができませんでした。
また、コピーした後は、同じ位置だと結果が分かりにくいので、
AffineTransformationクラスを使って、XY座標ともに1mずつ相対移動さています。

処理イメージは以下の通り。

  • コピー前

  • コピー後

図形の削除処理

1.図形の削除

「削除」ボタンクリック時に、選択図形を削除します。
レイヤから削除するには、FeatureSet.RemoveShapeAt()メソッドを使います。
引数のindexは、Featuer.Fidを使用します。
このFidは、DotSpatialで、shapeファイル読み込み時に、属性に振られるIDで、
様々な処理で利用されます。

処理イメージは以下の通り。

  • 削除前

  • 削除後

Print Friendly, PDF & Email

シェアする

  • このエントリーをはてなブックマークに追加

フォローする