table-components
Table Components Building Block
Table Components Building Block
License: GNU Lesser General Public License v3.0
Table Components Building Block
Implement the VA Table following the Mock-Up and the approach described here.
This is the current VA Table Mock-Up:
@stefanon @bernhardsk: Does 'high', medium' 'low' make sense in this context? What are "vulnerability levels" and how are they calculated / defined? Is this mock-up still valid?
According to CLARITY tables_mod.xlsx, the VA table should rather look like:
Questions:
Status:
Implement the EE Table following the Mock-Up and the approach described here.
Important Note: The Mock-Up seems to be outdated. It seems that a request for revision wasn't taken into account. Furthermore, future exposure scenarios as shown in the mock-up above are, if at all, expected to be supported in the expert workflow of DC2 only and for sure not in CSIS v1. Therefore we follow KISS and YAGNI and start with the following EE table example taken from this excel sheet.
Currently, no realistic example data is available. Example layers however will be reported in this issue.
Same approach as in Implement HC table:
Due to the numerous open question reading the calculation of thresholds, etc. we are providing simplified table components that show the data as received from EMIKAT CSV API (Example) as it is as a starting point.
As discussed yesterday, @mattia-leone needs a simple way to download the table data in our studies.
@patrickkaleta and I looked at this today and this would be difficult to do from the drupal side. We do know the variable values but we do not know which data is shown where, so this would need to be hard-coded in drupal - not a good idea.
Therefore, I propose to do this in the CIS table component. Since the link will not work for normal users, ideally it should be hidden from them, based on their user role. E.g., the link could be shown to users with "editor" role. If a role is not already listed, then the helper module might need to be changed.
The table-components should deliver data about the current table, so that the "Include in Report" functionality can use this information to generate a comment about the table.
See also: clarity-h2020/map-component#22
see also: clarity-h2020/table-state-rest-api#6
Show tooltips for the damage classes from the taxonomy and show the cell content as tooltip
Not sure if it's because of EMIKAT or because of the table component, but https://csis.myclimateservice.eu/study/30/step/1613/view/table and https://csis.myclimateservice.eu/study/14/step/1651/view/table show exactly the same data.
One is in Naples and the other in Vienna. Not good. Not good at all. :-(
The same is true also for the impact tables
https://csis.myclimateservice.eu/study/14/step/1650/view/table
https://csis.myclimateservice.eu/study/30/step/1612/view/table
see also clarity-h2020/map-component#18
The difference to the baseline value should be shown with an unit. So the table-rest-api should provide the units
Show Percentages instead of absolute numbers for damage classes or provide an option box to switch between the two representation and make percentage view default.
We have to provide a table component that shows events relevant for the chosen study area. In the long term, it could replace the current HC Table.
Status:
Basic flow:
Goal is to show to the user a list of rare / frequent / occasional events in relation to RCP and time period so that he can make an informed choice for a RCP/time period of interest for impact calculation and adaption calculation.
For the table layout we start wit a simple list following the CSV structure, possibly highlighting the 3 baseline events.
Implement the HC-LE Table according to the Mock-Up and following the approach described here.
Important Note: The the Mock-Up seems to be outdated / invalid (to be discussed here). So at the the moment we should re-use the plain HC-Table.
tbd
tbd
Status:
Implement the Adaptation Options Table
Adaptation Options Data from Data Package: clarity-h2020/csis#19 (comment)
It would be good if we could add a configuration option to our table components (e.g. to https://csis.myclimateservice.eu/node/1413/edit) that would suppress showing of unnecessary table columns. Even better: also allow to show them in a different order if necessary.
Of course, we could change what EMIKAT is spitting out, but this would be a more robust solution/easier to change. It would even allow us to show one EMIKAT output as several tables, e.g. one table tor ambient temperature, second for UTCI and third for the radiation temperature if and when necessary.
this is how the configuration could look like for the local effects table
by the way, would it be possible to give each cell a 1,2,3...N number or a (N,M) pair corresponding to the place of the grid cell in a study? In my opinion, it would be much easier for the user to talk about cell (3,5) than about the 500mE46360N28055 cell.
In the RA/IA Table, information on the selected HW Scenario Name ("Event Group" or "Event Type") is missing:
In particular, the name of the HW Scenario / Event is missing (low, medium, high, very high). See also the table below that defines 3 of the currently 4 event groups:
@therter So maybe you can follow a similar approach as for the HC Table.
However, in the JSON obtained from EMIKAT REST API this information on the HW Event name as well as RCP and time period is not available: @bernhardsk @humerh
{
"name": "TAB Impact Results for Impact Assessment Drupal Table",
"description": null,
"columnnames": [
"HAZARD_EVENT_ID",
"HAZEVENT_NAME",
"IMPACTCASE_ID",
"EARTYPE_ID",
"NAME",
"QUANTITYUNIT",
"VULNERABILITYCLASS_ID",
"VULCLASS_NAME",
"EXPOSEDQUANTITY",
"DAMAGELEVEL1QUANTITY",
"DAMAGELEVEL2QUANTITY",
"DAMAGELEVEL3QUANTITY",
"DAMAGELEVEL4QUANTITY",
"DAMAGELEVEL5QUANTITY",
"SZM_SZENARIO_REF"
],
"rows": [
{
"rownum": 0,
"values": [
3,
"Heat wave 32°, 6 days",
1,
1,
"people",
"number of people",
26,
"Age 15-65",
337355.6662325851,
236277.49887164417,
87214.87361277906,
12877.203135764006,
950.6682674434248,
35.75970062065402,
2846
]
},
IMHO it would make sense to introduce a Event Category (low, medum, ...), so that I could use that that as aggregation criteria for Scenario Analysis (see clarity-h2020/scenario-analysis#9).
Status:
Implement the GUI following the description in this issue and the approach described here.
The table shows the output of the impact model calculation. Note: The Mock-Ups aren't valid any more (see also clarity-h2020/csis#45 (comment)):
Actual Mock-Up: The table should look like this:
The Impact is calculated by the Risk & Impact Calculation Service (EMIKAT), therefore the data for the table should be retrieved from the EMIKAT REST Service. Ideally, the JSON data obtained from EMIKAT matches directly the internal state model of the RA/IA Table. To be discussed with @bernhardsk and @humerh
The REST URI can be obtained from the path property of respective RA/IA Data Resource of the Data Package. However, since the table data is rather small, the JSON could be stored directly in the data property of the Data Resource.
Status:
Implement GUI following the Mock-Up and the approach described here.
The table compares current conditions against three future scenarios (or 9 scenarios, if we take time periods into account)
What is missing in the mock-up are the different time periods (3 time periods). A drop-down select-box could be added. Selecting a different time period changes columns 3-5 only!
Correct Mock-Up (explanation here)
tbd @p-a-s-c-a-l
Table content is not part of the Data Package Meta-Data stored in CSIS! Data has to be obtained from WCS and has to be aggregated and normalised! Find possibilities for delegating this task, e.g. METEOGRID could implement a simple REST API that returns JSON compliant to the state model.
Integrate the table-component related Code from Map Component repository.
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.