North American Alpine Plant Conservation Atlas

The Alpine Atlas is a resource thas organizes information on taxonomy, ecology, and conservation for alpine plant taxa found in North America.

Map Interaction

Solution

This project required two custom map interaction. On the search page, users can draw polygons on a world map, and receive the locations of all the alpine plant taxa that are found within the drawn area. For a single species, a map shows the worldwide distribution of the species.

Tech

Both map interactions were built using the Leaflet.js library. Plant occurence data is identified using the GBIF API. On the search page, that data is then combined with other search parameters, and the resulting plant taxa are displayed in a list, with links to their individual pages.
Map with a geographic rectangle selected, demonstrating the results of a search

External Data

Single species page, identifying common names, conservation status, and other data from external sources

Solution

The Atlas integrates data from a lot of external sources, including:
  • GBIF for plant occurrence data
  • iNaturalist for plant images
  • NatureServe for conservation status
  • The Global Names Verifier

Tech

Each of these services required a different integration approach, working with a variety of different APIs to pull all of the data. APIs in use include:
  • NatureServe Explorer REST API
  • Global Names Verifier Rest API
  • IUCN Red List API
  • iNaturalist API
  • Global Biodiversity Information Facility API

Data Management

Solution

Much of the data presented in the Atlas comes from external APIs. To optimize performance and reduce the number of API calls, we implemented a caching system that stores the data in a MySQL database. This allows us to quickly retrieve data. Additionally, we implemented a data update system that checks for updates from the external APIs periodically and on single species page loads, and updates our database accordingly. There are also custom back-end processes to force data sync, and to upload or modify data with CSV files. The database structure is portable, and not reliant on any specific content management system (currently WordPress for the Atlas).

Tech

Both map interactions were built using the Leaflet.js library. Plant occurence data is identified using the GBIF API. On the search page, that data is then combined with other search parameters, and the resulting plant taxa are displayed in a list, with links to their individual pages.
Alpine Plant administration screen showing data management options