Designing A Public Transit System for my Hometown: Part Three — Trip Generators and Route Design

Pankaj Bhambhani
9 min readMay 24, 2024

--

In the previous posts of this series, I talked about why Gandhidham really needs a public transit network and what freely available data we can use if we were to design such a network on our own. After all the hard work, it is now time for the fun part: designing the routes! But before that, there is one more step left — we need to know where people would want to go.

Trip Generators: Residential Areas and Important Destinations

For designing routes, it is helpful to consider what kind of trips the city’s residents might commonly take. It could be commuting to work, going shopping or recreation, visiting a hospital, going to the railway/bus station/airport for travel beyond the city, heading to college, going to a place of worship, etc. In transit planning terminology, these are called “trip generators”. I have identified some major destinations in the city and labelled them on the map below.

Major destinations within the township that are expected to be sources of frequent trips; hence called “trip generators”. For this project, I have identified six of these that I believe generate a high number of trips. I call them “Important Destinations” and have added explicit labels for them. These are the centres of the two cities, their train and bus stations, and Friends Square, which is an important shopping and recreation destination at the midpoint of the twin cities.

In professional transit planning, you would carefully design routes that provide access to all the different destinations. But that would be too much for a fun project. Instead, I have identified a handful of major city areas that I know are frequented by residents and are home to many of the trip generators listed above. I’m calling these “Important Destinations” and labelled them explicitly on the map. These include the two city centres, with Gandhidham city centre region being big enough that I divided it into a North and South area. Friends Square is a popular shopping centre that is located at the intersection of the two cities. It houses some good cafes and is close to several recreational areas. The rest are the railway and state transport (ST) bus stations, which are the primary hubs for inter-city and inter-state travel. Gandhidham also has a major ST bus terminal that is separate from Adipur ST Bus station, but it is close enough to the train station that I didn’t feel the need to label it as a separate important destination.

Of course, these destinations are just one end of a trip. The other end will typically be people’s homes. From a route design standpoint, it would help to divide the city into different residential areas. For the township, we consider the different wards and sectors (seen in this figure in blog post #1) to be independent residential areas. Outside the township, I used my knowledge and Google Maps to identify the residential areas. This gives us a map like the one below, where each home icon indicates a separate residential area. This gives us a map like the one below, where each house icon represents a residential area. I have not added labels for each area since there are too many of them; instead, I have grouped multiple areas into a subregion of the town/suburb.

Map of residential areas within the township and the adjacent suburbs. These are expected to be the other end of transit trips. Instead of labelling each residential area (of which there are many), I have labelled subregions within the town/suburb.

Our goal is to create routes so that each residential area has direct access to each important destination, and the route is within a 10-minute walk of both the residential area and the important destination.

A transit systems planner would take these and create an Origin-Destination (OD) matrix — figuring out how long it takes to get between a residential area and one of the trip generator destinations. They would assess the demand for that trip (using surveys, for instance) and design routes accordingly. I don’t have as many resources, so we work with a simpler problem here and set ourselves the following goal: to create routes so that each residential area has direct access to each important destination and the route is within a 10-minute walk of both the residential area and the important destination. I believe having direct access is important because Gandhidham has decent roads where driving is not too uncomfortable, so the convenience of a personal vehicle starts to become important if the alternate mode of travel requires interchanging buses. Also, the city has high temperatures for most of the year, making walking long distances difficult, so reducing the first/last mile walking distance can make a big difference.

Given the simplicity of the goal, it is tempting to take all the data and the constraints and let a computer come up with the optimal routes. I presume route planning softwares are pretty sophisticated, and there might be some good open-source options available that I could use. But for this project, I chose to design the routes myself. Firstly, it’s more fun to design and debate each route. Secondly, it’s not easy (at least not for me) to quantify all the constraints. For instance, people living in Adipur are more likely to go to Gandhidham because Gandhidham's city centre has more amenities. But the opposite is less likely to be true. So it's ok if, for instance, the residential areas in Gandhidham do not have direct access to Adipur city centre because they can almost always find what they want in Gandhidham city centre. As another example, people living in the suburbs near Adipur are more likely to travel to Gandhidham for jobs than shopping (because of their socioeconomic status), which are more heavily concentrated in the south end of the city centre. On the other hand, people living in the town of Adipur are more likely to go to Gandhidham for shopping and recreation, which is predominantly located towards the north half of the city centre. So it would be more convenient if the route available to Adipur residents passes through Gandhidham city centre north, while the routes for the different suburbs pass through Gandhidham city centre south.

We can’t run buses everywhere; Chakadas to the rescue

Before listing the routes, let’s look back at the map of roads from blog post #2, which shows how many people are within a 10-minute walking distance of each road.

A simplified version of this map from blog post #2. It only shows roads wide enough to run buses. The colour represents how many people live within a 10-minute walking distance, with bluer roads meaning fewer people living nearby, while redder roads meaning a larger number of people close by. Also shown are boundaries for the township and the adjacent suburbs.

To simplify things, I have hidden the smaller residential streets where we cannot run buses. I have also added the boundaries of the township and the suburbs. The township clearly has enough roads to run multiple buses. Many of the suburbs also have roads passing through their centres, which would make taking transit convenient. The exception is the suburb of Meghpar Borichi. Let's zoom in on that area to see things more clearly.

A zoomed-in version of the previous map shows how residents of a large part of Meghpar Borichi will find it inconvenient to access transit if we cannot run a route through the suburb's centre. The closest road south of the suburb is not wide enough to run buses. The two nearest bus routes at the north and south end would be a 15 and 18-minute walk, respectively, from the centre of the suburb. To solve this, we can design a route that runs through the suburb and is operated by Chakadas instead of buses.

As you can see, the only bus route possible in Meghpar Borichi would run at the North end of the suburb, making it inconvenient for many residents. Getting to a bus stop from the suburb's centre would be a 15-minute walk and an even longer walk from the suburb’s southern end.

To make matters worse, the road that runs south of the railway line and parallel to it (marked with crosses) is labelled as a secondary road in the OpenStreetMap dataset, but upon closer inspection (through satellite images and personally checking it out), it is not wide enough to accommodate buses (in fact, in some regions, it is not even wide enough for two-way car traffic). For this project, I am working with the existing road conditions and not making assumptions about them being widened or modified in any way to run buses. So, the closest bus route south of Meghpar Borichi would be an 18-minute walk, as shown on the map, and it would involve getting through a level crossing, which can be unsafe. Things are similarly inconvenient for residents of the suburb of Meghpar who live north of the railway lines.

The lack of a wide road through Meghpar Borichi also makes it hard to run a direct bus route from the suburb to Adipur city centre. The only option available is a long-winded route going to one end of the city and then returning to the city centre. All of this is a consequence of unplanned, thoughtless development in these areas.

Thankfully for our situation, both these problems can solved together. In fact, a solution already exists. The Chakadas currently running in the township can easily and safely navigate narrow residential streets. We can use Chakadas (or a slightly upgraded version of them) to run a route through the centre of the suburbs directly to both Adipur and Gandhidham city centres, providing convenient and fast access to these destinations. The Chakadas also provide an additional benefit — since they cost less to operate, they can be run on routes with less demand (e.g. connecting the city with the nearby villages that aren’t high-density suburbs yet) and can be replaced with buses in the future if demand exists.

The Routes

Considering all of these constraints and our original goal, here are the routes that I think work best!

A route map showing the approximate path of each route, with its start and end points as well as other major destinations it will pass through. Routes operated by buses are labelled by their route number, while those operated by Chakadas have the prefix “C” preceding the route number. Not to scale.

A detailed description of each route, with the exact path and the places it aims to connect, can be found here. To summarize things briefly, each route is intended to provide city access to one or more residential areas in the township or suburbs. The routes that should be operated by buses are labelled by their route number, while those that should be operated by Chakadas have the prefix “C” preceding the route number.

Route C1 connects Adipur’s city centre, bus and train stations to the suburbs of Antarjaal, western Meghpar Borichi, northern Meghpar and the village of Shinay. Route C2 offers the same for eastern Meghpar Borichi, southern Meghpar, and the village of Meghpar. Route C3 offers the same for the township of Adipur; it runs in a loop around the city.

The remaining routes (except Route 9) offer connectivity to Gandhidham’s city centre and train/bus stations. Route 1 connects the suburb of Antarjaal and the village of Shinay to Gandhidham. Route 2 does the same for the town of Adipur and southern Meghpar. Route 6 links northern Meghpar Borichi to Gandhidham, while route C6 connects southern Meghpar Borichi and northern Meghpar to the city. Routes 4, 5 and 7 offer city centre connectivity for residents within the town of Gandhidham. Route C4 connects Gandhidham to the suburbs of Galpadar and KaSEZ Township. Route C5 does the same for the villages of Mithi Rohar and Kidana. Route C7 runs in a loop around Gandhidham, offering access to various important destinations such as hospitals, theatres, educational institutions, etc.

Routes 8 and 9 offer connectivity between the airport and Gandhidham and Adipur, respectively. These are conceptually a single route and can be run by the same bus alternating between Gandhidham and Adipur as destinations. Hence, I have used the same colour to represent these two routes.

Bus routes are designed to run along primary and secondary roads (as per the OpenStreetMap dataset) and are expected to cater to high-demand trip generators; this is especially true for the long-distance routes. The routes run by Chakadas run at least partly along tertiary roads and are expected to be lower-demand routes, e.g. those that connect the town to the neighbouring villages and those that do not go to Gandhidham city centre. The one exception to this is route C6, which is expected to be a high-demand route for commuting to Gandhidham and should ideally be operated by a bus but for the narrow roads in Meghpar and Megphar Borichi.

The placement of these routes is a tradeoff between fast and direct access to the city vs increased coverage. For instance, having separate routes for northern and southern Meghpar Borichi, as opposed to a single circuitous route, is important because commuters relying on these routes would benefit from quick access to their destinations. The route placement also depends on the expected purpose of trips, as previously mentioned. For instance, routes 2, 4 and 7 cater to residents of the twin cities and run through north Gandhidham to allow for convenient access to the shopping district. In contrast, routes 1, 6, and C6 run from the suburbs and pass through central Gandhidham, allowing commuters easy access to jobs across the city centre.

Finally, in case your keen eyes noticed, there is no bus route 3. I originally had a route 3 in my design; it was to run on the road parallel to the railway track in Adipur and just south of it. But I later discovered that the road is not wide enough for buses to run, as we saw. So, I chucked that route and introduced route C6 instead. And I was uninterested in updating route numbers for all other routes.

In the next and final blog post, we will assess how this route network fares as a whole and whether it meets the goals we outlined in the first blog post.

--

--