Design and Implementation of Taxi Dispatching and Monitoring System Based on GPS

With the popularity and widespread use of the Global Positioning System (GPS), it has become possible in the taxi industry to rely on GPS to obtain the vehicle's latitude and longitude in real time and use it as a basis to implement a vehicle's real-time scheduling and monitoring system. In the era of rapid development of the national economy, the taxi industry, an important part of urban transportation, has also entered a period of rapid development. Various management issues arising from the continuous development process have also been put in front of the government units that manage the taxi industry and the management of taxi companies. The taxi industry is a service industry directly facing the public. Vehicles are scattered in various areas of the city, which has a wide impact on the society and involves a wide range. With the continuous growth of enterprises, how to rationally plan the distribution of taxi capacity and strengthen the taxi capacity Safety management, strengthening corporate supervision of drivers and taxis, reducing vehicle empty mileage, reducing fuel consumption, reducing resource waste, and providing passengers with faster and higher-quality services, etc., to solve practical problems that require more advanced systems to support them. To cooperate to achieve the healthy and stable development of the industry and to ensure that the company itself is more competitive and faster decision-making reaction in the industry. From the perspective of government management, a GPS-based system is needed to solve urban traffic congestion, reduce vehicle fuel consumption and air pollution, and strengthen government supervision of taxis. How to design and build a complete system that can satisfy the comprehensiveness and evenness of government supervision to the greatest extent; the scientific and forward-looking nature of enterprise management; the scalability and robustness of the system itself; at the same time, it can provide drivers and Passengers bring practical help and benefits, which is a problem that must be considered and solved in the design of a GPS-based taxi dispatch and monitoring system.


Roadragon’s main job is
1. Design a taxi dispatch and monitoring system based on a full understanding of taxi dispatch requirements, and realize an event-driven system design that supports multithreading and large concurrent data transmission. The purpose is to let the department
All have a clearer hierarchical structure and more powerful expansion capabilities.
2. In the process of system implementation, propose and solve a large number of data connections between taxis and the system and ensure the integrity and reliability of data transmission. The purpose is to make the system reach higher with more economical server resources
The efficiency and reliability of data transmission.
3. Propose and solve the problem of accurately searching for dispatchable vehicles under complex road conditions during the system realization process. The purpose is to further reduce the empty mileage of the vehicle and reduce the fuel consumption of the vehicle through more accurate vehicle search.
Reach the passenger's boarding point faster.
4. Propose and solve the problem of fast and efficient storage and retrieval of massive data in the process of system implementation. And combined with the analysis of solutions to actual problems encountered in the project implementation process to explain the system in the daily
The actual role of management. The purpose is to provide fast and accurate data support for real-time vehicle monitoring and management.
According to the above analysis, the system can be divided into:
1. Basic information maintenance subsystem: Mainly responsible for the maintenance of basic information of operators, basic information of vehicles, basic information of drivers, and maintenance of basic map data.
2. Passenger car reservation order maintenance subsystem: Mainly responsible for the data interface with the call center and the maintenance of passenger orders, and send car reservation information to the background dispatching system.
3. Automatic order dispatching subsystem: Mainly responsible for maintaining the basic real-time information of the vehicle, and matching the vehicle according to the received order information. Message interaction with the message gateway.
4. Message gateway subsystem: Mainly responsible for the conversion and transmission between the message format within the system and the message defined between the terminal and the system.
5. Map monitoring system : Mainly responsible for data interaction with dispatching subsystem, and responsible for map display and real-time dynamic display of vehicles. And send control commands to the vehicle.
The bottom-up data flow is: 1. The vehicle sends real-time data to the message gateway subsystem; 2. The message gateway forwards the parsed data to the dispatch subsystem; 3. The automatic dispatch subsystem is based on the order
The vehicle is screened by the latitude and longitude of the vehicle; 4. The automatic dispatch subsystem sends additional information such as the real-time information of the vehicle and the state of the vehicle to the map service subsystem; 5. The map service subsystem records the historical data of the vehicle and sends it to the Real-time display of map monitoring client.
The top-down data flow is divided into two main parts:
1. The data flow initiated by the dispatching subsystem: 1. The dispatching client receives the request for car use and sends it to the automatic dispatching subsystem; 2. The automatic dispatching subsystem finds a suitable vehicle based on the actual situation.
Appropriate vehicles and send vehicle usage requests to these vehicles through the message gateway subsystem; 3. After the message gateway subsystem receives the message, it converts the message protocol and sends it to the specific vehicle
2. Data flow initiated by the map monitoring client: 1. The monitoring client initiates a monitoring request to the map server; 2. A map server forwards it to the message gateway through the dispatch server; 3. The message gateway converts the protocol and forwards it to a specific vehicle.
From the upper and lower data flows, the analysis of the subsystems is mainly to notify each other of the initiated requests through messages. Taking into account the corresponding timeliness of the system and the high concurrency of data, each subsystem in the design process of the system mainly adopts the "production-consumption" model for overall design, the most important of which is to use the observer model to decouple. The idea of ​​this mode is to cut requests from different groups of threads to process data asynchronously. The "producer" is the thread that generates the requests that need to be processed, and the "consumer" is the thread that accepts those requests and responds to them. The advantage is that it provides a clear separation so that threads can be better designed and can be more in line with the design philosophy of loose coupling. It also helps developers find and solve problems that occur during actual use. The modular design and implementation of the system is also conducive to the maintenance and expansion of the system. At the same time, the modular design and implementation also help the independent unit testing of each module to improve the parallel development within the team, and it also has sufficient guarantee for the subsequent reconfiguration risks of the system. The main functions of each subsystem design are as follows:
1. Message gateway subsystem: Mainly responsible for the reception and forwarding of messages, and the conversion of message protocols. Receiving and forwarding messages needs to consider connection maintenance in large concurrency situations and how the application layer can ensure the integrity of the data to be sent under network congestion. The decoupling between the terminal and the system is ensured through protocol conversion. Even if the terminal provider's dispatching and monitoring system is replaced, the integrity can be guaranteed, and only the protocol conversion module of the gateway subsystem needs to be modified.
2. Automatic dispatching subsystem: Responsible for automatically judging which vehicles are suitable for passengers based on the position and status information of the vehicles, combined with the basic information of the passenger cars and the basic information of the city’s roads. The main modules include message receiving and sending module, message and task (Task) conversion module, thread pool module. The key part of the decoupling in the subsystem is the message and task conversion module. Through this module, different messages are converted into one or more independent tasks, and the tasks are sent to different thread pools for processing.
3. Map server subsystem: monitor real-time vehicles and record real-time data of vehicles for historical analysis.
Design of the overall system architecture
This system adopts Java as the development language. In the design process, the whole system is divided into several subsystems by modular design, and Socket is used for data interaction between the system and the system. The subsystem mainly adopts the production and consumption mode to realize the decoupling between tasks and operations and uses multi-threading technology more flexibly to improve the concurrent processing capability of the system. For the common functional modules between each subsystem (such as network connection management and maintenance module, thread pool module, etc.) system design, the public and independent functional modules are designed in advance in the process to avoid unnecessary repetitive development within the subsystems. The subsystem only faces the actual business logic.
Design and realization of production and consumption mode
Taking into account the message interaction between the subsystem and the subsystem, as well as the concurrent processing requirements of the task system within the subsystem, the most basic of the system in the design process is to adopt the production and consumption model. The introduction of this mode will not be exhausted in this article. This article mainly introduces the design structure of the production and consumption mode in this system, combined with the detailed analysis of the business process of the taxi dispatch order and the specific application of the production and consumption mode. The overall design structure of the production and consumption mode in this system is based on the thread pool and task objects. The main functions provided by the thread pool include thread maintenance and management, and buffer queue maintenance and management.
More important in the production and consumption model is the design of the thread pool. For example, OrderThreadPool is to achieve execution according to a custom sort order. Assuming that the operator is classified as the type and New Order_Task is the processing object, then OrderThreadPool will be executed in order according to the tasks of each operator, ensuring that only one New Order_Task for each operator is executed in the thread pool. The principle of the design is to maintain two HashMaps, one HashMap is used to maintain the management between the classification standard and the corresponding Task, the key is the classification type, and the value is the LinkedList task list. Another HashMap used to maintain the task of that category is being executed. Once it is judged that there is a task of the same type being executed during getTask, another type of task is selected for comparison until the obtained task is a type of task that is not in progress and returned to the thread pool for execution. At the same time, the system also focuses on the use of high-performance concurrency tools provided by Java since 1.5, such as: read-write locks, semaphores, thread synchronization for paired exchanges, etc.
Although the vehicle monitoring and dispatching system mainly only involves the department of vehicle dispatching, because it realizes the direct connection between the system and the vehicle, the ability to obtain real-time basic vehicle data has laid a solid foundation for the company's refined management. Therefore, in the design process, it is also necessary to fully consider the management ideas of the enterprise's senior management, and combine flexible management ideas with a relatively fixed scheduling system. Let the vehicle scheduling and monitoring system truly become the vanguard of enterprise information construction and cooperate with the enterprise to realize its own strategic direction.
Maintenance of vehicle historical data


Maintaining the historical data of the vehicle is the key to analyzing and monitoring the vehicle. The historical data of the vehicle mainly includes the historical trajectory file information of the vehicle, the historical operation data of the vehicle, and so on. The historical trajectory data of the vehicle is mainly used to find the historical driving route of the vehicle, which is used to resolve passenger complaints, analyze traffic accidents, and find lost property of passengers. In the actual application process, in order to ensure that the trajectory of the vehicle can be drawn smoothly on the map, it is necessary to ensure that the report frequency of the latitude and longitude trajectory points of the vehicle is sufficiently dense. If a vehicle uploads a position report every 10 seconds, there will be 8640 in a day. The position report data is calculated as a piece of position report data [4byte vehicle identification number + 8byte latitude and longitude + 4byte time + 1 byte speed + 1 byte (direction, positioning) + 1 byte vehicle status + 4 byte alarm type] a total of 23 bytes, one per day The track data of the car is up to 194K. Ten thousand vehicles a day can reach 1G of data. How to store this data? How to provide users with convenient and quick query? How to analyze useful information based on these data to provide new ideas for management? These issues must be considered in the system design and implementation process. The historical operating data of vehicles is mainly to analyze the daily revenue of each vehicle. The analysis of revenue data helps the management analyze whether the current charges are reasonable, whether the capacity input is saturated, and other management data. Operating data basically includes basic data such as license plate number, vehicle identification number, start time, end time, operating mileage, operating amount, etc. Analyze 800,000 records of 10,000 vehicles per day with 80 transactions per vehicle per day. How to ensure the integrity of operating data, the storage and analysis of operating data, and how to dig out useful data for management analysis from these basic operating data so that users can use it conveniently and quickly are all issues that must be considered in the system design process .
 GPS Vehicle historical data
According to the implementation of the system, the system is implemented in JAVA programming language, deployed on the server of the Linux operating system, and the database uses Oracle11g. Regarding the massive amount of data and the operating frequency of the data, the system is stored in two ways: file disk storage and database storage. For the vehicle trajectory file, a data system with a high upload frequency, it mainly uses file disk storage to store basic data. For vehicle operating data, data that is relatively infrequently uploaded, is stored in the form of database storage. The following will introduce solutions for processing two kinds of data. The main purpose of the vehicle trajectory file is to trace the historical driving situation of the vehicle and to statistically analyze the number of historical vehicles in each time period in different areas.
Scenarios for retrospecting the historical driving situation of the vehicle include: 1) Lost and found by passengers: Passengers left their belongings in the vehicle, but cannot provide specific vehicle information, and can only provide a certain place during a certain period of time. The system needs to find out all the vehicles that have passed the locations recalled by the passengers based on the historical trajectory information of all vehicles in a certain period of time for investigation. 2) Passenger detour complaints: Passengers provide information about the vehicle they are in, and the system queries the vehicle's driving route during the service period to determine whether the vehicle is detouring illegally. 3) Vehicle statistics for each time period in different areas: Generally used to monitor whether the number of vehicles in the area is abnormal, so as to determine whether the vehicles in the area have stopped or went on strike. In practical applications, the monitored city needs to be divided into multiple monitoring areas, and the number of vehicles in the area is counted according to the 24 hours a day. The number of vehicles in the area is divided into 24 hours a day to form weekly averages, monthly averages and other reference data, combined with the real-time number of vehicles on the day The situation is compared to draw a reference conclusion whether there is any abnormality. According to the above three common scenarios in the actual business process, it can be found that the main analysis and query conditions for vehicle historical trajectory data are: time, latitude and longitude, and specific vehicle. According to the analysis in the previous question, the number of trajectories of a car in a day can reach up to 8,640, and the amount of data can reach 194K, so it is not an ideal solution to store these data in a database. Because each vehicle reports a position in 10 seconds, 10,000 vehicles will have 1,000 database insertions in one second. Frequent database table operations will definitely affect the performance of the system. From the perspective of query analysis, a car has a maximum of 8,640 position report data a day, and 10,000 cars equals 864 million position report data. Even if the database partition table or sub-table is used and the key fields are indexed, if the vehicle trajectory is used The playback operation query will generate various I/O waits at the database level, leading to a sharp drop in system performance. Therefore, when the system is designed, the storage of the vehicle trajectory file adopts the file disk for direct storage. Choose the file storage structure. According to the actual business reference analysis and the determined storage method, the system design needs to consider how to store it to be more efficient. The most common is to use the storage structure of the hash file. Hashing files is similar to the Hash table in the data structure, that is, according to the characteristics of the keywords in the file, a hash function and a method to handle conflicts are designed to hash the records on the storage device. The difference from the Hash table is for the file , File records on the disk are usually stored in groups. Several records form a storage unit, which is also called a "bucket". Since our development language is Java, we can find from the HashMap structure implemented in the Java language API that the data structure of the hash table is composed of an object array and multiple object linked lists. The object array is similar to the concept of "bucket". Each bucket is identified by a hash value. If there are objects with the same hash value, they are stored in the object linked list of the "bucket". The search time of the data structure hash table is complicated. The ideal situation can reach O(1), that is, each "bucket" has only one object, and the worst may be only one "bucket". All data is put into the object list of this "bucket", so the worst The search time complexity will reach O(n). Of course, in the HashMap implementation process, there is a function of judging the total number of objects and the number of "buckets" and regenerating the correspondence between the new distribution "buckets" and objects. Understanding the data structure implementation of an actual hash table structure helps us design our own hash file based on the hash table data structure. Hash distribution of trace files. According to the use of the trajectory file and the attributes of the file itself, the system divides the file into storage levels according to the hierarchical structure of year, month, day, and vehicle license plate. Considering the scalability of the system, it is convenient to access more vehicles in the future. Use the last character of the license plate number for hash processing.
The principle and design of dispatching to find a car


In the GPS-based taxi dispatching and monitoring system, how to realize the system automatically finds suitable vehicles to provide passengers with ideas and design schemes. The purpose of the dispatch function of the system is to provide passengers with the most timely vehicles, and to provide taxis with the nearest passengers to reduce the mileage of the driver to achieve the goal of energy saving and emission reduction. It saves money for drivers and provides convenience for passengers.

The first two goals to be considered in the design process of car-finding for dispatch: fast and accurate. First of all, let's understand the basic attributes of a passenger calling in to provide a car demand. 1) The telephone number that the passenger dialed in; 2) The time the passenger used the car; 3) The place where the passenger was going to board the car. The phone number of these three basic attributes can be obtained directly through the call system, and if the car is booked on behalf of someone, it can be obtained by asking the passenger to call back the phone number. Passengers will also take the initiative to inform the dispatcher of the time of the car. The key is the third point of boarding location. Passengers generally only tell a physical address such as: what road is near to a certain road and other textual descriptions. For the dispatch system, the system needs to convert the textual road condition information into specific longitude and latitude information to find vehicles, and use the longitude and latitude information to determine whether there are suitable vehicles around for dispatch. Therefore, the most basic work for accurate vehicle search is how to obtain the longitude and latitude information of the passenger boarding location.

Maintain the latitude and longitude information of the pickup point

Maintaining the longitude and latitude information of the pick-up point is to maintain the city's road library information. Mainly include: road intersection latitude and longitude data, landmark building latitude and longitude data, house number section latitude and longitude data, etc. According to the road characteristics of different cities, different data can be used to dispatch the source of the latitude and longitude data of the pick-up point. For example, cities with standardized and mature house numbers like Shanghai may prefer the latitude and longitude of the house number segment as the source of the longitude and latitude data of the vehicle boarding point. In some small cities, the latitude and longitude of landmark buildings can be used as the source of the longitude and latitude of the passenger boarding point. The general city is more suitable for the latitude and longitude of the road intersection as the source of the longitude and latitude of the passenger boarding point.

There are advantages and disadvantages of each of these methods according to the number section, landmark buildings, and road intersections. It is generally used in combination during actual application. The house number segment has a relatively small application range, and the city’s house number distribution must be standardized and continuous. But the way of the house number segment can quickly and accurately locate the longitude and latitude of the passenger boarding place. The principle is as follows: divide a road into several small roads according to the house number, and use the small roads as the longitude and latitude points. As for how many door numbers are divided into one section, the staff who collects road information decides themselves according to the actual conditions of the road. Collecting the longitude and latitude of the door number segment can be the way that the collector drives into the door number segment of a certain road and uploads the longitude and latitude through the GPS device to obtain the most accurate road longitude and latitude data. In the actual use of the system, when the passenger calls the car phone and informs the road and house number of the boarding place, the system can find the house section to which the house number belongs according to the road and house number and obtain the corresponding number in the house section. Longitude and latitude information, for example, when a passenger calls in and tells that the car address is No. 10 Zhongshan Road, the system will find that No. 10 Zhongshan Road is within the range of No. 2 to No. 50 Zhongshan Road, so the system will return to No. 2 to No. 50 Zhongshan Road. The longitude and latitude information corresponding to the road section is used as the longitude and latitude information of the passenger boarding point. This method of obtaining the latitude and longitude of the boarding location is relatively accurate, and the error will not exceed 500 meters. The disadvantage is that the relatively large workload of acquiring house number data requires a period of arduous and detailed basic data collection in the early stage. Moreover, the degree of standardization of city house numbers is relatively high. The main way to obtain the latitude and longitude of a city road is to obtain the latitude and longitude information of the crossing road through the analysis of the city's map data. When the passenger calls, it is stated that the certain road is close to the certain road to obtain the approximate latitude and longitude of the boarding point. This method of obtaining latitude and longitude is more convenient, but the disadvantage is that the accuracy of positioning cannot be guaranteed. Once a passenger is on a long road with no crossroads within a few kilometers of the road, the system will not be able to accurately obtain the passenger's accurate boarding latitude and longitude based on the longitude and latitude information of the crossroad.

Scheduling to find a car


The maintenance of the longitude and latitude data of the passenger boarding point provides a solid data foundation for the system to automatically dispatch vehicles to find vehicles. The realization of car-finding still needs to be considered in combination with the road characteristics of the local city and the number of taxis participating in the dispatch.
Find a car according to the linear distance of latitude and longitude
This method of finding a car is relatively convenient and practical to implement, and it is used most frequently in practical applications. Realization principle: Draw a circle with the longitude and latitude of the passenger boarding point as the center of the car search distance as the radius, as long as the vehicle within the circle is the vehicle that the dispatcher is looking for, if there is no vehicle at a time, the radius will continue to be compared with the vehicle according to a certain range , Until the vehicle is found or the radius reaches the maximum value set by the system. This method is relatively simple to implement, but the efficiency is not very high, because it is necessary to calculate the distance between all the vehicles and the center of the circle. It is not scientific and efficient. Imagine a passenger on a platform with 10,000 vehicles calling for a car. Actually, there will be no more than 20 vehicles around the passenger boarding point, and only one vehicle will be provided to the passengers. However, we need to calculate the distance for all 10,000 vehicles on the platform. Basically 9,980 calculations are useless calculations. Then in actual use, due to the continuous improvement of the current server performance, using this method on a taxi dispatch platform with more than 10,000 vehicles is still a fast and accurate implementation method. Especially in a city with reasonable road planning like Shanghai, there is no need to consider the phenomenon that the vehicle needs to drive a long distance before the passenger boarding location to turn around to pick up passengers. Taking into account the huge useless calculations brought about by finding a car according to the linear distance of longitude and latitude, the system design has a further optimization direction.
Grid car search
The grid search is to avoid huge useless calculations in the process of finding a car in a straight-line distance, and to optimize the performance of the search process. The principle is: firstly, the city is divided into grids according to the latitude and longitude; secondly, the position of the vehicle in the grid is recorded according to the real-time latitude and longitude of the vehicle. According to the location of the passenger boarding point, the vehicles in the surrounding grid are obtained, and the distance between the vehicles in these grids and the passengers' boarding latitude and longitude is compared to obtain the most suitable vehicle for the passengers.
GPS Map data to find a car accurately


Regardless of whether it is the most primitive distance straight-line car search or the further grid search, the most basic principle is still to judge whether the car is suitable as an alternative dispatch vehicle based on the comparison between the longitude and latitude of the passenger boarding and the straight-line distance of the vehicle. How to combine road data to achieve precise car finding is not common in the current dispatch system. The reason is that it is generally more convenient for domestic urban road network structure vehicles to turn around. Large cities with elevated highways also stipulate that empty vehicles are not allowed to be elevated. Therefore, in China, finding a car through the straight-line distance between the passenger boarding point and the longitude and latitude points of the vehicle is sufficient to meet the basic needs of customers.
But some special cities such as Jakarta in Indonesia. Vehicles on the roads of this city often need to drive several kilometers or more to turn around. Since Indonesia is located in an earthquake-prone area, the city does not have a subway, so two special roads are opened in the middle of the road to drive fast buses. The truth is that the separated vehicles cannot turn around at all. In such an inconvenient city, if the longitude and latitude of the passenger boarding point are compared with the longitude and latitude of the vehicle to find a car, then the person and the vehicle will be on different sides, or the passenger's position has just been driven, so the vehicle may need to go around a large area. The circle can come back to pick up passengers. This contradicts the original intention of the GPS dispatching system to save drivers' fuel consumption. In order to solve this contradiction, the system must consider using the distance between the vehicle and the passenger boarding and road information to find a suitable vehicle.
Design idea: The roads drawn on the map are generally represented by "segments". A road is divided into continuous "segments". And according to the width of each section to form a "band". In this way, a complete road pattern can be displayed on the map. According to whether each intersection can turn, whether the road is one-way, etc., the road information is first combined into a directed graph. Then, according to the distance of looking for a car, it is calculated where the road point farthest to the passenger boarding point is, thereby obtaining road latitude and longitude data. According to the road latitude and longitude line data obtained from the road directed graph, plus the width of each section of the road to obtain the "belt" latitude and longitude range of the road. Then judge with the actual latitude and longitude of the vehicle whether the vehicle is on the road "belt". If the latitude and longitude of the vehicle are within the range of the road "belt", it means that the vehicle is running on a qualified road. Although the combination of graph traversal and the maximum distance of traversal can realize the search of vehicles, how to set the starting point on the road "map", that is, how to make the passengers boarding point fall on the road, after all, the road position where many passengers board the vehicle is not It must be on the road maintained by the system, and it is also possible that the latitude and longitude are just in the community. This situation is difficult to deal with without very detailed city latitude and longitude data, because you cannot simply pan to the road with the passenger’s latitude and longitude as the passenger’s boarding latitude and longitude, because it is very likely that the passenger is in the community, leaving the passenger to board the vehicle with the nearest latitude and longitude The road is just separated by the community wall. In order to judge the nearest road, very detailed map data is required, and it needs to be accurate to the gate of the community. In order to reduce the investment in the project, the system can only agree that the longitude and latitude of the passenger boarding point shall be based on the longitude and latitude of the road.
In the basic road library data process, the road library data needs to be placed on the actual road. Imagine a scenario where the system receives a passenger’s boarding latitude and longitude, and the system needs to quickly traverse from the urban road data to the road "segment" where the passenger boarding latitude and longitude is located. And according to this road “section” to obtain the road “section” connected to the road “section”, of course, we only need to obtain the longitude and latitude linear distance of the car is less than the maximum distance specified for finding a car, because the linear distance between two points is the shortest , If the straight-line distance has exceeded the maximum distance of finding a car, then the actual curve distance of the road will definitely exceed the maximum distance of finding a car. According to all the road "sections" found that meet the maximum distance of finding a car and connected with the road direction where the passengers boarded the vehicle, the road "belt" is obtained according to the road width defined by each road "section". Therefore, the main work in the implementation process is to build a road model and how to quickly obtain the road connected with the longitude and latitude of passengers boarding. For road data structure, first consider dividing an actual road data into "segments". Assuming that the longest “section” is divided by the length of 1 km, the entire Shanghai city is taken as an example. The total length of Shanghai highways is about 11,000 kilometers, and the total length of urban roads is about 4,400 kilometers. Even if the data volume of road segment is divided by 1 km, it is an important attribute of a small order of magnitude considering the road "segment".
The most basic and most critical function of vehicle scheduling is to find the right vehicle quickly and accurately. This chapter introduces and analyzes the basic principles of car-finding and the realization, advantages and disadvantages of several car-finding methods. From the most common distance to find a car to a grid to find a car, and finally combine the design and implementation of the precise car search with urban road information. Although there is a large amount of tedious maintenance and management of urban basic road data in the precise car-finding design process combined with road information, this method of car-finding will become more and more perfect with road information and customers’ The requirements for dispatching accuracy are getting higher and higher. After all, the more accurate the search for a car, the more it can reduce the empty mileage of the vehicle and reduce unnecessary fuel consumption, and the driver's enthusiasm will become higher and higher. The scheduling method of car-finding with precise car-finding combined with road geographic information will be more and more widely used in the future.
Data analysis and application
Taxi parking problem


The most troublesome thing for the transportation bureaus in various places is that the taxis in their jurisdictions send out strikes and stop driving incidents. Not only does it affect citizens' travel, but the bigger reason is that the bad scope of influence greatly affects the stability and unity of society. It can be said that the suspension of taxis is the top priority for the Transportation Bureau to maintain stability. In recent years, due to various reasons, taxi strikes and suspensions have occurred from time to time. The way to solve taxi suspensions is basically the government administrative intervention method, and the GPS monitoring platform is basically in the auxiliary role in the event of an accident. Analyze according to the process of solving the problem of taxi stop. The government generally can only take the method of suppressing taxi companies, and some companies come forward to do the ideological work of drivers. The main reason for drivers to stop driving is nothing more than low income and excessive work intensity. The GPS system only plays a part of the monitoring role, and the government still needs to send a large number of staff to visit. However, can the GPS-based taxi dispatch and monitoring platform only play a part of the monitoring role? After analysis and thinking, practical and theoretical analysis. The GPS-based taxi dispatching and monitoring system is fully capable of pre-prevention, pre-remind, monitoring during the event, and summary after the event.
Prevent beforehand
The general structure of the domestic taxi industry from government to driver is basically the same. Basically, the government has administrative power to govern the operation of taxi companies within its jurisdiction; taxi companies have the right to operate taxis and transfer the daily operation of taxis to the driver by charging the driver a certain management fee every month; the driver is responsible for driving . Fuel costs, repair costs, and fines for violations of rules and regulations are basically borne by the driver. The management fee paid to a taxi company basically accounts for about 2/3 of the driver's monthly revenue. Through the communication with government staff and the understanding from the taxi driver in the process of handling the suspension of several incidents, it was found that there are roughly two reasons for the suspension of the taxi:

The driver's income is too low;
2. There are leaders incited And organization.By combining the cause of the stoppage event with the actual situation of the GPS-based taxi dispatch and monitoring system, the system can give the relevant departments a reminder in advance. Let us analyze the actual situation: taxis run in the streets and alleys of the city. It is precisely because of its mobility that brings its management complexity. The most important device inside the taxi is the meter, which records the detailed information of each business of the driver. Including amount, start and end time, mileage, etc. The GPS terminal installed on the taxi establishes a real-time connection between the taxi and the taximeter in the car and the system through wireless communication on the terminal. Managers can control and manage these taxis. Through the communication module system on the terminal, you can grasp the meter record of each vehicle and the daily income. Through these two index systems, each driver's monthly basic income can be analyzed. According to the monthly income, it can be judged which drivers are likely to be instigated, and the management department can take a variety of measures to eliminate hidden dangers and budding. For example, companies can interview low-income drivers in a way that they care about their employees, learn about the drivers’ difficulties in time and provide certain difficulties subsidies, or increase the actual income of the drivers by imparting good work experience. The idea of ​​precaution has been clear: through statistical analysis of the actual revenue of the driver to determine whether the driver has the possibility of stopping. Through face-to-face communication with low-income drivers in advance and other methods, try to solve the actual difficulties of drivers, care for low-income drivers, and show the company's care for drivers to achieve the effect of preventing problems before they occur. In this process, the system plays a role in accurately judging the interviewee beforehand, avoiding the company's aimless, and making the company's work more purposeful and effective. The main data basis for the realization method is the revenue data of the taximeter in the taxi, and the taxi meter record. Therefore, the meter must provide a data interface to the GPS vehicle terminal, and the data can be "spit" to the vehicle terminal after each service. After receiving the data, the vehicle-mounted terminal confirms and sends a confirmation feedback message to the meter. The vehicle-mounted terminal uploads the meter data to the system through the wireless communication module. After the system receives the data, it stores it in the database and sends a feedback message confirming the receipt to the vehicle-mounted terminal. In theory, the integrity of the data is guaranteed to be delivered by sending a confirmation feedback message. On the other hand, the system needs to set various data thresholds according to the actual situation in various places to determine the degree of deviation between the uploaded data and the actual situation to determine whether the data is "trustworthy". For example, setting the daily average number of "metering", the maximum operating amount of single difference, etc. The system generates comparison results according to various set data thresholds for managers to judge.
Taking into account the huge amount of data on the revenue data of taxis, 80 revenue data per vehicle per day to calculate the daily operating data records of 10,000 vehicles is 800,000. Consider adopting the partition table to realize the design process. That is, one partition table per month. Take the actual occurrence time of the uploaded operating data as the key of the partition table and partition table. Automatic statistics are done once a day to calculate the total daily revenue of each vehicle, as well as the number of metering, operating mileage and empty driving mileage per day. The number of meters is used to determine whether the driver’s revenue is in line with the actual situation, and the operating mileage and empty mileage are compared to determine whether the goal of fuel consumption can be saved by reducing the empty mileage.
Remind beforehand
How to remind the management as soon as possible when the driver stopped the gathering incident, and give the management enough time to understand the actual situation and make a solution plan? This is also a function that the management department attaches great importance to. The driver's purpose of the taxi stop incident is to expand the social impact and to get the attention of relevant departments and listen to their demands. Therefore, in the event of a taxi stop, vehicles will gather at several influential locations in the city. Therefore, the system can adopt two methods when designing and judging stop and gathering: 1) Pre-set the monitoring area to determine the real-time number of vehicles and vehicle status in the area; 2) Do not set the monitoring area in advance, and completely follow the city limits. The refined area is used to determine whether the vehicles are gathering. These two methods are generally based on method one, and method two as a supplement. The design and implementation of the pre-set monitoring area is: pre-set the area on the map, which can be polygon, circle and other different shapes. The system generates area objects in the background according to the set shape type and latitude and longitude points. The latitude and longitude uploaded in real time determine whether the vehicle is in the area. For example, in the polygon monitoring area, the system generates Polygon polygon objects based on the points of the polygon selected by the user on the map, and judges whether the vehicle is in the area based on the latitude and longitude information of each vehicle. Once vehicles are in an area for more than a certain range, the system judges that these vehicles are suspected of gathering. Once the number of vehicles in a monitoring area exceeds the threshold set by the management personnel, the system will start alarming and notify relevant personnel to pay attention through mobile phone text messages and monitoring map pop-ups. The system also provides detailed information about vehicles in the key monitoring area, such as Company, driver’s name, etc. If it is judged that a real gathering event is taking place, the relevant departments can coordinate with the traffic police to prevent the vehicles from continuing to gather in the area, and at the same time, according to the vehicle company provided by the system to issue supervision orders to the enterprise, etc., prompt the person in charge of the enterprise to recall each other on the spot Business drivers and vehicles. In short, the purpose is to seize the time to deal with the situation before it expands and try to avoid the expansion of the situation.
The idea of ​​randomly monitoring the number of vehicles in an area is to determine whether the number of vehicles within any one kilometer of the city exceeds a certain threshold. Since the area to be judged is an arbitrary combination, the system needs to make statistical judgments by combining small areas into large areas in the implementation process. For example, the area of 1 kilometer is divided into 9 small areas of 100 meters. If the threshold of vehicles in a 1 kilometer area is 30, if the number of vehicles in every 100 meters area exceeds 4, the total number of vehicles in the 100 meters area may add up to the threshold of 30 vehicles. Therefore, the monitoring range of the system is transformed into monitoring in a small area of ​​100 meters. The design and implementation of the random monitoring area is as follows: the system subdivides the entire city into areas every 100 meters according to the location of the city and the geographic latitude and longitude range. The subdivided area sets the threshold for the number of vehicles. The system judges based on the number of vehicles in a small area, and once the threshold is reached, it judges whether the total number of vehicles in the surrounding area reaches the alarm threshold for the number of monitored vehicles. With the improvement of taxi drivers' understanding of GPS terminals, the monitoring platform also needs to give early warning of abnormal GPS data upload. For example, the number of vehicle communication anomalies has risen sharply over a period of time, and the number of vehicles on the monitoring map has risen sharply for positioning, etc., are also data indicators that the management department needs to be vigilant about.
In-event monitoring
In the process of stopping and gathering events, the monitoring area can be designated through the system, and the number of vehicles in the area and basic information such as the company and the driver of the vehicle can be counted in real time. Recall drivers through enterprises.
Summary afterwards
Gathering suspension usually lasts for a few days or even more than a week. Afterwards, it is necessary to conduct statistical analysis on the drivers and units involved in the gathering. The system can calculate the accumulated length of stay in the parking area during the duration of the aggregate parking based on the historical trajectory information of the vehicle to determine the depth of the driver's participation in the parking. It can judge whether the vehicle has disrupted the communication of the on-board terminal by collecting the statistics of the vehicle on-line rate during the duration of the aggregate stop. Provide data support for the government and enterprises to find and gather the organizers of the suspension event.
As the focus of urban stability maintenance, taxi stop and gathering has attracted the attention of many cities. The monitoring function in the GPS-based taxi dispatching and monitoring platform mainly provides the precautionary and pre-warning functions of stop-driving gathering events. The main cause of conflict based on the occurrence of stop-driving gathering incidents can also reduce the driver's empty driving rate through the function of GPS dispatching, reduce the driver's empty driving fuel consumption, and reduce the driver's expenditure to provide assistance.
Reduce road congestion and fuel consumption
With the rapid development of the domestic economy, traffic jams in various cities have become increasingly serious. The contradictions caused by traffic congestion in domestic first-tier cities such as Beijing, Shanghai, and Guangzhou have become increasingly prominent. Even more serious is that urban traffic congestion has spread from first-tier cities to second- and third-tier cities. Although many large cities have begun to explore some restrictive measures to reduce vehicle travel in order to achieve the purpose of alleviating urban road congestion, such as Beijing's odd and even number, Shanghai's license plate auction and so on. Some cities have even begun to plan to levy urban congestion charges. However, the phenomenon of urban traffic congestion has not yet been improved. On the contrary, with the development of the national economy and the improvement of the people's living standards, the people's demand for buying cars has become stronger, and the contradiction of urban road congestion has become more prominent. The way to assist in reducing road congestion is to consider gradually replacing the roadside taxi-hailing method through vehicle scheduling. According to statistics, taking Shanghai as an example, the empty mileage of taxis accounts for more than 40% of the total mileage. That is
It is said that nearly half of the oil in taxis is wasted a day, and nearly half of the cars are driving on the road. This not only wastes gas money, increases the labor intensity of drivers, but also takes up valuable urban road resources. Imagine that if the current domestic taxi-hailing system is changed from a public call to a telephone-hailing dispatching method, then the taxi will be resting when there are no passengers, that is, it saves gas and reduces labor intensity and releases the city's road resources. The change of a concept is a gradual process. Taxi roadside recruitment is a model that has been formed from the beginning of the taxi industry, and it has been a common business model from home to abroad. The gradual transition from recruiting to telephone dispatching requires not only changing the working habits of drivers, but more importantly, changing the thinking habits of passengers. At present, domestic and some cities have begun to establish urban-based taxi dispatch platforms, such as Wuxi, Nanchang, Wenzhou and so on. And by installing LED advertising screens on taxis to achieve a balance of payments and minimize government funding. Moreover, urban-level taxi dispatch platforms in cities like Wuxi and Nanchang can basically achieve self-sufficiency from personnel to system maintenance. From this point of view, the city-level taxi dispatch platform is completely achievable in terms of capital investment. Take Wuxi as an example. There are about 4,000 taxis in Wuxi. The dispatch platform was built two years ago. From the initial call of dozens of passengers a day to call for taxis, to the end of 2010, there were an average of more than 6,000 successful dispatches per day. More than 8000. It not only greatly facilitates the travel of Wuxi citizens, but more importantly, lets the phone call
The new car-hailing model of the car is beginning to take root. The increase in the number of phone calls and the number of successful dispatches can be sent
The current mode of calling a car is acceptable to the public, and drivers are willing to cooperate.
How to reasonably distribute the capacity of taxis through data analysis is also the only way to gradually realize the conversion of taxis from hiring to ESC. If taxis rely mainly on ESCs, which means reducing empty driving on the road, it will also bring about a contradiction, that is, the opportunities for the driver to see passengers become less, and the driver's income will be reduced. How to keep the taxi in the area where the car is used, that is, it can reach the passenger boarding position as soon as possible after receiving the order from the dispatch center to reduce the empty mileage and consider that the driver should drive the vehicle to that area to wait after sending the passengers New business. In short, in order to achieve this transition from the driver’s transfer to the ESC mode, the driver’s two problems must be solved first: 1) How to ensure a certain amount of taxi ESC business; 2) How to divide the vehicle's usual parking area reasonable. If these two problems are not resolved, it is impossible to achieve the goal of business model transformation. Based on the statistical data analysis of the three taxi companies in Shanghai, Volkswagen, Jinjiang, and Bus, it is found that, except for buses that can achieve a daily dispatch business of more than 2 transactions per vehicle, the average number of successful dispatch operations for Volkswagen and Jinjiang is only About 1 pen. The number of successful dispatches for Volkswagen in one day is about 12,000, Jinjiang is about 4,000, and buses can reach 8,000. Divided by the number of vehicles corresponding to their three companies, it can be found that the current number of ESC services cannot meet the daily business indicators of drivers. This is the root cause that drivers will still choose to recruit as their main mode of operation. Moreover, the ESC business of these three taxi companies has been in operation for more than five years. Based on the speed of this ESC business, it is basically foreseeable that if there is no administrative intervention, it will not be possible to automatically switch from raising recruitment to ESC. The business model came up. So what can a GPS-based taxi dispatch platform do to promote the conversion of this business model?
Through the data analysis advantages of the platform, we can provide drivers with reasonable car use areas and other ways that are helpful to the drivers, so as to achieve the platform's goal of deepening the hearts of the drivers. That is to say, the system not only plays the role of dispatching and monitoring from the perspective of the management, but also needs to play the role of analysis and guidance from the perspective of the driver, so as to provide practical help to increase the income of the driver and ensure the safety of the driver. Through the data analysis of the passenger's boarding point and the boarding time period, the driver indicates the areas where the passenger car volume is relatively high during those time periods, and the historical number of vehicles used in each area and time period forms a daily historical data comparison. In the actual operation process, if the number of taxi vehicles in this area exceeds a certain percentage during these periods, the system can alarm and send a message to all vehicles to remind the area that the vehicles have become saturated, and vehicles can consider going to other areas to prevent empty driving . And based on the historical data of the area and time period and the number of vehicles in the area of ​​the day, it is judged which areas are still in a state of shortage of vehicles, and the driver is guided by sending messages to nearby vehicles. Through the analysis and guidance from the driver's perspective, the confidence and prestige of the dispatching platform is gradually established among the drivers, so that the driver will turn from doubt to trust to rely on the dispatching platform. The on-board terminal has closely linked the vehicle and the system. As long as the management communicates more than the driver to understand the driver’s ideas, and proposes reasonable solutions and management methods from a management perspective, I believe that the driver is in the platform to achieve practical benefits. Simultaneously The investment of enterprises and governments can also be tangibly rewarded. It is bound to be that the current ESC business with less than 2 transactions per car per day is not high for companies that have invested heavily in building systems in the early stage. Reducing urban road congestion and fuel consumption through taxi dispatching is a long way to go. The difficulty lies in the conversion of habitual working methods and new working methods that are still incapable of management and practical application. Prove that it can replace the old way of working that is based on advocacy. However, the system can still play a certain role in reducing the driver's empty driving and reducing fuel consumption. Although the position of Yang Zhao cannot be replaced by ESC at present, from the analysis of ESC data in domestic cities such as Shanghai, Wuxi, Nanchang, and Wenzhou, The method of ESC is slowly beginning to be accepted by passengers and drivers. It's just that there is still a long way to go to further expand and replace Yang Zhao as the main means of attracting passengers.
GPS-based taxi dispatching and monitoring system  technology is not a new set of technologies. As an application in the taxi industry, it has slowly begun to enter the use stage on a large scale. The realization of a taxi dispatch and monitoring platform has gradually become a must on the road of enterprise and government management and information construction.
Today, the number of vehicles connected to the platform is increasing, and the function of calculating the degree of road congestion can be gradually achieved through the platform. The investment in calculating whether the city road traffic is congested is very expensive. Taking the speed measuring coil laid on the high-speed driving road as an example, not only the investment is huge, but the maintenance workload is also huge. Through the real-time running speed of the taxis connected to the platform and the road where the latitude and longitude are located, as long as the connected vehicles reach a certain proportion, it can be used to achieve the basis of real-time road conditions of urban roads. This technology that relies on the basic data of the taxi dispatching and monitoring platform to access vehicles to determine the real-time road conditions of urban roads is currently in the research and preliminary use stage. It is believed that the application of this technology will be more perfect and popular in the future. Of course, this kind of road condition analysis also has certain limitations. After all, the distribution of taxis on urban roads does not reach the various roads of the city. Therefore, the data of road congestion analysis cannot be complete, but it is an economical The basic data source method of road analysis, the data source and analysis of GPS-based taxi dispatch and monitoring system are still trustworthy and cannot be ignored.
In the future with the continuous development and improvement of mobile communication technology, GPS-based taxi dispatch and monitoring systems can achieve many things that are currently desired but cannot be achieved through high-speed and high-bandwidth wireless communication networks. For example, real-time monitoring of the actual situation in the car, real-time monitoring of the actual situation in the car, and other tasks that require network bandwidth. At present, the monitoring of the situation in the car basically uses a camera to take pictures, such as taking pictures when passengers get in the car, take pictures when passengers get off, and take pictures when the vehicle is alarmed. And transmitted to the server through the wireless communication network. Due to the limitation of bandwidth, the sharpness of photos taken will be limited. If a 4G network is adopted, the network bandwidth will be able to withstand the upload of video surveillance data, and the system can achieve real-time viewing of every move in the car. With the continuous development of smart phones, it is very common for mobile phones to support GPS positioning. The GPS-based taxi dispatch system can even be developed in the direction of online car booking. Passengers can directly use a mobile phone with GPS positioning function to book a vehicle, the system can directly obtain GPS positioning data on the passenger's mobile phone, and generate passenger car orders, which can more accurately obtain passengers' boarding latitude and longitude.

Post time: Sep-04-2020