waynegitshell / gwsdat Goto Github PK
View Code? Open in Web Editor NEWGroundWater Spatiotemporal Data Analysis Tool (GWSDAT) R-Shiny implementation.
Home Page: https://stats-glasgow.shinyapps.io/GWSDAT
GroundWater Spatiotemporal Data Analysis Tool (GWSDAT) R-Shiny implementation.
Home Page: https://stats-glasgow.shinyapps.io/GWSDAT
Needs adaptions to the panel variables, similar to the smooth time-series plot.
Think:
Which variables are shared and can go outside the plot function call, e.g. the 'DRV' variables?
Requires a subset selection of
The function rp.control() creates the panel variable and a TK window. This is the basic call to create the TclTK window panel:
panel = rp.control(title = "", size = c(100, 100), panelname, background, ...)
Right now all the drawing related variables (DRV) are passed directly to this function (in the "..." part).
For Shiny I would not need rp.control. Instead only an object that holds all DRV, e.g.
DRV$Cont.Data
DRV$Well
etc.
To make it combatible with Stand-Alone I could pass this 'DRV' object to rp.control():
# Stand-Alone (TclTK)
panel = rp.control(title = "", size = c(100, 100), panelname, background, DRV)
# panel$DRV to access drawing stuff
and with Shiny I could just assign it directly to panel.
# Shiny
panel = 0
panel$DRV = DRV
These plots() are done while fitting. This is not necessary.
As long as GWSDAT_INIT() is not called inside a renderPlot() function, this isn't a problem, but still it is unnecessary overhead that might lead to problems on the server side.
This control allows to enable "Threshold" display.
It will be also added to the 'Traffic Light' tabPanel.
Some data has not been set accordingly after the aggregation function has been called.
Put 'pnl' in session (user) context as soon as I've got users.
This requires to recall the aggregate data code located inside "GWSDAT Input Data.R".
Parse the code for the bits used for aggregation and make separate function that is called in the beginning (Init) and whenever the 'Data Aggregate' List box changes.
Active tab: Contour Plot
And the playback never stops.. maybe something with the time_step variable.
Show Pop-up image.
See instruction here: https://www.rstudio.com/products/shiny/download-server
Note: the free version says it has no (1) user authentification and (2) no multi-processor support.
Is it still do-able with ptly and sqlite (see the User Authentificatin card) [How to link to another issue btw.?)
Serious issue considering that many users will access the service? Needs to be tested. Maybe there are other (free) server options.
So several warning messages returned from a function can be displayed/evaluated.
Check out this: http://shiny.rstudio.com/gallery/authentication-and-database.html
No need for httpuv?
Disappeared after adding aggregate function.
Applications:
This will show the usual progress windows, main window, etc..
If GWSDAT runs with Shiny, we don't want these windows to be created. Instead, all tk*() status messages are passed back to the Shiny server.
This involves all calls to tkmessageBox() inside GWSDAT_Run_shiny.R.
Right now it fails, the 'panel' object misses data (shadow.jjj, e.g.).
However, panel != GWSDATpnl.
Use simple push button
panel is updated inside plotting function, but currently Plot_ImagePlot() does not return the panel (unlike in GWSDAT MakePanel.R).
When I needed, update it. Better would be to recalculate panel$tempTotalPlumeDetails outside the plot function.
This view is more compact (multiple tabs) and has different row shadings. Maybe better to look at.
This affects Time-Series plot and Traffic Light table.
In tcltk it is done in a separate table, for each solute.
Do it manually to have the data available.
I need to separate data&model stuff from the drawing related stuff.
Right now rpanel calls use the rp.control() object GWSDATpnl that also includes data and model. But for shiny I would only need the model and data but not the drawing related stuff, since this is done differently in shiny. But confirm this, before doing any hard splits.
As default threshold = 500 (mg/l). But when the unit is changed to ng/l or mg/l, the threshold value is not adapted but stays at '500'.
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.