Searching taxonomic levels not seen

Hello all,

Is there a way to search for taxonomic levels I have not seen occurring in a certain area?

Let’s say I will visit Canary Islands and I wan to find out what orders/families/genus of Arthropods have been seen there that I have not seen. Is there a smart way to search that?

Best,

Valentin

I don’t think there’s an easy way to search for such levels, maybe API can be used for that.

(For species it’s easier and you can do it with your new life list or https://forum.inaturalist.org/t/ever-wonder-what-you-havent-seen-in-your-area-before-here-you-go/11406 /there’s an ability to change “species” to other ranks, but it still will show you species from them/)

2 Likes

Not exactly what you want, but this search filter will give you a list of all arthropod genera in the canary islands with at least one observation with a current community ID of genus exactly (so it probably includes nearly all the genera unless there are some where every single observation is ID’d to species)
https://www.inaturalist.org/observations?hrank=genus&lrank=genus&nelat=29.463514&nelng=-13.31543&place_id=any&subview=map&swlat=27.425414&swlng=-18.391113&taxon_id=47120&view=species

It is possible to filter out your own personal observations, but I don’t know if there is a good way to filter out all genera where you have any obs at all.

2 Likes

Thank you!

if by “I have not seen” you mean “I have not seen anywhere” (not just “I have not seen in the Canary Islands”), then the easiest way is to start with something like the life list view that marina_gorbunova talked about: https://www.inaturalist.org/lifelists/vmoser?view=tree&details_view=unobservedSpecies&tree_mode=full_taxonomy&taxon_id=47120&place_id=130979.

that view is limited to the top 500 records. so to get up to the top 10,000, you can use this instead: https://jumear.github.io/stirfry/iNatAPIv1_observations_species_counts.html?&place_id=130979&taxon_id=47120&unobserved_by_user_id=vmoser&verifiable=true&quality_grade=research&lrank=species.

note that the above are limited in certain ways. for example, they’re limited to research grade observations and are excluding things identified below species level. so then if you wanted to see this based on any verifiable observations (not just research grade at species and above), then you could use: https://www.inaturalist.org/observations?place_id=130979&taxon_id=47120&unobserved_by_user_id=vmoser&view=species.

that view is also limited to the top 500 records. so to get up to 10,000, you can use: https://jumear.github.io/stirfry/iNatAPIv1_observations_species_counts.html?&place_id=130979&taxon_id=47120&unobserved_by_user_id=vmoser&verifiable=true.

or if you want to include taxa from casual observations, drop the &verifiable=true from the end of the URL above.

as marina_gorbunova noted, these taxa are delivered at a “leaf taxon” level. so you’d have to associate these leaf taxa with their respective ancestor taxa at the level(s) you’re looking for. there are various ways to do this. how familiar are you with different data tools? can you work with Excel? can you do SQL? can you program in R, Python, Javascript, etc?

1 Like

Thanks for the response!

not seen anywhere

I am a bit familiar with R and can generally handle excel quite well…

ok. you can get a recent copy of the full iNaturalist taxonomy, including names from here: https://www.inaturalist.org/taxa/inaturalist-taxonomy.dwca.zip. there’s a taxa.csv file contained within that will look something like the screenshot below. notice in particular that there’s a taxon id column on the very left and other columns for kingdom, phylum, etc…

basically, you’ll want to join the “not seen” leaf taxon results from my earlier post (https://jumear.github.io/stirfry/iNatAPIv1_observations_species_counts.html?&place_id=130979&taxon_id=47120&unobserved_by_user_id=vmoser&verifiable=true) to taxa.csv, using taxon id as the key. then get the unique values from whichever rank column you’re interested in in the merged results.

so if you’re working working in R, you’ll start with 2 data frames:

  • in df1, load the “not seen” leaf taxa
  • in df2, load taxa.csv

from there, do a left join type merge between df1 and df2. something like: df=merge(x=df1,y=df2,by="id",all.x=TRUE)

then get the unique values from whichever column you’re interested in from the merged results. for example: unique(df[c("family")])

in Excel, taxa.csv is a relatively large file. so it’s probably easiest to use DAX to do what needs to be done:

  1. copy the “not seen” leaf taxa results and paste them into a blank sheet. add that as an Excel table to the Power Query/Pivot data model.
  2. import taxa.csv into Excel, making sure you “Load to” just a connection and add that to the data model. (it’s unnecessary to load the data to a worksheet, and there are probably too many records to display them all anyway.)
  3. add a relationship between the taxon id column in the “not seen” table (foreign key) and the id column in the taxa table (primary)
  4. manage the data model, and add a column to the “not seen” table that looks up the rank you’re interested in. for example: =related(taxa[family])
  5. create a pivot table using the data model, and the new column from the “not seen” table to the rows section. that should give you a table that contains unique values.

the instructions above are very simplified, but if you need more help going down a particular path, let me know.

1 Like

thank you very much!

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.