Advanced GIS-based Multi-Function Support System for Identifying the Best Route

: Geographic Information Systems (GIS) are obtaining a significant role in handling strategic applications in which data are organized as records of multiple layers in a database. Furthermore, GIS provide multi-functions like data collection, analysis, and presentation. Geographic information systems have assured their competence in diverse fields of study via handling various problems for numerous applications. However, handling a large volume of data in the GIS remains an important issue. The biggest obstacle is designing a spatial decision-making framework focused on GIS that manages a broad range of specific data to achieve the right performance. It is very useful to support decision-makers by providing GIS-based decision support systems that significantly reduce the cost involved when moving between two locations. Therefore, in this paper, an advanced decision support system is built for identifying the best route between two locations according to various criteria such as distance, travel time, the safety of the road, and other features. The proposed model includes several stages; Google Maps downloading, preprocessing, integrating with the database, and identifying the best route by utilizing advanced algorithms of artificial intelligence. Furthermore, the Open Street Maps (OSM) database is utilized in this model and implemented using the Quantum Geographic Information Systems (QGIS) platform. One of the main merits of this model is to be faster by removing the influence of non-processed data like null values and unlinked roads on offline google maps levels. The outcomes of this proposed model display the best route which connects the source with the destination, and a table including the entire information for this route.


Introduction:
The information systems represent organized combinations of people, software, hardware, data resources, communications networks, and procedures and policies that transform, disseminate, store, retrieve information in any organization. The information systems can be classified into operation support systems and management support systems. There is another type of information systems called multi-function support systems which can be either operation support systems or management support systems and even some have various functionalities. The geographic information systems (GIS) represents an example of multi-function Support Systems 1 .
GIS is utilized for displaying information over the surface of Earth. This information could be concerned with a specific area, geography, or demography. Because it is visualized throughout the earth, it is effortless for interpreting and understanding. Therefore, numerous organizations over the world intend to display information using GIS 2 .
The GIS traditions are depending on the maps, and until now it is prevalent for introducing GIS by representing maps contents in the databases of the computer. GIS displays the objects of the real world on maps and user-friendly spatial tools to achieve a complex task. Generally, it is utilized for displaying, manipulating, and analyzing spatial data (map) that include a reference to each place 3 .
The technology of GIS gives the ability of a network system and spatial data to represent real data for producing various types of maps. The ability of the chosen model is for solving the issue of identifying the best route between the locations 4 . In this paper, a model for a decision support system that provides an algorithm of artificial intelligence has been proposed to allow users to determine the optimal route. In this proposed model, the offline google maps data are improved via revising the data on each level on the map and finding a connection between the data of those levels. One of the main merits of this model is to be faster by removing the influence of non-processed data like null values and unlinked roads on offline google maps levels. The paper construction is as follows; the related works are reviewed in the next section, then, some materials are listed, after that, the proposed model is explained in detail with the experimental results. Finally, the main conclusions and future works are drawn in the last section.

Related Works
Recently, the maps of Google Earth are utilized via various scientific institutions in which the researchers are interested in finding out how the design of the scholastic library implemented using Google Maps. In accordance with the last studies, there are over 90 % of researchers utilize the Maps of Google Earth for addressing academics, advertising, manufacturing, etc. 5 .
Krichen S et al. 6 , presented an integration of the GIS with the tabu optimization algorithm for constituting effective tools to find the optimal or near-optimal solution for the problem of vehicle routing in Tunisia with the requirements of distance and loading. This proposed model provides encouraging results which represent an incentive to address large issues, as in handling 100 customers inside a larger geographic area.
Abousaeidi M et al. 7 , suggested a GIS model for determining the fastest route to deliver fresh vegetables in Malaysia. In this model, a software of ArcGIS with the extension of network analyst was utilized for solving the complex networks problem. The last outcome for this model is a map of the fastest routes with the optimal times of delivery depending on effective variables like residential area and population.
Francini M et al. 8 , suggested a methodology that works on addressing the problems that are related to the seismic event which lead to obstructions on the roads. On the basis of the GIS platform, this methodology can provide the possibility of accessing the affected areas by planning the best routes in the case of limited conditions and in the case of addressing suitable priorities to diverse buildings on the basis of road use and cost considerations. The obtained outcomes from the experiment have paved the way for future expansions in solving other emergency management problems.
Wenzheng L et al. 9 , presented an improved Dijkstra's algorithm to find the shortest route from an arbitrarily chosen location to the destination to be used for different domains such as finding the optimal roads, controlling robotics, etc. This algorithm works on analyzing a property on a 2D eight neighbour grid map, and in this property, every location only requires to be computed once for getting the shortest distance to the destination; therefore, the improved algorithm can provide less time than the original algorithm.
Most of these related works concentrate on the problem of the shortest path in which the travel time or the distance from a source to a destination are considered to select the optimal route. But, these considerations are not sufficient in real-life traffic. Additionally, these related works have ignored the concept of finding the balance between speed and ease of implementation. So, in this proposed model, we intend to identify the shortest, realistic, and feasible route that takes turn restrictions constraint into consideration, and to assist the user to choose the top path from a variety of options depending on any feature the user selects such as length, travel time, the safety of the road, and other features. Furthermore, the proposed model includes a userfriendly interface that allows users to interact and communicate the other applications with ease

Materials andMethods: Quantum Geographic Information Systems (QGIS)
QGIS represents the most famous user friendly open-source GIS. It is a multipurpose, free GIS system that can be used for spatial information creation, modification, view, and visualization. The QGIS Program delivers servers, software for embedded web mapping, and personalized modeling to satisfy mobile device specifications. QGIS is running on the majority of Linux and Unix systems, Windows and Mac OS X have been released under the General Public License (GPL). The QGIS core is produced with both the Qt toolkit and C++. Nonetheless, QGIS provides an application programming interface (API) framework, whose features are used for extending Python. The versatile cachepot Python interface is effective at using the GIS capability and includes a number of programming tools and languages to extend the cachepot. This trend has been obvious since QGIS 0.9 launched the QGIS Python API in 2007 when new developers started adding functionality using Python plug-ins that give powerful QGIS support 10 .
In Python, the system framework has been refined. This gives a combination of these quantitative technologies to QGIS, the processing has been produced with the following main features in mind to facilitate their use and make them more efficient 11 ; 1-Efficiency: It allows for effective convergence of computational capabilities when linking to other software's initial plugins, like GRASS GIS, SAGA, and ORFEO Toolbox.
2-Modularity: The system provides additional classes with the often-needed modular implementation routines to facilitate algorithm delivery and to maintain stable behavior.
3-Flexibility: The introduced methodology can also be used again for any Graphical Software included in the application, like the visual modeling device or the batch processing interface. The developer of the algorithm is not further developed, because this simplicity is a feature of all processing unit build-up algorithms.
4-The generation of automatic GUI: The developers should focus on the algorithm itself instead of the GUI functions. Processing shall produce GUIs based upon the algorithm definition.
These features have enabled the platform of QGIS to be suitable for the objective of the proposed system here. However, the problems related to QGIS are the high overhead of configuration to its initial setup and the complication in providing operational stability that represents a concerning matter with all open-source platforms. In this paper, a developed QGIS has been presented in which python, C++, and SQL are used as programming languages.

Spatial Decision Support System
Spatial Decision Support System usually uses a range of time and space data such as land use information, transportation, information about water resources, population, agricultural development, climate, and job opportunities. The draft can be designed to evaluate different geographic strategic decisions through the use of two or more historic levels. In fact, the assessments can be made. Space architects may use these methods to measure the effects of various circumstances and also provide insight for intelligent decisions. A user-friendly interface requires simple changes to allow the process to be modified to accommodate future adjustments. Managers use computer-based support mechanisms to collect useful information, policymaking concepts, simulation, and in support of decision-making by using business intelligence technologies. The DBMSs are engineered for maps and space query support. The Spatial Decision Support System database needs three data kinds to be integrated; maps, spatial queries, and analytical modeling. Firstly, local spatial primitives such as coordinates and chains; Secondly, topological Objects with a characteristic, such as points, nodes, lines, and their relationships; Thirdly, topological characteristics such as population, and vegetation. The database must allow the user to build and exploit complex spatial relationships on a variety of scales, degrees of resolution, and aggregation levels between all three types of data. Database management systems that have been identified in many GIS use the conceptual data model. Alternate data designs have proven effective in decision support system implementations. The expanded network model is an improved version of the network model and can be used to represent transport network connections and nodes transport networks that are a common framework for implementing spatial decision support systems given the importance of site selection technologies and the availability of analytical methods 12 .
In this paper, the major intent of the spatial decision support system is to specify the best route based on features determined by a user, this means that the user is capable of selecting which features the system will use to compute the shortest path using an advanced algorithm of artificial intelligence

The Proposed Model of GIS-based Multi-Function Support System:
The proposed model includes several stages; Google Maps downloading, preprocessing, integrating with the database, and identifying the best route. The general block diagram of the proposed model is shown in Fig. 1.

Google Maps Downloading
The first stage in this proposed model is downloading the Open Street Maps (OSM) database via utilizing QGIS. In this stage, firstly the data are downloaded as OSM file format, then the OSM file is converted to a file of a spatial database. After that, the database file is separated into two levels which are lines, and polygons. Fig. 2 shows the map of Baghdad which represents the study area, and how the two levels appear on this map in QGIS. In this figure, the lines represent the roads, and the polygons represent the buildings.  When working directly on online Google Maps data, then it is not possible to make any modification to the search algorithms or to apply any new algorithms; therefore, the data must be downloaded from Google Maps. The offline google maps data will be incomplete and contain lots of null values and unlinked roads; therefore, preprocessing must be done so that the proposed model can accomplish the required task in the shortest possible time.

Data Preprocessing
The preprocessing stage represents the manipulation of the network data downloaded from google open street maps which is an important step in the later stages of the proposed model. The process of analyzing data that has not been carefully screened for such problems can produce misleading results. Furthermore, the existence of irrelevant and redundant information or noisy and unreliable data can make the stage of identifying the best route more difficult. Thus, the network data preprocessing is an essential stage to make the model works in an efficient way. This stage includes several steps; Network provision, specifying the center of polygons, connecters addition, and specifying the transport network.
The open street map lines-level represents the input to the step of network provision in which each line is labeled with start and endpoints via computing the total length of each line (even it is a curvy road). Unique identifiers and directions to each road or line are given to these points. A lineslevel with newly added features and a nodes-level represent the output of this step. This step works on decreasing the time required for finding the path between the two lines-level with n and m nodes as features. Fig. 3 shows a sample of the output of the network provision stage on the map. In this figure, the information of the lines-level is taken as input and the beginning and ending points are added for each line for decreasing the points needed for representing the lines. There are two processes within QGIS tool packages that are utilized to make polygons-level recognizable by the lines-level. The first process is an algorithm specifying the center of polygons in which the centers of all polygons are computed and assigned as points. The outcomes of this process are shown in Fig. 4. In this figure, the centers of polygons are calculated and referred to as points that hold all the polygons' features, afterwards, these points can be connected with lines-level by utilizing the second process for making the places on the map are recognizable via roads. In the second process, a new line or lines will be assigned for connecting the center point of each polygon with the closest line or lines. The polygons (buildings) may have multiple entrances or access points; therefore, more connections can be added to the center point of the polygon to connect these entrances with the closest line or lines. The input to this process is the lines-level, nodes-level, and center points-level, and the output is lines-level with newly added links, and new nodes-level. Fig. 5 shows the outcomes of the second process. The last step in the preprocessing stage is the process of specifying the transport network in which the users are able to set the fundamental required features like (cost, n-node, m-node, linkid), and ignore the other unrequited attributes, in addition, initialize new features to each road like (speed, capacity, direction) for improving final results. The output of this step is the SQLite database which includes the whole records of links and nodes-level.

Database Integration
This stage includes two steps for integrating the results of the previous stage with the last interface which interacts with the users.
Because the whole data are temporarily saved on random access memory, the database is required for saving the final results of all previous stages. The output of the previous stage (SQLite format) which includes links and nodes-level should be exported and integrated with the database of PostgreSQL. To accomplish these processes; Firstly, reading the file of SQLite with a spatiality database engine in QGIS; Secondly, exporting the levels to the exterior position on disk (as shapefile format); Thirdly, utilizing shapefile exporter for saving data in the database of PostgreSQL. Finally, utilizing the pgAdmin DMS to the processes of editing and modification.

Best Route Identification
The process of identifying the best route represents the final stage in the proposed model which works on connecting to the database of PostgreSQL, analyzing data, and displays it. The utilization of artificial intelligence algorithms assists users to provide optimal results. The utilized algorithm of artificial intelligence represents an advancement of Dijkstra's algorithm and uses extra information on turn restrictions.
The links-level can be represented as a directed graph of (V, E) pairs, where, V indicates a set of nodes (road intersections), "V= {1, …, n}", and E indicates a set of edges (road segments), "E= {e 1 , …, e m }". Every edge e k = (i, j) ∈ E, node "I" and node "j" ∈ V. Furthermore, each e k ∈ E holds positive features f(e k ) = f(i, j), such as the distance, travel time, the safety of the road, and other features between i and j nodes. Generally, the turn restrictions should be considered in the road networks. The existence of no U-turn no-left, and no-right signs work on constraining the car movement at the intersection. In formal, R represents all the turns in the road network, and A represents the allowed turns which is a subset of R. The walk W is said to be feasible, when W follows turn restrictions at the intersections, in other words, W becomes feasible when the edges created via sequential nodes in W belong to A.
The utilized algorithm of artificial intelligence works on maintaining information about distances and labels of visited roads, rather than nodes as in the Dijkstra's algorithm. When the algorithm is started, interim labels are given to those roads deriving from the beginning node. At each iteration, the algorithm selects the temporary labeled road with less traveling time from the beginning node. A permanent label is given to this road and the traveling time to the reachable roads is updated. If there are no more roads of temporary labels or a road accident to the last node is accessed, then the algorithm is stopped. For a given edge (road) e k ∈ E, let t(e k ) be the shortest traveling time from the beginning node is ∈ V to the road e k , involving distance f(e k ), and let p(e k ) be the previous road to road e k in the shortest route. Suppose X is the sets of permanently labeled roads and Y is the set of temporarily labeled roads. The proposed algorithm for identifying the best route is explained in Algorithm 1.

The Experimental Results:
The proposed system is implemented using the QGIS platform and (python, C++, SQL) as a programming language, through the environment, windows (10) operating system, Lenovo ThinkPad computer (processor: Intel core7, CPU: 2.7 GHz and RAM: 16GB).
The database of PostgreSQL is utilized for validating the proposed model performance. This database includes more than (30000) records to the points-level, (50000) records to the lines-level, and (3000) records to the polygons-level. Table 1 and Table 2 demonstrate samples of the fundamental  features table to   The steps of the preprocessing stage provide results works on enhancing the levels to obtain optimal processing and minimal computation time. The network provision step takes the information of the lines-level as input and adds beginning and ending points for each line. This step works on decreasing the points needed for representing the lines. Table 3   After that, the polygons-level and the lineslevel are connected. As a result, all the polygons can be accessed by the network-level. The networklevel includes numerous nonessential information that requires to be eliminated and insert new information for all roads like capacity, speed, and cost of roads for forward and backward directions. Table 4 demonstrates the results of specifying the transport network. In Table 4, the columns indicate a unique identifier, beginning (n_node) and end (m_node) points for the road, the direction (either one (nmdirected road) or zero (mn directed road), the capacity, the speed limit, and the length in kilometer for the roads in the maps. The spatial decision support system represents the final stage in the proposed model that encompasses an advanced artificial intelligence algorithm with all the tools for assisting the users to identify the best route. The users require to select the field of cost, and the beginning and end points, then the model displays the best route between these specified points. Table 5. explains an example of the best rout starting from node 14919 and ending at node 13872 with a total cost of 0.108748.

Conclusion:
In this paper, an effective continuous combination of geographic processing tools from a diversity of sources into the Quantum GIS has been delivered. This original construction was premeditated to incapacitated problems with prior applications of geo-processing implements in QGIS, like the nonexistence of operator interface and performance reliability, widespread code replication, and nonexistence of mechanization abilities. The main objective of the proposed multifunction support model is to assist the user to choose the top path from a variety of options depending on any feature the user selects such as length, travel time, the safety of the road, and other features. In this proposed model, the users are capable of varying the experience level utilizing the model with no requirement for any earlier accessing or training of the results. Additionally, utilizing advanced algorithm of artificial intelligence for identifying the best solutions to problems that users face does not need to redesign the system from scratch. In future works, there is much space for further improvements; one of these improvements is to make the system work in real-time by using sensors to locating the current location of the user and updating the algorithm of pathfinding with new input whenever the user changes his location.