-
Notifications
You must be signed in to change notification settings - Fork 27
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
Added ability to "drape" line PolyData over a warped mesh. #1310
base: main
Are you sure you want to change the base?
Added ability to "drape" line PolyData over a warped mesh. #1310
Conversation
Refctored some of geometry.py to load in arbitrary natural Earth features (e.g. country borders). Example added using LFRic orog and Natural Earth country borders.
🚀 Awesome! Your first pull request! Thanks for contributing to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ukmo-ccbunney This is awesome and such a cool feature to add to geovista
. 🎉
I think that the existing API doesn't quite support the use-case of this feature and we can make that experience a lot slicker. Also, you're hitting a few issues under the hood because of that.
I'm going to make some changes outside this PR to give you better support. I'll ping you on those PRs so that you're aware and involved.
Then we can rebase this PR to unblock it and move forwards.
Does this sound like a reasonable plan?
Also I may have a way to address your performance concerns, but will require some verification and benchmarking before proposing as a potential change 👍
Sounds great @bjlittle - thanks! It would be good to progress this and I'd be super interested to see what ideas you have for improving the performance 🚀 |
🚀 Pull Request
Description
Provides functionality to "drape" a line PolyMesh (e.g. coastlines, country borders) over an existing mesh that has been warped.
Achieves this by extruding the line mesh upwards and downwards in the geographical vertical direction to create a "wall". The intersection of this with the user provided warped mesh is then calculated and returned as a PolyMesh.
Unfortunately, this can be a very computationally expensive process if either the mesh or the line feature are anything more than course resolution (e.g. 110m resolution for a lines mesh is ok, 50m is slow, 10m is very very slow).
Required some some refactoring of the "coastline" methods in
geometry.py
to load in arbitrary natural Earth features (e.g. country borders). The actual intersection is done in theload_natural_earth_feature
method.Example added using LFRic orog and Natural Earth country borders: