{"id":28533749,"url":"https://github.com/esri/wind-js","last_synced_at":"2025-07-07T20:31:14.591Z","repository":{"id":13241084,"uuid":"15925846","full_name":"Esri/wind-js","owner":"Esri","description":"An demo animation of wind on a Canvas layer in the JSAPI","archived":false,"fork":false,"pushed_at":"2017-05-02T18:14:57.000Z","size":1506,"stargazers_count":770,"open_issues_count":9,"forks_count":222,"subscribers_count":63,"default_branch":"master","last_synced_at":"2025-06-09T17:09:06.487Z","etag":null,"topics":["canvas","cartography","esri","gfs-data","javascript","javascript-library","visualization","web-development","wind"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Esri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-15T05:24:29.000Z","updated_at":"2025-05-28T10:19:12.000Z","dependencies_parsed_at":"2022-08-10T03:11:03.408Z","dependency_job_id":null,"html_url":"https://github.com/Esri/wind-js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Esri/wind-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esri%2Fwind-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esri%2Fwind-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esri%2Fwind-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esri%2Fwind-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Esri","download_url":"https://codeload.github.com/Esri/wind-js/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esri%2Fwind-js/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264142569,"owners_count":23563518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","cartography","esri","gfs-data","javascript","javascript-library","visualization","web-development","wind"],"created_at":"2025-06-09T17:08:32.047Z","updated_at":"2025-07-07T20:31:14.582Z","avatar_url":"https://github.com/Esri.png","language":"JavaScript","readme":"# Wind-JS\n\nCheck out the live [demo](http://esri.github.io/wind-js/)\n\n![Wind JS](https://f.cloud.github.com/assets/351164/2349895/36ba1c9a-a569-11e3-859d-5d753ea0898c.jpeg)\n\n\nThis project is an experiment in client-side data processing and visualization. Most of the code in this project is taken from https://github.com/cambecc/earth and has been re-purposed to support easier application to a variety of mapping APIs and Frameworks.\n\n## How it works\n\nThe code for this project uses nothing but an HTML5 Canvas element and pure Javascript. The data come from the Global Forecast System which produces a large variety of datasets as continuous global gridded datasets (more info below). The data is passed into a JS class called `Windy` which takes the bounds of the map, the data, and the canvas element and then applies a [Bilinear Interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation) to generate a smooth surface. Once the surface has been generated a function randomly places \"particles\" onto the canvas at random x/y points. Each particle is then \"evolved\", moving in a direction and at a velocity dictated by the interpolated surface.\n\n## The Data\n\nBefore [GFS data](http://nomads.ncdc.noaa.gov/data.php?name=access#hires_weather_datasets) can be used with this code it has to be converted into JSON. To do this we used another awesome project by [@cambecc](https://github.com/cambecc) called [`grib2json`](https://github.com/cambecc/grib2json). That tool converts data in the GRIB2 file format into a JSON structure with the grid represented as an array. An example result of that tool can be seen in the `gfs.json` file.\n\n## Resources\n\n* https://github.com/cambecc/earth\n* http://earth.nullschool.net/\n* [http://nomads.ncdc.noaa.gov/data.php...](http://nomads.ncdc.noaa.gov/data.php?name=access#hires_weather_datasets)\n* http://developers.arcgis.com\n* [twitter@esri](http://twitter.com/esri)\n\n## Issues\n\nFind a bug or want to request a new feature?  Please let us know by submitting an issue.\n\n## Contributing\n\nEsri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing).\n\n## Credit\n\nAll the credit for this work goes to [@cambecc](https://github.com/cambecc) for creating [cambecc/earth](https://github.com/cambecc/earth). The majority of this code is directly taken from there, since it's utterly awesome.\n\n## Licensing\n\nThis project inherits an MIT license from [cambecc/earth](https://github.com/cambecc/earth) because 95% of the code here was copied from that project.\n\nA copy of the license is available in the repository's [license.txt]( https://raw.github.com/Esri/wind-js/master/license.txt) file.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesri%2Fwind-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesri%2Fwind-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesri%2Fwind-js/lists"}