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.
External Data
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.