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

Improve HoloViz/DataShader Map Visualization & User Interaction Capabilities (GSoC Project 2) #16

Closed
mwengren opened this issue Aug 12, 2020 · 1 comment
Labels
GSoC Project ideas for Google Summer of Code

Comments

@mwengren
Copy link
Member

mwengren commented Aug 12, 2020

Project Description:

Note: this project should be done in combination with #24 to develop an overall dashboard/map application for a colocate GUI. Interested students should submit applications that consider both this issue #16 and #24 together.

Presently, the colocate-dev notebook uses HoloViz & DataShader to display nearly unlimited features on a slippy map.

See the Binder link for a preview: binder.

Example graphic:

co-locate-map-3

The code backing the DataShader-based map is in the plot_datashader() function in plot.py. It is messy/WIP code that needs to be revised, and also recent releases of HoloViews have enabled many new capabilities for DataShader maps such as hover, colorbars, and dynamic color maps and more that would improve our map presentation.

Some simple improvements to the plotting interface might be:

  • enable hover functionality with relevant attributes like dataset ID, lat/lon, etc
  • add a legend to the plot showing dataset ID
  • figure out how to increase marker size to better show single-point datasets that are drowned out by trajectories

More advanced changes:

  • enable user to dynamically select datasets to plot from query results table
  • other dynamic plotting capabilities (varying plot display based on CF featureType for example)

Expected Outcomes:
An improved HoloViz map display that better displays ERDDAP dataset results and might integrate better with other dashboard-like capabilities planned for the project (#24)

Skills required:
Python: HoloViz, DataShader, Panel API familiarity especially

Difficulty:
Medium

Student Test:

  • Fork the repository
  • Run the colocate-dev.ipynb in Binder to get an idea for the current DataShader map display in the output of Cell 12
  • Improve the code in colocate/plot.py plot_datashader() so the map is able to meet one of the 'simple improvements' listed above
  • Push your changes to your GitHub fork and post a link to run your modified colocate-dev.ipynb notebook in this issue

Mentor(s):
Micah Wengren @mwengren, Mathew Biddle @MathewBiddle

@mwengren mwengren added the GSoC Project ideas for Google Summer of Code label Feb 4, 2021
@mwengren mwengren changed the title Add a legend and better symbology to the results map in colocate-dev.ipynb/plot.py Improve HoloViz/DataShader Map Visualization & User Interaction Capabilities Feb 4, 2021
@mwengren mwengren changed the title Improve HoloViz/DataShader Map Visualization & User Interaction Capabilities Improve HoloViz/DataShader Map Visualization & User Interaction Capabilities (GSoC Project 2) Mar 10, 2021
@mwengren mwengren added the ohw21 Issues to address in OceanHackWeek 21 label Aug 2, 2021
@mwengren mwengren removed the ohw21 Issues to address in OceanHackWeek 21 label Feb 8, 2023
@mwengren
Copy link
Member Author

mwengren commented Feb 8, 2023

Superseded by #29

@mwengren mwengren closed this as completed Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GSoC Project ideas for Google Summer of Code
Projects
None yet
Development

No branches or pull requests

1 participant