An interactive environmental justice map for Albuquerque, New Mexico


Welcome to our site! Here, you will find an open-source implementation of a mapping tool that enables users to visualize data and produce maps for Albuquerque, NM without the use of prior Geographic Information Science (GIS) experience. We hope it can be used to answer social, economic, and environmental questions through a geographic lens.

The map can be used interactively on this site, where you can create maps that you are interested in and then download them as PNG files. However, we also have included the source code for the map on GitHub so that users can customize their maps to their specific needs and interests. In this way, the map can be thought of as a template or starting point (i.e., we've figured out how to make the map work using open-source code, so users can simply add the data that they are interested in).

Our goal is to host as many open-source datasets in JSON format as possible (converting from GeoTIFF, KMZ, SHP, etc). If you have more data that you would like to contribute to this map, please feel free to reach out! We plan to add more data so that people can use this site to visualize and download relevant data in JSON format.

GitHub repo

The GitHub repository for my Masters project can be found here. This site started as a course project here.


Data sources

Here is a working list of our data sources:

Data processing and conversion steps

The heatmap GeoTIFF files (.tif) needed the extra pre-processing step of using GDAL's gdal_polygonize() method in Python before exporting the shapefiles to GeoJSON using QGIS. Specifically, I used the method like this:
gdal_polygonize.py -8 your_tifs_name.tif -f "ESRI Shapefile" output_name.shp

All shapefiles (.shp) were converted to JSON format using QGIS with the help of this tutorial.

The EPA Superfund site polygon data came in geodatabase (.gdb) format. I loaded the files into QGIS and selected the one titled NPL_Boundaries — SITE_BOUNDARIES_SF. From there, I created a filter in QGIS ("STATE_CODE" = 'NM') to select only those sites in New Mexico. Then, I exported the file as a GeoJSON file.

To get only the census Tribal Home Lands in New Mexico, I had to download a shapefile for the outline of New Mexico, as well. Then, I ran an intersection in QGIS according to this tutorial. This unfortunately led to Navajo Nation (and possibly other areas) being split at the New Mexico border.

To correctly format GeoJSON files as JSON files (which we then made .js scripts), we made use of the {JSON formatter} tool.

GitHub has a 100MB file size limit. Many of the files we are sharing here are larger than that, so we used UglifyJS to minify them.

It is not easy to use TIF files in Leaflet. I had to load the TIF into QGIS, change the colormap, and then export the file as a PNG (or SVG). I then used the raster_extent.py file to get the latitudes and longitudes of the bounding box so that I could upload it as an image to Leaflet.

Code references