johntigue / idots Goto Github PK
View Code? Open in Web Editor NEWA web data standard for Infectious Disease Outbreak Time Series (IDOTS), and related software
Home Page: http://tigue.com/
License: Apache License 2.0
A web data standard for Infectious Disease Outbreak Time Series (IDOTS), and related software
Home Page: http://tigue.com/
License: Apache License 2.0
in the tutorial, get those 2 GeoJSON links to point at real OTSS docs in this project, not just some random pages that are place holders as of now
This and #23 means the same core code works in both node.js and in browsers.
http://browserify.org/
It is a goal to get this into mobile apps, via PhoneGap.
http://phonegap.com/
It sounds like Android phones are in the hand of health care workers, less so iPhones, but PhoneGap don't care.
Why ionic?
Keep following and analyzing the links on the wiki.
Keep an eye on eboladata.org:
https://github.com/JohnTigue/EbolaMapper/wiki/Datasets-Listed-on-eboladata.org
If you find any high-quality visualization (interactive or not) link to them on:
https://github.com/JohnTigue/EbolaMapper/wiki/Gallery-of-External-Viz
There's a TBD on
https://github.com/JohnTigue/EbolaMapper/wiki/EbolaMapper-APIs
https://docs.angularjs.org/guide/module
Seems like configure() and run() need to be on the interface.
These should be the same page:
https://github.com/JohnTigue/EbolaMapper/wiki/White-Label
https://github.com/JohnTigue/EbolaMapper/wiki/Deployment-HOWTO
For situations where folks are doing contact tracing or mapping incidents, the SQLite database is the place to store information collected until such time that servers can be connected to to upload the data. This is an Offline Mode issue, but is so very much not part of the first revision when all we are doing is read (i.e. visualization) not write (data collection).
When and if the time comes to get involved with that, doc it at:
Here are two links representative of the "well, maybe all you need is npm" mentality:
http://blog.keithcirkel.co.uk/why-we-should-stop-using-grunt/
http://ponyfoo.com/articles/choose-grunt-gulp-or-npm
This way someone can simply take the latest report (or a blank template) and edit for any new numbers and commit/save that. If save then files sorted by iso8601 filenames, say 2014-12-25-ebola.json
This really doesn't sound like a first rev. feature
The HDX data set might well be the result of a whole lotta screen scraping. Bravo for making that happen but there has to be a better way. And how is the info kept fresh? Is it dated?
There should be a JSON API/data-struct for outbreak data. This feels like it should be one of the major deliverables. Certainly there needs to be an abstract data model which gets mapped down to JSON, CSV, etc.
http://simonbjohnson.github.io/Ebola-Narrative/
https://github.com/luiscape/Ebola-Narrative/network
when that's done do a PR to,I guess, SimonbJohnson.
Consider:
https://github.com/redodo/tortilla
Put real Outbreak Time Series Spec data in properties features. (Spec needs to reflect this)
A time series could be a versioned GeoJSON doc, which just shows latest report.
Demo this in github diffs:
https://github.com/blog/1772-diffable-more-customizable-maps
Ok, so they'll want to feed in CSV data. Just how those CSV files should be structured needs to be defined.
The Spec should enable the use of GeoJSON docs as weekly (or whatever period) reports. In this case there would be no outbreak
root nor metadata
, rather that info would need to go in the properties.
Perhaps a flat way of expressing sub-populations would be helpful. This would be borrowed from the CSV serialization?
Then folks could use a GeoJSON editor to write reports?
This is a conformance tester and GUI treeview explorer of an Outbreak Dashboard API resource. Enter and URL, or a chuck of CSV, or a chunk of JSON. Then explore the data in it's raw tree.
Someone could enter CSV and get JSON out.
Get JFT's avatar off this page:
https://github.com/JohnTigue/EbolaMapper/wiki/Gallery-of-Ebola-Visualizations-Found-Across-the-Web
Great presentation on TopoJSON (27 minutes):
Bang out a test that does a health and lint check on various known datafeed.
https://www.gitbook.com/editor
http://xoops.org/modules/news/article.php?storyid=6684
"Devs and docers can work together"
Web Edtior introduced 2014-11-29 on Twitter:
https://twitter.com/GitBookIO/status/538829532594458624
This seems like the standard to work with for location and area data.
How does GeoJSON say: one data point, the world. i.e global report #s?
Seemingly GeoJSON CRSs can be used to point to both types of locations (country and maybe subdivision code, point):
http://geojson.org/geojson-spec.html#coordinate-reference-system-objects
This belief is supported by the following conversation:
http://gis.stackexchange.com/questions/15953/whats-up-with-the-geojson-spec-and-crs-as-a-irm
Note how treatment centers is available as geoJSON; clearly that is how to mark this up in JSON.
Points can represent cities and treatment centers. They can have UI label in the properties.
Fetch, clean, certify. See Data Ingestion
Google's docs uses locality to denote city:
https://developers.google.com/maps/documentation/geocoding/
Search for "FREE SOURCES" because google's terms do not allow using their reverse geocoding outside their maps:
http://stackoverflow.com/questions/3392160/converting-latitude-longitude-into-city-name-reverse-geolocating
https://github.com/mbostock/d3/wiki/SVG-Shapes#symbol
"it is common to set one or more of the accessors using a function, such as setting the size proportional to a dimension of data for a scatterplot... D3's symbol generator is useful in conjunction with path elements because you can easily change the symbol type and size as a function of data."
I pose this issue as a question because I do not know if TWO circles can be the symbol, or only ONE is allowed.
It seems that only a few basic types are supported:
https://github.com/mbostock/d3/wiki/SVG-Shapes#symbol_type
circle - a circle.
cross - a Greek cross or plus sign.
diamond - a rhombus.
square - an axis-aligned square.
triangle-down - a downward-pointing equilateral triangle.
triangle-up - an upward-pointing equilateral triangle.
So, a bullseye is a concept on a level higher than symbol()?
Starting to suspect that will not be able to host the data on GitHub. Might have to use gomno.org
For the CSV data source case,
D3 docs say
The mime type of the request will be "text/csv"
Well, OK but what about if EbolaMapper.html is passed around by USB stick and loaded via file:// URLs? How do we get around that? Or what if in an http:// context the deployer simply doesn't know how to or cannot set the MIME type of the data file? There should be fall backs which try to load the data if the "text/csv" is not supplied.
Consider:
There are very few JSON formatted sources of ebola outbreak data. They can be unified via the Outbreak APIs hopefully. At the very least, they must be proxied and made available via Outbreak API.
Relevant tool:Filtering JSON with pyjsonselect and jss
Ask dev seed's Nate Smith to drop in a license file. Fork, mod for Outbreak APIs. Host it. Then work on getting that up on https://extranet.who.int/ebola/ at https://who-ocr.github.io/ebola-data/
Prove out that some nice renderings can be made of raw Outbreak API'd data.
If a GeoJSON doc is being used to to represent a latest-report, it's root metadata should point to the timeseries it is part of. So a clinic can crank out a, say weekly, report and publish it (email, blog, etc.) with a EbolaMapper viewer. The viewer will be able to link to the whole time series.
Initially this can be just an URL, but hopefully the whole metadata block can be use to aggregate these reports/slices together from across networks.
In order to decentralize the network, there should not be a dependence a single data feed or even the assumption that there will be an aggregator. The clients of a outbreak monitoring network should be able to aggregate their own information. This means being able to read from multiple sources during a client run session.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.