GLIMS-RGI / rgi_issue_tracker

Report issues about the RGI dataset
1 stars 0 forks source link

Provide two RGI versions: with flow divides, and without #4

Open fmaussion opened 4 years ago

fmaussion commented 4 years ago

Is your feature request related to a problem? Please describe. Yes and no. It is a follow up to https://github.com/GLIMS-RGI/rgi_issue_tracker/issues/3

Describe the solution you'd like One way to solve the problem of ice divides, and also offering new ways to work with the RGI to e.g. spatially distributed flow models, would be to have two versions of the same inventory:

ezwelty commented 2 years ago

I would add that both versions should include a grouping attribute. In other words, starting from the version with ice divides, I should be able to merge polygons with the same value of this attribute to generate the version without ice divides.

fmaussion commented 2 years ago

@ezwelty thanks a lot. I would love to hear your thoughts about https://rgitools.readthedocs.io/en/latest/tools.html , where I do not use a simple dissolve, but first use an arbitrary precision threshold to find the common divides and then dissolve. Happy to ask for your help in early 2022 when this will be done "operationally"

ezwelty commented 2 years ago

@fmaussion That seems like a good approach for data generation. However the clusters are computed, I think it would be worth including the cluster identifiers in both versions of the data (e.g. with divides: {glacier_id, cluster_id}, without: {cluster_id}).

compute_intersects and find_clusters lead me to wonder whether RGI should enforce topology rules. Since it is meant to be a temporal snapshot, logically one would expect that the outlines do not overlap, and if they share a divide, that they actually touch. I suspect the cleanest solution would be to check_geometries (as now), then connect_geometries or equivalent that checks for geometries that intersect or that are within a threshold distance and snaps them to a shared boundary. This would greatly simplify downstream processing. For example, find_clusters would only need to check for geometries connected by touch, point-in-polygon tests would result in a 1-1 relationship, etc. The challenge I foresee is how to resolve geometries that overlap considerably, but this scenario would suggest an error in the data, right?

fmaussion commented 1 year ago

Added in RGI 7.0!