In the lockdown, I set myself a challenge to gain some understanding of using data sources available online to create a 'data-driven' Isadora patch. There is a lot of online data available; some are 'open access' and some require an access key or subscription. I have put together a demonstration patch that uses data from multiple open access (non-subscription) sources. They are The World Bank and VirusTracker. [EDIT] VirusTracker API appears to be no longer functional, therefore COVID-19 data is no longer updating in the patch download.
In creating the demo patch, I have learnt how to use the Text Formatter module to modify the request URL that gets sent to an API data source. It allows for data with different content to be updated based on dynamically changing identifiers in the request URL. For example, comparative information about a specific country requested through a 'country code' of only two characters. The VirusTracker API returns data about individual countries and the statistics associated with the current COVID19 pandemic. The virus data is updated daily. A date format identifies requested statistics from a specific day within the pandemic period. Combining the country code and the date format dynamically in a request URL patched to the Get URL Text modules returns statistics that are then available for display in the Isadora Stage. By automating the construction of the URL that identifies the dataset requested from the API, the data on the Isadora stage transforms into a dynamic representation of changing datasets.
The success of this learning development is due to the release of new Beta tools made available by @mark and the wisdom of the Guru sessions. The 'JSON Parser Beta', and the three.js 'JS Convert Rotations' module have taken a lot of the pain out of doing this kind of work. "Tip of the hat" to Mark, using one of his expressions of gratitude.
Here is the demonstration patch I am working on - not even close to completed. I have reduced the resolution of the texture maps to fit into under 3mb download .zip.
It uses API data sources from VirusTracker and the WorldBank. I am also looking at accessing earth texture maps from NASA API to associate with times of day. but at the moment just have two texture maps that swap out including an example of average temperature and night. The data updates every day based on the availability of current Covid19 statistics through VirusTracker. It is set to minus 3 days because of the uncertainty of availability of daily data over weekends etc. The WorldBank API data provides, country broad individual wealth position, world coordinates and capital city.
I would say the patch system needs a way to capture the data with a single pass of the API URL's rather than continuously using the TCP GET method over and over. I haven't yet got the single pass TCP GET method into a Data Array configured, but I think that would be best practice.