Research Article

A Bus-Service-Based Zone Division Approach for the Spatial Analysis of Public Bus: A Case Study in South China

Algorithm 1

Clustering algorithm.
Input: basic units, information of the bus stops
Output: BSAZs
Step 1: Numbering.
Number basic units from the southwest corner to the northeast corner and mark these numbers as the IDs of these basic units.
Step 2: Initialization.
The counter number is set as 1, all basic units are put into a set , and the set of basic units waiting for adding into a zone, , is empty.
Step 3: Selection of the first basic unit.
For a new zone , select the basic unit with the smallest ID in as the starting point of the new clustering and add the basic unit into the set of basic units for () while it is removed from .
Step 4: Criteria check.
If the designed bus service area in is not less than the standard designed bus service area in a BSAZ () then
 Step 4a: Empty .
else
 Step 4b:
If is empty then
  Select the basic units which surround and are in , and then add these selected basic units into .
else
  Turn to Step 5.
 Step 4c:
If no unselected basic unit can be added into , then
  The clustering for stops, and is added into the set of zones in special situation A () because may need further modification.
else
  Turn to Step 5.
 Step 4d:
If is empty then
  Turn to Step 6.
else
   =  and return to Step 3.
Step 5: Selection of basic units.
Select the basic unit with the smallest ID in ; add it into while removing it from and ; and then return to Step 4.
Step 6: Special treatment A.
For each zone in , if its designed bus service area is less than , it is combined with the neighbor zone whose designed bus service area is less than and the least compared with those of other neighbor zones. If all neighbor zones’ size of designed bus service area is not less than , the one with the smallest area is selected for the combination. Based on the combination result, put all formed zones into a set .
Step 7: Special treatment B.
Check whether the shape of each zone in needs a further modification (i.e., the zone is a ribbon-like zone). If yes, reshape the zone and its neighbor zones. Based on the modification, update .
Step 8: Output.
Output all zones in as BSAZs.