bjlittle / geovista

Cartographic rendering and mesh analytics powered by PyVista
https://geovista.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
162 stars 26 forks source link

Automated decimation for plotting? #407

Open trexfeathers opened 1 year ago

trexfeathers commented 1 year ago

✨ Feature Request

An automatic feature that would intervene during plotting (so presumably part of GeoPlotter?) to reduce the resolution of a PolyData that would otherwise blow memory / cause excessive lag. I imagine the threshold for this would be configurable. There could perhaps be a layer of automation to account for the amount of compute resource actually available.

More sophisticated implementation might involve a visualisation API that encourages and helps users to either limit their region size or limit their resolution. At the very least a User Guide article on the subject.

Motivation

GeoVista's intended use cases will often involve visualising a data set that has global scale, but high enough resolution to closely examine local phenomena. From experience this is often beyond resource limitations when visualising. If the user is viewing global data, then they don't need such high resolution. If the user is viewing smaller regions, then they don't need to view the whole globe.

I see this as a GeoVista feature, rather than PyVista, since it is a particularly common problem with globe-based data sets, and some of the potential solutions could also take advantage of this (e.g. measuring resolution and region size in km).

Additional Context

Could use PyVista's own decimation, or something more sophisticated such as pyvista/pyvista-support#17.

bjlittle commented 1 year ago

@trexfeathers Just so you're aware, this discussion has already started over on pyvista-xarray

bjlittle commented 1 year ago

Also, my intention is for plots to have optional bounded regions that will limit the render to an easily defined limited cartographic domain i.e., not necessarily a bounded-box.

However, before doing this, generic region extraction requires to be supported.

I'll clarify this all in a feature roadpath for geovista.

github-actions[bot] commented 9 months ago

In order to maintain a backlog of relevant issues, we automatically label them as stale after 180 days of inactivity.

If this issue is still important to you, then please comment on this issue and the stale label will be removed.

Otherwise this issue will be automatically closed in 28 days time.

tkoyama010 commented 9 months ago

This issue is still important.

bjlittle commented 4 months ago

@all-contributors please add @trexfeathers for ideas

allcontributors[bot] commented 4 months ago

@bjlittle

I've put up a pull request to add @trexfeathers! :tada: