iNaturalist observations along hiking trails
This tool reads the route of a hike and generates a table of iNaturalist observations along the trails. It also shows the observations and the route of the hike on a map. Moreover, it saves waypoints of the iNaturalist observations for offline navigation with a GPS device or smartphone.
Usage
This is a command-line tool. It is called with a .gpx file that describes the route. This .gpx file can be either after a hike downloaded from a gps device or smartphone or created before a hike by a mapping tool or website. The gpx files in the examples directory have been created with the free website caltopo.com.
Here is an example. This is the command for Linux and macOS
./inat_trails.py examples/Rancho_Canada_del_Oro.gpx
On Windows the command is:
python.exe .\inat_trails.py examples\Rancho_Canada_del_Oro.gpx
The output looks like this:
Reading 'examples/Rancho_Canada_del_Oro.gpx'...
Loaded 13 named roads and trails: Bald Peaks Trail, Canada Del Oro Cut-Off Trail, Canada Del Oro Trail, Casa Loma Road,
Catamount Trail, Chisnantuk Peak Trail, Little Llagas Creek Trail, Llagas Creek Loop Trail, Longwall Canyon Trail,
Mayfair Ranch Trail, Needlegrass Trail, Serpentine Loop Trail.
Loaded 2,708 iNaturalist observations of quality-grade 'research' within bounding box.
Excluded 1,694 observations not along route and 13 with low accuracy.
Loaded 829 taxa.
Waypoints written to './Rancho_Canada_del_Oro_Open_Space_Preserve_all_research_waypoints.gpx'.
Table written to './Rancho_Canada_del_Oro_Open_Space_Preserve_all_research_observations.html'.
Map written to './Rancho_Canada_del_Oro_Open_Space_Preserve_all_research_mapped_observations.html'.
This tools finds named trails along this route. It loads iNaturalist observations from the area of the hike and discards those that are not along the trails. It writes three output files, a waypoints file, a table of observations, and an interactive map. Both the table and the map will pop up in a browser.
The waypoint file can be loaded into the free offline navigation app OsmAnd. This will allow this offline navigation app to display the iNaturalist observations along the hiking trails.
The table of observations lists all the organisms that have been observed along the trails along with the trail names they are on. The table for the mammals seen in this park looks like this:
Scientific Name | Common Name | Observations | |
Canidae | Canids | ||
Canis latrans | Coyote | Mayfair Ranch Trail: 38860133, 38860889 | |
Urocyon cinereoargenteus | Gray Fox | Mayfair Ranch Trail: 39391329 | |
Cervidae | Deer | ||
Odocoileus hemionus ssp. columbianus | Columbian Black-Tailed Deer | Casa Loma Road: 80058758; Little Llagas Creek Trail: 68891936; Mayfair Ranch Trail: 19113219, 21319391, 44158629 | |
Cricetidae | Hamsters, Voles, Lemmings, and Allies | ||
Neotoma fuscipes | Dusky-Footed Woodrat | Mayfair Ranch Trail: 52963985 | |
Felidae | Felids | ||
Lynx rufus | Bobcat | Mayfair Ranch Trail: 15630740, 15689757, 38861135 | |
Geomyidae | Pocket Gophers | ||
Thomomys bottae | Botta's Pocket Gopher | Mayfair Ranch Trail: 38869384, 38875049 | |
Leporidae | Hares and Rabbits | ||
Sylvilagus bachmani | Brush Rabbit | Mayfair Ranch Trail: 73152597, 74462983 | |
Sciuridae | Squirrels | ||
Neotamias merriami | Merriam's Chipmunk | Longwall Canyon Trail: 42605223; Mayfair Ranch Trail: 132863, 46538314 | |
Otospermophilus beecheyi | California Ground Squirrel | Casa Loma Road: 47200360; Mayfair Ranch Trail: 2328803, 15629491, 53667091 | |
Sciurus griseus | Western Gray Squirrel | Mayfair Ranch Trail: 73152599 |
The numbers are the observation ids; a click opens them on the iNaturalist website.
The interactive map shows the route and the iNaturalist observations along the hike. Like the iNaturalist website, the markers on the interactive map have different colors for different iconic taxa, e.g. markers for plants are green. Hoovering the mouse over a marker shows the identification, a click on a marker shows a thumbnail picture, the identification, the observer, the date and a special status like invasive or introduced. A further click on that thumbnail opens the observation in the iNaturalist website in another browser window.
Command-line options
This script is a command-line tool. It is called with options and file names as arguments. These options are supported:
usage: inat_trails.py [-h] [--quality_grade QUALITY_GRADE] [--iconic_taxon ICONIC_TAXON] gpx_file [gpx_file ...]
positional arguments:
gpx_file Import GPS track from .gpx file.
optional arguments:
-h, --help show this help message and exit
--quality_grade QUALITY_GRADE
Observation quality-grade, values: all, casual, needs_id, research; default research.
--iconic_taxon ICONIC_TAXON
Iconic taxon, values: all, Actinopterygii, Amphibia, Animalia, Arachnida, Aves, Chromista,
Fungi, Insecta, Mammalia, Mollusca, Plantae, Protozoa, Reptilia; default all.
Option --quality_grade
spcifies the desired quality-grade of the observations to show. By default, only research-grade observations are shown. Alternatively, all quality grades, or only casual and needs_id can be requested.
Option --iconic_taxon
allows to restrict the observations to an iconic taxon. This can be used to display observations of e.g. only birds or only plants.
Dependencies
A handful of dependencies need to be installed in order for inat_trails.py
to run. Besides Python 3.7 or later, a few packages are needed. On Ubuntu or other Debian-based Linux distributions the dependencies can be installed with:
sudo apt install --yes python3-pip python3-aiohttp python3-fiona python3-shapely
pip3 install folium
On other operating systems, Python 3.7 or later and pip need to be installed first and then the dependencies can be installed with:
pip install aiohttp folium shapely
pip install fiona
Note that pip
fails to install fiona
on Windows. This blogpost has a workaround.
When appropriate pip3
should be called instead of pip
to avoid accidentally installing packages for Python 2.