レイヤをシュレッダーにかけるQGISプラグイン作った



(まず最初に)
<font color="red" size=+3>本プラグインで大事なデータをシュレッダーしてしまったとしても、作成者は一切責任は取りません。自己責任でお願いいたします。</font>




## 皆さんは覚えてるだろうか
### オークションで自分の作品をシュレッダーにかけて話題になった人のことを
![](https://i.imgur.com/L1Ob4H0.png)



### [過去にそれを~~パクって~~オマージュしてpyQGISプログラムを作った記事を載せたこと](https://qiita.com/nishi_bayashi/items/0bfcd6e1f07658bfce78)がありました


<img src="https://i.imgur.com/hf14OCp.png" width=50%><img src="https://i.imgur.com/9cXs2J6.png" width=50%>



### 常々きちんとプラグイン化したいと思ってた。
 上の記事から早2年。QGISのプラグインの作り方を学んだ今日この頃、満を辞してきちんとプラグイン化してみました。
[ダウンロードはこちらから](https://github.com/nbayashi/shredLayerPlugin)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61492/489b22bb-d74b-3c1d-5086-938c7df9f99c.png)


### インストール方法
- CodeからDownload ZIPを選択してダウンロードしてください。
- QGISのプラグインの管理とインストールからダウンロードしたzipを読み込みます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61492/c25338b7-be51-fe8a-40ad-2a1a1adfffec.png)

- するとQGISのアイコン群に以下のようなアイコンが追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61492/82a268a6-333b-0280-bc3c-c80604ca458e.png)



### 使い方
アイコンをクリックするとこんなメニューが立ち上がります。
![](https://i.imgur.com/y3mgtG4.png)

- 入力レイヤ：裁断したいレイヤを選択します（ベクターもラスターも可能）
- 裁断の細かさ：「粗」で10分割、「細」で100分割に裁断します。お好きな細かさをスライダーで決めてください。
- 裁断方向：縦方向に裁断するか、横方向に裁断するか決めます。

以上設定したらOKでシュレッダー開始!!


#### <b>ピーーーーガーーー
#### ウィーーーン</b>
（シュレッダーかけてる音）


### 出力結果
(細かさ：粗・方向：縦の例)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61492/ac258e2c-40e6-1b41-c967-5f93db08748c.png)


----

### 元のレイヤはきちんと削除される。
シュレッダーということなので、元のレイヤは切り刻まれて、元には戻りません。
本プラグインではそこも再現して、入力レイヤに指定したレイヤをレイヤ一覧から削除します。
![](https://i.imgur.com/ugJYkZe.png)




----

### ディレクトリからも削除される・・・・
もちろんレイヤからだけじゃなくディレクトリの方からも元データを削除します。
つまり、入力レイヤで指定したデータは２度と戻りません。
だってシュレッダーですから。


・
・
・
・
・
・

### ・・・入力データが保存されていたフォルダを確認すると・・・



### Macなら問題なく削除されたことを確認。
<img src="https://i.imgur.com/pTz49bJ.png" width=40%>

（入力データが保存されていたフォルダ内。元のデータは削除され、シュレッダーの残骸である裁断化されたデータのみが残ります）


----

### しかしwindowsの場合。
処理自体はちゃんと実行されるけど、プラグイン終了時になんかメッセージが出る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61492/179e0767-a684-6c4a-c5ca-4169c075a74c.png)




### そしてディレクトリを確認してもなんか残ってる
<img src="https://i.imgur.com/HWHrhY1.png" width=40%>

プラグイン処理内でファイルを削除しようとしてるけど、入力レイヤがQGIS上で開きっぱなしになってるとみなされているようなのですが、どう解決したら良いか分からず。。。。




### どうしたらいいんでしょう・・・

コードを[github](https://github.com/nbayashi/shredLayerPlugin)にあげていますので、誰か教えてください

----

### ちなみにこのプラグインのアイコン

<img src="https://i.imgur.com/u3n4WCk.png" width=120>

### 元はこれ↓で考えてたけど
<img src="https://i.imgur.com/dJCtgyQ.png" width=120>


あまりに、元の絵そのままっぽくて著作権とかで怒られそうなのでやめて、[著作権フリー](https://netatopi.jp/article/1000057.html )なこちらの絵を参考に作りました

![](https://i.imgur.com/f33tGFT.png)




---

### と言うことで
- 不必要なデータを作ってしまった時
- 機密なデータを扱う時
- 「何よそのデータ、ちょっと見せなさいよ」と彼女にやましいデータを見られそうになった時。
- むしゃくしゃしてレイヤを引き裂きたい時

などの際には、本プラグインを使ってもらえたらと思います。

ただ、<font color="red" size=+3>大事なデータをシュレッダーしてしまったとしても、本プラグイン作成者は一切責任は取りません。自己責任でお願いいたします。</font>




## 【余談】社内の勉強会にて、本プラグインを紹介したところ。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61492/c8d18c24-db07-610b-2ae7-250932db9f27.png)

と言うような意見をいただいたので、そのような機能もそのうち搭載させたいと思います。
（間に合えば、も一回アドベントカレンダーに載せたいと思います。）