GEM Tracker Maps is served entirely staticly, with no build process. Each tracker only requires a JSON based configuration file, and a data file (CSV or JSON, as currently produced for GEM Trackers).
/src/
contains the site code, styling information, layout, and supporting assets like images.site-config.js
contains site wide configuration that applies to all trackers/trackers/
contains a director for each tracker
Clone the repo. Create a new directory under /trackers/
. Place the data for the tracker there. Create a symlink to index.html
: while in the new directory, ln -s ../../src/index.html
. Create a config.js
. Commit to GitHub.
First, there are sitewide configurations with site-config.js
. Any parameter can be configured site wide. Documentation on the typical site wide parameters is in that file.
The config.js for coal-plant
has documentation on the parameters typically set for a tracker.
Fork the repository. Place new data file in the appropriate tracker directory. Test and do quality checks on that fork. When ready, make a pull request to the main repository. And accept the pull request to make the update.
Install csv2geojson and tippecanoe
% csv2geojson --numeric-fields "Capacity (MW)" Global\ Integrated\ Power\ data\ 2024-02-14.xlsx\ -\ Sheet1.csv > integrated.geojson
% tippecanoe -e integrated-2024-02-14.dir --no-tile-compression -r1 -pk -pf --force -l integrated < integrated.geojson
https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html
%aws s3 cp integrated-2024-02-14.dir s3://gem-vector-tiles/ --recursive
This can be hosted directly from GitPages.
If hosting on another webserver, the entire repo should be available from a directory on the webserver.
- Mapbox GL JS for maps
- jQuery for document manipulation / querying
- bootstrap for styling
- DataTables for table view