This is part 2 of a 4-part series on The Making of Manhattan’s Coffee Kings. Read Part 1.
By this time, we had the shapefiles for Manhattan (by census tract), the population of each tract, and the location (in Sheet1) of coffee shops around Manhattan. The next step was to create the “coffee map” of Manhattan.
To merge the population data into the shapefile, I used geopandas — a slightly-complicated-but-better-than-alternatives Python library to work with Shapefiles. The code is here. What we did was:
Normally, this would have sufficed. But after several minutes of debugging, I found two other issues with the shapefile.
If you didn’t understand the projections bit, don’t worry. I don’t get it either. But if I find that my shapes are in the wrong place, I usually spend 10-20 minutes of trial and error on the projection, and something usually works.
I used geopandas again to take all the stores and check if they were within the Manhattan shape boundary. The result is a 288-row CSV file with the latitude, longitude, address and store name (Starbucks or McDonald’s).
Running the script manhattan.py
creates 3 maps:
single.shp
with Manhattan’s boundary as a single regionpoints.shp
with the coordinates of individual storespopulation.shp
with the census tract and populationTo create the coverage area, I used QGIS’ Voronoi Polygons. This splits Manhattan into regions that are nearest to each store.
I followed these steps.
points
single
voronoi-stores.shp
voronoi-stores.shp
is a shapefile that has the coverage area of each store.
A naive but effective way of finding the population of any region is to assume that the population is uniformly distributed.
For example, the Starbucks at 120 Church Street is entirely within the census tract CT 002100 in Little Italy and covers 18.5% of its area. So we can assume that this Starbucks serves 18.5% of the 6,040 people in the tract, i.e. 1,120 people.
I wrote a utility merge.py to automate this calculation. By running this command:
python reshaper/merge.py voronoi-stores.shp population.shp \
manhattan-stores.shp -m Pop2010
… I was able to merge the census population data into the coverage area map.
Effective inventory management is more crucial than ever in today's fast-paced business environment. It directly… Read More
Gramener - A Straive Company has secured a spot in Analytics India Magazine’s (AIM) Challengers… Read More
Recently, we won the Nasscom AI Gamechangers Award for Responsible AI, especially for our Fish… Read More
Supply chain disruptions can arise from various sources, such as extreme weather events, geopolitical tensions,… Read More
In a remarkable achievement for the Artificial Intelligence (AI) sector, Gramener's flagship GenAI-powered Intelligent Document… Read More
Did you know that the global Industry 4.0 market size is projected to reach USD… Read More
This website uses cookies.
Leave a Comment