Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make "A Personal Hyperwall" #46

Open
BobSimons opened this issue Feb 3, 2021 · 5 comments
Open

Make "A Personal Hyperwall" #46

BobSimons opened this issue Feb 3, 2021 · 5 comments
Labels
enhancement GSoC This project is suitable for a Google Summer of Code intern.

Comments

@BobSimons
Copy link
Collaborator

BobSimons commented Feb 3, 2021

Make a customizable web page that displays nColumns by nRows of boxes, each box gets a different ERDDAP map (or graph?), each of which can refer to some common values (e.g., latitude min/max, longitude min/max, time value) so that when any of the common values are changed, the maps and graphs are redrawn.
For example, imagine 6 (2 x 3) maps with sea surface temperature, chlorophyll, salinity, wind vectors, atmospheric pressure, current vectors.
Or image a map of an area with sea surface temperature, and a graph with sea surface temperature from 1 point on the map (you click on the map and the graph changes) [okay, that one would be super hard on ERDDAP because of the nature of how gridded data is usually stored].

The basic idea (if just maps with limited settings) is pretty simple. There is certainly lots of potential for making this fancy with lots of features:
Perhaps each graph has a dropdown box for datasetID and for variableName (the options change when datasetID changes).
Perhaps each box can be toggled between the map (or graph) and a form with settings specific to that map/graph (including all the colorBar settings).
Here's your chance to be creative and show off your JavaScript skills (while still minimizing the load on ERDDAP).

This ideal is from a poster (a finding request?) at an ESIP meeting by Matt Tisdale (NASA Langley) entitled "A Personal Hyperwall". He said I could use the idea. When you get a rough draft of this web page working, perhaps you could ask people (including Matt) for comments/suggestions/requests.

Skills required: 10% Java. 90% JavaScript.

Difficulty: Easy to hard. It's what you make of it and whether the techniques you use are simple or fancy. This could be done in 1 day (if it is a really simple setup) or a month (if it is fancy and you get and incorporate feedback from the community).

Mentor: Bob Simons (main author of ERDDAP)

Please also read the Programmer's Guide at https://coastwatch.pfeg.noaa.gov/erddap/download/setup.html#programmersGuide
especially the "Judging Your Code Contributions" section.

@BobSimons BobSimons added enhancement GSoC This project is suitable for a Google Summer of Code intern. good first issue This is suitable for a first time programming project. labels Feb 3, 2021
@BobSimons
Copy link
Collaborator Author

BobSimons commented Feb 4, 2021 via email

@ghost
Copy link

ghost commented Feb 5, 2021

I'll focus on this one

@ghost
Copy link

ghost commented Feb 5, 2021

seems interesting, so its going to act as a client which fetches data and displays it in a nice way?

@ghost
Copy link

ghost commented Feb 5, 2021

So it displays graphs of various properties , all from the same location and same time? (silly doubt, but I'm trying to clarify )

@BobSimons BobSimons assigned ghost Feb 5, 2021
@BobSimons
Copy link
Collaborator Author

Yes (to your first two questions above).
Kind of yes to the third: yes, the same location and time (in the simplest form) but better if a given graph can be sync'd to the others or different.

It may help to read these instructions to "Embed a Graph in a Web Page":
https://coastwatch.pfeg.noaa.gov/erddap/images/embed.html
But for the hyperwall, the urls will be more dynamic / generated by JavaScript.

See also this static version that is close to the simple version of what you are going for
https://oceanview.pfeg.noaa.gov/projects/NorthPacificChlBlooms/about
(But I prefer including the legend below each graph which is standard for ERDDAP.)
But in your version, each graph will be adjustable (as much as possible), e.g., different datasetID, different lat lon range (or the synchronized range), different time point (or the sync'd time point), or even perhaps a different graph type (but with some sync'd values).

@ghost ghost removed their assignment Feb 11, 2021
@ChrisJohnNOAA ChrisJohnNOAA removed the good first issue This is suitable for a first time programming project. label Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement GSoC This project is suitable for a Google Summer of Code intern.
Projects
None yet
Development

No branches or pull requests

2 participants