実践・連作障害回避スケジューリングツールを作る②

2021-03-20

GAS ツール プログラミング

B!

限られた農地を上手に活用する方法をプログラム側から考える。
第二回目はスプレッドシートの準備をする。


要点

  1. シートの構成を考える
  2. 必要なデータを洗い出す・デザインを決める
  3. 実際に作ってみる

1.シートの構成を考える

以前考えていたイメージ のもと、ツールのベースとなるスプレッシートの構成を考えてみようと思います。 具体的には、
  • インターフェイス部
  • 定数部
  • データベース部
  • 出力部
に分けて考えようと思います。

インターフェイス部

ここは、操作対象(私の場合は自分)が実際操作する部分のシートになります。操作する対象の人がぱッとみて解りやすいインターフェイスであることが望ましいです。

操作する人が他人の場合はよく話し合い、ボタンの配置等々を決めると良いです。

今回私はこのシートに「mng」(manageを略した形)と命名しました。命名も使う人に合わせ、わかりやすくするのがベストです。

定数部

科目や品種・輪作年限など、(基本的には普遍な)定数を定義しておくためのシートです。

このシートには「define」と命名しました。「def」とかでもいいかもしれません。ぶっちゃけなんでもいいです。

データベース部

定数(defineシート)からさらに派生し、作物毎、育て方や時期別に情報を定義していきくためのシートです。 スケジュールを組む為に必要なデータが主になります。

このシートには「data」と命名しました。ぶっちゃけなんでも(ry

出力部

スケジュールテンプレートのシートをあらかじめ作成し、コピーする形で出力シートを作成していきます。

このシートには「tmp」(templateでもいいよ)と命名しました。ぶっ(ry

2.必要なデータを洗い出す・デザインを決める

インターフェイス部

ここが一番悩ましいところです。

最低限必須なのは、
  • 作物決定
  • スケジュール作成
  • 区画(畑)指定
  • (露地/施設)栽培場所選択
くらいでしょうか?

私は基本情報などを調べて表示したいので「調べる」ボタンも付けてみました。

さらにスケジュールリストの操作ボタンも追加して最終的にこんな感じになりました。

「選択肢」と書いてある以降のセルに現在選択可能な作物一覧が表示され、そのリストの作物名を選択した状態で「調べる」を選択すると右上の情報欄に「define」シートや「data」シートの情報が表示され、「作物決定」を押すと右側のスケジューリング用のリストにスタックされていき、「スケジュール作成」を押すとスケジュールが作成される。といった仕組みです。

定数部

とりあえず「科目」「品種」「pH」「輪作年限」は必須として、「相性」の欄はあったらいいなシステムなので、ちょっとまだ未使用で…

「輪作年限」の右の灰色の欄は1年を48週として利用しているので作ってしまったものです。
今後「年」「日」ベースのスケジュールを作る際はまた考え直さないとですね。

科目に背景色が入っているのはスケジューリングの際に背景色を利用する為です。私はセンスが皆無なので好きな色で構いません!(=゚ω゚)ノ

データベース部

品種ごとに育てる時期や場所の定義データベースを作成します。 今回は週ベースのスケジュールを作成するのでこんな形にしましたが、最小単位(日や時間)で定義すればもっと応用が利くかもしれません。(が、自分はそこまでの精度を求めないので、週定義としました)

出力部

ここに関してはホントに自由です。 私は週ベーススケジュールなので、1月の箱は週で区切ってテンプレとしました。
次回はちゃんとGASを組みます(`・ω・´)


ブログランキング・にほんブログ村へ

Translate

魔王と愉快な仲間

このブログを検索

ラベル

ブログ アーカイブ

メッセージ

名前

メール *

メッセージ *

Powered by Blogger.

フリー写真素材ぱくたそ

QooQ