I’m trying to answer the question: What species have been recorded at iNat for an adjacent county that my own county hasn’t recorded (yet)? So the query might look like:
All species recorded in their county
all the matching species recorded in my county
= species recorded in their county, but not in mine.
I tried to use search syntax, but realized I was searching for observations made there but not made here (= all of their observations, duh).
Is there a straightforward method? I’m not interest in endemic species exactly. The species that they have and that we lack might be an invasive or non-native, which is fine.
I don’t have an answer, but frankly I’m a little underwhelmed by iNat’s capabilities when it comes to species-specific sorting. You can’t sort the ‘species’ page by date, only # of observations, and it is difficult to specify even simple queries, which I would honestly qualify yours as. It may be doable, but I’ve struggled to interact with the species-list-by-location data in the past to no avail.
@jasonhernandez74 I have no idea how to do either. About all I know is “the New Math” from early 70s, which included basic set theory…which actually turned out to be useful for my non-mathematical mind, compared to the rest of the “new” stuff.
@birdsandbugs21 I agree that iNat isn’t great at everything, but in fairness, it is trying to do a lot of things. Certainly it’s more observations-driven than species-driven in extracting information.
To do this I downloaded from gbif occurances, as their platform is faster for returning csv files and includes iNat observations and can be set to only use iNat observations if wanted.
I am using two counties near me for this example and only retrieving plant species for speed.
First, you will need to make a free GBIF account to be able to download from their data base.
On the csv for county 1 delete all columns except “species”
Repeat steps 10&11 for county 2
Create a new document (titled county species comparison) and copy and paste over both species lists into their own columns on the same sheet(ideally into column A2 and B2 leaving space for a title) and label them with the county name(A1 and B1 respectively). Label the sheet Raw Data
Open a new sheet on the same document titled Clean Data
In A2 of Clean Data paste the formula =SORT(UNIQUE(FILTER('Raw Data'.A2:A100, 'Raw Data'.A2:A100 <> ""))) Replace A100 with however many rows of values you have on the sheet Raw Data in my case A2539
The filter formula removes any blank spaces, your data set might not contain any blanks but still good to include, the unique formula removes any repeats, and the sort formula orders the species alphabetically
In A1 of Clean Data write the county Name
You should have now have a species List for county 1
Go to a new column and input unique to ____ county in D1
In D2 input the formula =FILTER(A2:A1807, ISNA(MATCH(A2:A1807, B2:B1174, 0))) while replacing the cell values for how many rows are in that column. This should give you a list of species found in one county and not the other. ISNA checks if the result of the MATCH function is #N/A, FILTER function filters the range
Now we can do the inverse of that, go to a new column, in my case E1 and input unique to ____ county
In E2 input the formula =FILTER(B2:B1174, ISNA(MATCH(B2:B1174, A2:A1807, 0))) while replacing the cell values for how many rows are in that column on your table
Now you should have two columns of species names of species found in one county and not the other
the last part of the post mentions a tool that could be modified, and i think it has been modified since that post.
if you want to use the first method described in the post, the checklist for a place can be found by searching for the place and then clicking on the link in the species tab to view the place checklist.
OK, I’ve tried both methods with some success. Need to refine as the two methods gave me different results. Now I’m a man with two watches, ha!
@dgwdoesthings Thanks very much for the detailed instructions. I think my geo definition may be wrong, as my downloaded and filtered data shows the Townsend’s Warbler as showing up only in Comal County (while the checklist comparison method shows observations of this species in both counties). I wasn’t sure how to define “county” at GBIF. The “Locality” filter seemed full of custom definitions, so instead I used this filter:
But I have the feeling this geo definition might not match iNat’s, and maybe that’s why the Townsend’s showed up as missing in Bexar Co with my first trial of this method. Any ideas?
@pisum Below is the URL I used to compare place checklists for Bexar and Comal counties. Nifty! Would there be any way to limit comparison results to a taxon such as Class Aves, or to Genus Melospiza, as examples? I made a few tries with syntax but no luck. Otherwise, it’s 300+ web pages with no easy way to navigate to specific taxa of interest. Thanks for any input.
if you can limit each side of the comparison to no more than 500 taxa, then you also have the option to use the “experimental comparison tool” to do effectively the same thing as the second or third options mentioned in that previous post i referenced, as shown below:
iNat pushes over only research grade observations with certain licenses. it looks like some didn’t make make it over because they were not licensed or had licenses that GBIF won’t accept.
these observations have their locations obscured by iNat, which means that when they are pushed over to GBIF they get a randomized point within the same 0.2 deg lat x 0.2 deg long area, with a positional accuracy that will be equivalent to the “diagonal” of that area. so even if your shape matches exactly, you might not get these observations because of the way the coordinates are obscured. (within iNat, filtering by “standard places” like counties will still retrieve the proper observations, as long as the true center point of the observation falls wthin iNat’s county boundary.)
your shape may be simplified when you try to filter within GBIF.
Worth mentioning Easily Missed - set radiuses and it’ll tell you what’s not been found the immediate area but has in the wider area. Does a similar job.
I also used the administrative areas filter, as it sorts them by coordinates into the counties they fall into and so that shouldn’t be the problem.
As far as your townsend warbler issue, I think I figured it out, most of the observation in Bexar county were made by people who chose a licensing that doesn’t allow re-use
@pisum Thanks for the nudge on the experimental comparison tool. I wish its scope were wider, but it does do a nice job on a narrow pie slice. I also corrected my syntax error on the place checklist compare method, so thanks for the corrected URL. No idea why I can narrow things down to taxon=3 (Aves) but not taxon=anything lower down the tree. But better than nothing.
@dgwdoesthings Agreed, looks like you and pisum each figured out that licensing was the cause of the results discrepancy between iNat and GBIF for that Townsend’s Warbler obs.
At any rate, I wasn’t looking for data perfection, just trying to get an idea of what new species might be fairly near this location. Thanks all very much for the input. Many talented people here!
@jamie-aa Thanks for that link to Easily Missed. Nice interface, and you get a quick idea of what’s species are missing in your current location that have occurred around you. There are a bunch of species “missing” that I’ve observed in my backyard, but it occurs to me that I usually obscure my home location, which would explain things.