GithubHelp home page GithubHelp logo

gordonsmith / covid19js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fullergalway/covid19js

0.0 2.0 0.0 4 MB

COVID-19 Coronavirus data in javascript

Home Page: https://covid19js.com

License: MIT License

HTML 14.18% JavaScript 85.18% Shell 0.63%

covid19js's Introduction

covid19js

Coronavirus COVID-19 outbreak data with zero dependencies, for web developers.

Data is generated from 2019 Novel Coronavirus COVID-19 (2019-nCoV) Data Repository by Johns Hopkins CSSE

Visualisations using the data

View the examples below live

Getting Started

Include this line in the head of your html page:

<script src="https://covid19js.com/dist/covid19.js"></script>

Afterwards you can use the covid19 data in your javascript. Some samples are below:

covid19.data();

[
  {"date":"2020-01-22","country_region":"Japan","lat":36,"lng":138,"deaths":0,"confirmed":2,"recovered":0,"new":{"deaths":0,"confirmed":2,"recovered":0}},
  {"date":"2020-01-22","country_region":"Macau","province_state":"Macau","lat":22.1667,"lng":113.55,"deaths":0,"confirmed":1,"recovered":0,"new":{"deaths":0,"confirmed":1,"recovered":0}},
  {"date":"2020-01-22","country_region":"Mainland China","province_state":"Anhui","lat":31.8257,"lng":117.2264,"deaths":0,"confirmed":1,"recovered":0,"new":{"deaths":0,"confirmed":1,"recovered":0}},
  ...
]
var data = covid19.data();
data.latest();

[
  {"date":"2020-03-06","country_region":"Afghanistan","lat":33,"lng":65,"deaths":0,"confirmed":1,"recovered":0,"new":{"deaths":0,"confirmed":0,"recovered":0}},
  {"date":"2020-03-06","country_region":"Algeria","lat":28.0339,"lng":1.6596,"deaths":0,"confirmed":17,"recovered":0,"new":{"deaths":0,"confirmed":5,"recovered":0}},
  {"date":"2020-03-06","country_region":"Andorra","lat":42.5063,"lng":1.5218,"deaths":0,"confirmed":1,"recovered":0,"new":{"deaths":0,"confirmed":0,"recovered":0}},
  ...
]
data.latest().totals();
{
  "date": "2020-03-06",
  "confirmed": 101800,
  "deaths": 3460,
  "recovered": 55866,
  "new": { "confirmed": 3921, "deaths": 112, "recovered": 2070  }
}

Filter as you would with any javascript array

data.latest().filter(x=>x.country_region==="US");
[
  {"date":"2020-03-06","country_region":"US","province_state":"Bergen County, NJ","lat":40.9263,"lng":-74.077,"deaths":0,"confirmed":2,"recovered":0,"new":{"deaths":0,"confirmed":0,"recovered":0}},    
  {"date":"2020-03-06","country_region":"US","province_state":"Berkeley, CA","lat":37.8715,"lng":-122.273,"deaths":0,"confirmed":1,"recovered":0,"new":{"deaths":0,"confirmed":0,"recovered":0}},  
  {"date":"2020-03-06","country_region":"US","province_state":"Chatham County, NC","lat":35.7211,"lng":-79.1781,"deaths":0,"confirmed":1,"recovered":0,"new":{"deaths":0,"confirmed":1,"recovered":0}},
  ...
]
data.latest().filter(x=>x.country_region==="US").totals();

{
  "date": "2020-03-06",
  "country_region": "US",
  "lat": 38.7646,
  "lng": -121.9018,
  "confirmed": 278,
  "deaths": 14,
  "recovered": 8,
  "new": {
    "confirmed": 63,
    "deaths": 2,
    "recovered": 1
  }
}

Filter for leaflet map bounds

var bounds = L.latLngBounds(
        L.latLng(6.7499552751, 36.619987291),
        L.latLng(18.4802470232, 47.1153931748));
data.filter(x=>bounds.contains(L.latLng(x.lat,x.lng)));

[
  {"date":"2020-01-31","country_region":"Italy","lat":43,"lng":12,"deaths":0,"confirmed":2,"recovered":0,"new":{"deaths":0,"confirmed":2,"recovered":0}},
  {"date":"2020-02-01","country_region":"Italy","lat":43,"lng":12,"deaths":0,"confirmed":2,"recovered":0,"new":{"deaths":0,"confirmed":0,"recovered":0}},
  {"date":"2020-02-02","country_region":"Italy","lat":43,"lng":12,"deaths":0,"confirmed":2,"recovered":0,"new":{"deaths":0,"confirmed":0,"recovered":0}},
  ...
]

Group by country (must filter to a single date first)

data.latest().groupByCountryRegion();

[
  {"date":"2020-03-06","country_region":"Afghanistan","lat":33,"lng":65,"confirmed":1,"deaths":0,"recovered":0,"new":{"confirmed":0,"deaths":0,"recovered":0}},
  {"date":"2020-03-06","country_region":"Algeria","lat":28.0339,"lng":1.6596,"confirmed":17,"deaths":0,"recovered":0,"new":{"confirmed":5,"deaths":0,"recovered":0}},
  {"date":"2020-03-06","country_region":"Andorra","lat":42.5063,"lng":1.5218,"confirmed":1,"deaths":0,"recovered":0,"new":{"confirmed":0,"deaths":0,"recovered":0}},
  ...
]

Group by date with or without filtering first

data.filter(x=>x.country_region==="US").groupByDate();

[
  {"date":"2020-01-22","country_region":"US","province_state":"King County, WA","lat":47.6062,"lng":-122.3321,"confirmed":1,"deaths":0,"recovered":0,"new":{"confirmed":1,"deaths":0,"recovered":0}},
  {"date":"2020-01-23","country_region":"US","province_state":"King County, WA","lat":47.6062,"lng":-122.3321,"confirmed":1,"deaths":0,"recovered":0,"new":{"confirmed":0,"deaths":0,"recovered":0}},
  {"date":"2020-01-24","country_region":"US","lat":47.6062,"lng":-122.3321,"confirmed":2,"deaths":0,"recovered":0,"new":{"confirmed":1,"deaths":0,"recovered":0}},
  ...
]
data.groupByDate();

[
  {"date":"2020-01-22","confirmed":555,"deaths":17,"recovered":28,"new":{"confirmed":555,"deaths":17,"recovered":28}},
  {"date":"2020-01-23","confirmed":653,"deaths":18,"recovered":30,"new":{"confirmed":98,"deaths":1,"recovered":2}},
  {"date":"2020-01-24","confirmed":941,"deaths":26,"recovered":36,"new":{"confirmed":288,"deaths":8,"recovered":6}},
  ...
]

covid19js's People

Contributors

dependabot[bot] avatar fullergalway avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.