Open philipc2 opened 1 year ago
The figures are gorgeous.
Is it possible to get a working example to play around with?
The figures are gorgeous.
Is it possible to get a working example to play around with?
Thank you!! I can set up a minimal example with lat, lon, and data values for the dataset that I used.
@Hoxbro
Here's a notebook, I've also removed any uxarray
(the package that we are developing these visualization for) requirements since I was working on a feature branch there.
I've also taken a subset of the 3.75km unstructured mesh and uploaded it to google drive. Is it okay if I share a link to that here?
Is it okay if I share a link to that here?
Yes.
Is it okay if I share a link to that here?
Yes.
Perhaps you could do something similar to this? https://discourse.holoviz.org/t/show-individual-points-when-zoomed-else-datashade/2204
Is your feature request related to a problem? Please describe.
I am working on visualizing a high-resolution unstructured grid dataset (~40 million data points) using rasterization. Initially, I have explored using either polygon or trimesh methods, since we are interested in shading the data "between" points since it's an unstructured grid. However, converting our data in a format that is interpretable by datashader/holoviews is computationally expensive (i.e. conversion to a GeoDataFrame or running Delaunay Triangulation) .
With enough data points, we can represent our dataset using
hv.Points
and perform rasterization to get a pretty convincing looking plotThese plots look good at a global extent, however after zooming in enough, the density of points because too low and this leads to 'NaN' values showing up in our plot, up until the point that each "point" is rendered.
Describe the solution you'd like
Ideally, we would want to halt any rasterization once 'NaN' values are encountered in the output plot. The following is a zoomed in example using
Dynamic=False
. This would allow for re-rasterization to occur on zoom in, but would prevent anyNaN
values for showing up.Describe alternatives you've considered
I have looked into using dynamic spreading, however I haven be able to find a good solution. Setting
Dynamic=False
and using a high-enough pixel_ratio does help in providing better zoomed in regional plots, however we loose the re-rasterization. Below is an example of why we would still want to keepDyanmic=True
for these interactive plots (I cropped the region of interested to better showcase what's happening)Even for this example, we can see a few
NaN
values popping up after the initial zoom.Additional context
Code used for data processing & visualuzation