moving geojson generation to the views and adding caching for speed