dronefly icon indicating copy to clipboard operation
dronefly copied to clipboard

tab: `per` family or other taxonomic rank

Open synrg opened this issue 2 years ago • 1 comments

Group results per family or other taxonomic rank, as in ,tab birds from home faves per family. See also other per issues #128 #130 #162.

I think it would be good to support such groupings not only for ,tab but maybe more usefully for the recently updated ,search obs feature which can produce results that are too numerous to page through one page at a time. A way this might be implemented is by having the pager list the individual families and counts for them, and then when selected via ✅ it navigates to the paged per-observation view. Reacting with :x: would return back to the per-family view again.

This idea came out of a discussion with @sumie-dh on iNaturalist Discord who more generally wished for a way to do this (i.e. not specifically with Dronefly) to systematically browse through observations of flatworms with decent photos.

An approximation of what we want that can be done on the webapp is to do a search with &lrank=family and browse through each family in the species tab: https://www.inaturalist.org/observations?locale=en&lrank=family&popular&subview=map&taxon_id=52319&view=species But unfortunately, this falls short of delivering what was asked for because it only shows observations at rank family, and not also observations at ranks lower than that within the same family. So it seems there is no way to actually meet this need on the web, short of enumerating all of the families within the flatworms phylum Platyhelminthes, and then doing a search of each individual family.

Indeed, such enumeration is not easy on the webapp because their taxon browser is strictly hierarchical, with only one branch of the tree open to a given level at a time. Thus it is tedious to open tabs in one's web browser for each and every family within a taxon, as it involves a lot of navigating down and back up each branch of the tree. There's no simple way that I can find to produce a flat list of taxa within a phylum, or at least show them all on one page, with the exception being the new lifelist display. The lifelist, however, operates on one user's observations and is not suitable for viewing the whole iNaturalist dataset.

The API, however, makes this easy with /v1/taxa?taxon_id=52319&rank=family. That produces the input we need to make a paged view of all families. From there, the 2nd level pager could keep generating observations within that grouping until it ran out, and then could continue generating observations from the next one, and so on, until it reached the end.

synrg avatar May 07 '22 11:05 synrg