codeforsapporo / covid19

北海道 新型コロナウイルス対策サイト
https://stopcovid19.hokkaido.dev/
MIT License
128 stars 28 forks source link

現在患者数に補足を追加 検査陽性者の状況に対して現状あるデータからの自動更新を実装 #248

Closed NEKOYASAN closed 4 years ago

NEKOYASAN commented 4 years ago

📝 関連issue

⛏ 変更内容

📸 スクリーンショット

netlify[bot] commented 4 years ago

Deploy preview for elated-goldwasser-3444a3 ready!

Built with commit 73c31cb015c1297c810b3bd8968bfae50a903db9

https://deploy-preview-248--elated-goldwasser-3444a3.netlify.com

daisuke-fukuda commented 4 years ago

複数のデータから取ってきているので、タイミングによっては合計がずれませんか?

NEKOYASAN commented 4 years ago

convertToMainSummary.tsの

 if(patientsdates.pop() !== patients_summary_dates.pop()){
    patients_summary_sum = patients_summary_sum - patients.pop()
  }

によって https://github.com/codeforsapporo/covid19/issues/241#issuecomment-598536909 の懸念については解消済みです。 陽性患者数のみ当日の18時ごろ、他のファイルは翌日の10時ごろとのことだったのでpatients_summaryと他のファイルについてはずれている時間が長いためpatients_summaryを1日前までの合計値にしています。 翌日10時頃に変更される他のファイルについてはずれたとしても少しの間のずれで済むかと思いますのでこちらについてはとくに対処していません。

daisuke-fukuda commented 4 years ago

陽性患者数のみ当日の18時ごろ、他のファイルは翌日の10時ごろ

これって土日込で確実でしょうか?

@koukita

NEKOYASAN commented 4 years ago

合計がずれることへの対応として 「ご覧いただいている時間によっては累計されている日付が違い、総数が合わない場合があります。」 という補足をカードに対して書き加えるという対応方法も一つかと思います。 なお、今回の変更は 備考の変更を除き、ConfiremCasesTable.vue convertToMainSummary.tsへの変更でindex.vueに話していた表を表示するものではありません。

koukita commented 4 years ago

コードかけないのでできるかわからずに書いてますが、 集計する日を決めて、同じ日の累計でJsonを作るということはできないのでしょうか? 集計する日は、現在患者数の最新の日を基準としておけば、陽性患者数が1日多くても、現在患者数の最新日と同じ日までの集計とすれば、計算はズレないと思われます

daisuke-fukuda commented 4 years ago

一晩寝て思いついたのですが、ここで細工するのではなく、jsonを作成するバッチ処理の中で、専用のjsonを作成する方針の方が責務がはっきりしていて良いと思いました。

あとで外部ファイルから直接取得する変更をする場合でもシンプルですし。

NEKOYASAN commented 4 years ago

一晩寝て思いついたのですが、ここで細工するのではなく、jsonを作成するバッチ処理の中で、専用のjsonを作成する方針の方が責務がはっきりしていて良いと思いました。

これたしかにですね json側の処理に記述してきます

koukita commented 4 years ago

私もちょっと考えたのですが、同じ日の各種累計を取得するのが、別CSVだから、一つだけ早く更新されるとずれてしまうんですよね。 今、患者数などのCSVが4つに別れていますが、これを一つにしたらダメですかね? 陽性患者数、現在患者数、軽症中等症数、重症数、陰性確認数、死亡数、検査数 これをひとつのCSVにしてしまえば、更新日は合わさりますよね。 陽性患者属性だけは今まで通りにする。

※補足 実は、道庁の広報担当に提案しよう思っていることがあって、 道庁のホームページでもグラフを自動で作れればいいかと思っています。 道庁のCMSにはいろいろ制約があるので、HTMLにJSもすべて記載しないとダメなのでVueのようなことはできませんが、Chart.jsならできそうかと思っています。 道庁の広報担当が、道庁のページにCSVをアップしたら、グラフが自動で作られるようにしたいです。その際、データは1つのCSVのほうが良いです。 なので、この提案をするときには、オープンデータに掲載しているデータも、前述のようにすべて1つのCSVにまとめれれば考えています。 その際は、突然と全部変えるのではなく、移行期間を設けて、行ければいいかと思います。

NEKOYASAN commented 4 years ago

csv一つにまとめてしまうのは私としてはとても良いと思います。 json作成側で分割するのか、フロント側でカラムを指定するのかは決める必要がありますが...

koukita commented 4 years ago

なんとなく、本家に合わせて分割していましたが、一つの方が、道庁も入力しやすいと思うんです

Kanahiro commented 4 years ago

CSVの統一は同じ事を思っていたところでした。

json作成側で分割するのか、フロント側でカラムを指定するのかは決める必要がありますが...

取得したデータをフロントで集計してUIに渡す、というのが最も綺麗と考えます。 ただこれはフロントの修正が大きいので、次善はjson生成時に集計・各々のjsonに分割出力と考えます。フロントの手数次第かな、と。