本线状图用于显示每天美国 COVID-19 的总计感染用户曲线。我们使用的是在线 JSON 数据,数据是通过 AWS 进行读取的。
你可以直接访问下面的链接来获得我们处理上传的数据。
https://cdn.ossez.com/dataset/json/covid19/covid19-confirmed-daily-us.json
虽然我们每天都会自动上传一些数据,但是你可能的更新数据每次都不一样。
我们主要也是希望通过这个平台来学习 D3 图表的使用。
你可以直接访问下面的链接: https://observablehq.com/@yuchenghu/untitled?collection=@yuchenghu/covid-19
对代码修改后进行编译,需要注意的是我们数据是上传到 AWS 的 JSON 数据,数据的来源是从 https://covidtracking.com/api 下载后处理的。
下载的方式是通过 Spring Batch 构建一个批量处理程序,每天定时获得最新数据后存储到本地数据库中,然后从本地数据库中导出为 JSON 数据。我也认为这种处理方式过于繁琐,其实在内存中就可以实现了,在获得原数据的 API 后,你可以直接将源数据转换为对象。
然后利用 gson 将对象转换为需要的字符串后输出成 JSON 就可以了。
如果你对 AWS API 比较了解和熟悉的话,你可以利用 AWS 的API 直接将生成的 json 数据上传到 S3 上存储。
做这个小项目的主要是为了熟悉 Spring Batch 的使用,D3 数据图表的配置,AWS API 的存储和使用。
麻雀虽小,五脏俱全,能够帮助你很好的了解微服务,云平台,数据结构等很多知识。
项目的源代码,我们已经发布到 GitHub 上了。https://github.com/ossez-com/covid-19 如果你有兴趣的话也可以参考。