Select to view content in your preferred language

# Supermarket Accessibility

3734
6
06-12-2015 03:34 AM
New Contributor

Hi,

It's been a while since I worked with arcGIS, and I know what I want to do should be easy, but I'm struggling.

My goal is to determine the supermarket accessibility in the Municipality of Amsterdam. I have all the files ready to go:

- the area is divided into grids of 100x100m

- the locations of all supermarkets are geocoded

- a suitable network dataset

Via the Network Dataset I want to get (from the center of the grids) for each grid

1) the distance to the nearest supermarket

2) the number of supermarkets within 1.000m

3) the mean distance to the three nearest supermarkets from different chains

The first one I managed to do simply with the Closest Facility option. With the second and the third I'm struggling. I hope somebody can help me.

1 Solution

Accepted Solutions
Esri Regular Contributor

Hello Bjorn.  You should be able to use the Network Analyst tools to solve this problem.

1) I want from each geographic center of each grid the distance in meters to the nearest supermarket along the the network

^ Use Closest Facility, as you've already discovered.

2) I want from each geographic center of each grid the number of supermarket within 1.000 meter along the network

^ You can do this using the OD Cost Matrix tool.  You would put in all the grid centroids as Origins and the supermarkets as Destinations.  Use the "default cutoff" setting to set your 1000-meter limit.  The results will be a list of travel distances from each origin to each supermarket within that 1000-meter cutoff, and you can just summarize the output table to calculate the number of supermarkets reached for each grid centroid.

3) I want from each geographic center of each grid the mean distance to the nearest three different-chain supermarkets.

^ This one is harder.  I think you'll have to do this in multiple stages.  You probably need to do a Closest Facility analysis for each supermarket chain separately.  If you have 6 different chains, then you do 6 different Closest Facility analyses.  Then you manually choose the three closest for each grid centroid and take the average of those three.  If you're doing that analysis over and over again, you could automate that process with Model Builder or a python script.

6 Replies
MVP Emeritus

First 100 m?  Do you mean 1000 m?  It seems that your grid is a bit fine.  100 m is a pretty small distance (and hence area) to be assessing market share or accessibility.

For the latter two you need to specify:

2) the number of supermarkets within 100 FROM WHERE

3) the mean distance to the three nearest supermarkets from different chains  FROM WHERE

Notice FROM WHERE that means that these need origins.  THe number of supermarkets within 100 would imply from a particular location or the number of supermarkets with 100 meters of each other.  The latter case could consist of 10 stores located 99 m apart in a linear fashion along a road.  technically they meet your condition but the last store will be 1000m from the first ie stores like x  x  x

or do you want 100 of one another like

x

x  x

forming a triangle (continue for other geometries)

or do you want 100 from a person's house?

You will need to clarify.  An I am assuming that you want the network distance and not the simple Euclidean distance.

And have you considered travel time?  perhaps a store that is a little further away but accessible by bus may take less time than walking.

Just some initial thoughts...but all doable.

New Contributor

I'm sorry, I seems my story wasn't clear enough.

The grids are a proxy of small neighborhoods. All the measures I want from the geographic center of the grids.

So to clarify;

1) I want from each geographic center of each grid the distance in meters to the nearest supermarket along the the network

2) I want from each geographic center of each grid the number of supermarket within 1.000 meter along the network

3) I want from each geographic center of each grid the mean distance to the nearest three different-chain supermarkets.

For the first accessibility measure, in the closest facility option, I put the supermarket locations as facilities, and the geographic centers of the grids as incidents.

MVP Emeritus

It appears that you just need Euclidean statistics, so with a combination of the Near tool, spatial joins (join by spatial location you should be able to summarize your results.  If you need network distances, then the locations should be within close proximity of a road and you can perform spatial allocation from the grid centers, then a summarize operation to determine the number of stores that fall within the network "buffer" which of course won't be circular but will be formed by the concave hull of the routes radiating from the node.  That's all I can think of now, a picture might twig some other thoughts.

New Contributor

First off, thanks for taking the time for helping me.

In the printscreen, you can see my grids of 100x100 meters (there are some socioeconomic variables attached to these grids that I want to use later on in my analysis). The dots are the supermarket locations, and in the background you can see the road network.

"If you need network distances, then the locations should be within close proximity of a road and you can perform spatial allocation from the grid centers, then a summarize operation to determine the number of stores that fall within the network "buffer" which of course won't be circular but will be formed by the concave hull of the routes radiating from the node." -> This seems perfect for my second accessibility measure, could you maybe give a more step by step explanation?

MVP Emeritus

You might have a look at the Network Analyst tutorials first

Esri Regular Contributor

Hello Bjorn.  You should be able to use the Network Analyst tools to solve this problem.

1) I want from each geographic center of each grid the distance in meters to the nearest supermarket along the the network

^ Use Closest Facility, as you've already discovered.

2) I want from each geographic center of each grid the number of supermarket within 1.000 meter along the network

^ You can do this using the OD Cost Matrix tool.  You would put in all the grid centroids as Origins and the supermarkets as Destinations.  Use the "default cutoff" setting to set your 1000-meter limit.  The results will be a list of travel distances from each origin to each supermarket within that 1000-meter cutoff, and you can just summarize the output table to calculate the number of supermarkets reached for each grid centroid.

3) I want from each geographic center of each grid the mean distance to the nearest three different-chain supermarkets.

^ This one is harder.  I think you'll have to do this in multiple stages.  You probably need to do a Closest Facility analysis for each supermarket chain separately.  If you have 6 different chains, then you do 6 different Closest Facility analyses.  Then you manually choose the three closest for each grid centroid and take the average of those three.  If you're doing that analysis over and over again, you could automate that process with Model Builder or a python script.