Goal and Objectives:
The primary goal of this assignment is to perform network analysis to find the closest route from the sand mines to rail stations for transportation of the sand. The purpose was to use python to query out mines that are active and do not have a rail station on site. The mines also should not be within 1.5km of a rail line because the closer ones likely have rail spurs connecting them. Another goal of this assignment is to gain experience using model builder to use the closest facility solver and build a model to calculate the closest facility route. The final goal is to create an equation to calculate a hypothetical cost of sand truck travel on roads by county.
A White Paper from the National Center for Freight and Infrastructure Research and Education (2013) provides some important context for this study. It notes that a common concern among communities where sand mines are located is road damage. This is due to big and heavy vehicles frequently traveling along local roads as a part of the operations of the mine. In a table presented in the article, it notes road damage as a significant impact in all types of sand mining operations. It explains a case study done in Chippewa County, WI, where sand mining impacts on roads is a major local concern. It describes how different types of roads (state, local, etc.) carry different regulations. In many cases, negotiations occur in order to determine appropriate reimbursement terms between the mine operators and the counties involved.
The mine data set used in this study is the official, most recent set of mines from the DNR. The street map used as the source for the Network Dataset came from ESRI. The rail terminal locations were provided in the geodatabase for this lab, but they likely came from the Department of Transportation. In this study, hypothetical numbers are used when examining the number of trips and cost for each county.
Methods:
The first portion of this lab involved using python scripting to extract the mines where trucking routes will need to be examined. This includes mines that are active, do not have a rail loading station on-site, and are not within 1.5km of a rail station. The purpose of this was to determine the starting points for the route planning in the cases where trucks would need to be used to transport sand. The scrip used to execute this process can be found in the Python Scripts blog post below.
To execute the rest of this project, model builder was used (see Figure 1). The workflow will be explained below.
![]() |
| Figure 1: Model used to execute this project. |
The first step in this network analysis is to create a closest facility layer. This is done by making the streets the input layer. The add locations tool is then used to load the final mines that were extracted by the python code as the incidents, and then run again to add the rail terminals as the facilities. The solve tool is added to actually run the network analysis to determine the best routes. In order to export the resulting routes as a feature class, the select data tool is used. In this tool, the child data element used is Routes. The copy features tool is then used in order to save the selected features in the geodatabase.
The next portion of this model is intended to calculate the total road length for the routes by county. First, in order to clean up the data frame a little bit, the counties, rail terminals, and roads layers are all clipped to Wisconsin and Minnesota. Minnesota is included because some of the routes found it most efficient to take the sand to a terminal in Minnesota. The Identity tool is then used in order to connect the county names with route information. In order for proper analysis to be conducted, the layers are projected. This ensures that the distortion would be minimized in the final map (see Figure 2), as well as allows for proper measurements of the route lengths. To find out the total distance of roads in each county, the Summary Statistics tool is used. This provides a summary of the distances in feet, however it is more relevant to see the distances in miles so the Add Field and Calculate Field tools are used to display the distance in miles. This involves an equation that divides the distance value by 5280. To establish the estimated cost for each county, another field is added to the table and an the following equation is used to determine the hypothetical cost:
Cost$=(((miles)*2.2)/100)(trips). In the case of this study, it is assumed that 50 trips are taken each year to the mines as well as 50 trips back. The resulting table can be seen below (see Figure 3).
Results and Discussion:
The following map shows the most efficient truck routes from the relevant mines to the nearest rail facility.
![]() |
| Figure 2: Map of routes |
| Figure 3: Cost per county |
This table lists the costs (in USD) of the mining industry on each county the routes travel through. As one can see, there are many instances where a route travels through a county where there is no actual mining activity. In these cases, the counties are impacted and may not receive proper compensation for their roads.
Conclusions:
It is very evident that mining takes a toll on the communities surrounding the operations. One major concern is the impact it has on road conditions in the cases where sand must be transported to rail stations by heavy trucks. This study examined the most efficient routes to rail stations from mines that are not near a rail station. In many cases, one mine alone has a huge impact of multiple counties and even multiple states. When this is considered in the grand scheme of things, the sand mining industry ends up having a much larger impact than is initially noticed on the local levels.
Sources:
White Paper on Frac Sand Mining
ESRI
DNR
DOT



