All transport models are GIS systems representing information about transport networks spatially but several bespoke GIS software packages are available that include features to make the process of building the models easier. These are often a good platform on which to build accessibility models. Network analysis tools can be used to investigate networks within a GIS. Common applications of network analysis tools include service area and closest facility investigations as well as routing optimisation including finding the shortest path and the ‘travelling salesman problem’ (TSP). The TSP referrers to a situation where the optimal route is determined to visit several sites in the most efficient manner.
Network analysis including TSP routing, is an important component of accessibility analysis as this technique is able to determine where people will probably go, how they get there and the associated cost (by time, distance or other defined measures) of getting there. Network analysis can also integrate with other GIS applications to combine data which impacts upon accessibility such as point-of-interest data, property data and land use activity.
Combining land use data with network analysis tools can involve a highly repetitive process that lends itself to automation. Where an analysis is undertaken to the level of individual properties, the quantity of data renders manual processing impractical. Several GIS products allow for the creation of model building and/or customised scripts to automate common analysis tasks. Examples include Python scripting for ArcGIS, ArcObjects software development kit (SDK) for ESRI products or MapBasic for MapInfo.
The ArcGIS Network Analyst product from ESRI enables users to build node edge networks from existing polyline vector data. Network datasets can quickly become highly complex as they are capable of storing features such as one-way streets, turn restrictions, speed limits and travel times. Building network datasets in ArcGIS is a complicated task due to the quantity and level of detail involved in a road network. A nationwide New Zealand road network dataset already exists; details of this dataset are provided later in this chapter.
ArcGIS has several methods for customising tools and automating analysis. The most simple of these is ModelBuilder. ModelBuilder for ArcGIS is a graphical tool used for constructing geoprocessing models. It uses a drag and drop approach. The output of each step is then run through various operations until the desired output is reached. ModelBuilder allows non-programmers to create customised models that can be run iteratively on large datasets. ModelBuilder is also able to export built models as python scripts for further customisation. These scripts can be adapted for use to utilise non-GIS specific programming techniques and modules; however, they are reliant on the ESRI geoprocessing engine for the GIS specific operations within the scripts.
Python scripting for ArcGIS is a mid-level customisation for ArcGIS. Python scripting allows users to quickly build simple tasks and execute them instantly using ESRI common objects and tools. Python is a lower level programming language than other complex applications that use ESRI common objects. It is easier to learn, read and produce models using Python than it is using other higher level programming languages such as C++ or Visual Basic.
ESRI products also allow the building of custom graphical GIS applications using the ESRI developer network (EDN). EDN is a subscription-based online community that gives developers the tools needed to create spatial software using ArcObjects and a SDK. ArcObjects is the core library of software components that makes up the foundation of ArcGIS. ArcGIS Desktop, ArcGIS Engine, and ArcGIS Server products are all built using the ArcObjects library. Programming and software development knowledge is essential for producing customised spatial applications under the EDN framework. These services require high-level programming skills that are beyond the skills possessed by most GIS analysts. It is not uncommon for these skills to be outsourced to consultants that specialise in the development of such products.
MapInfo produces a product called Routing J Server which is mainly used as an engine for web deployment of routing and driving direction applications. The product is not a desktop GIS solution and it is an engine upon which graphical applications must be built. Routing J Server can solve driving direction and route optimisation problems in a similar manner to ArcGIS Network Analyst.
Network analysis tools are provided for MapInfo by a company called RouteWare. RouteWare creates a routing engine called RWNET. RWNET allows developers to solve route-related queries through the creation of either desktop, web or server routing applications. It is used for custom queries by ‘power users’ who infrequently require a high-power routing engine. RWNET does not create a network dataset as such, but uses existing polyline spatial data with the correct attributes and the related files to perform network analysis. RWNET is flexible with input formats as it uses ESRI shapefiles, MapInfo MIF Files or MapInfo native TAB files as a network input. RWNET also exports to each of these file formats. RouteWare also provides a free topology checker for use with MapInfo. The topology checker is a stand-alone program that will check network dataset topologies and also identify the common network data issue of connectivity. Connectivity issues occur where links are not connected to nodes even though they are so close together as to appear connected. The topology checker will not correct topology problems; it is only able to identify them.
RWNET Server is a product designed to run on a GIS server. It is a flexible routing server that can be used with internet map services such as ArcIMS, MapXtreme or other MapServer products. More information about these systems is included later in this chapter.
RouteWare has also produced a graphical user interface for RWNET to give non-programmers the ability to use RouteWare graphically. This add-in for MapInfo, named RouteFinder, gives users access to common network analysis tools. RouteFinder is also available for ArcGIS as the RWNET SDK.
GRASS GIS is an open-source GIS application for UNIX, Mac and Windows users and has been developed over 20 years. GRASS for Windows is considered experimental. GRASS provides functionality for vector network analysis, but is not specific to transport. GRASS network analysis capabilities include solving common routing problems such as shortest path and the TSP, and can also solve optimum point locations for use in service area analysis. GRASS GIS is primarily a command line GIS program, so users who are used to graphical user interface (GUI) products such as ArcGIS and MapInfo may struggle to use GRASS. GRASS is highly functional and highly customisable but because GRASS is open source, most customisations are made to the source code which can be a difficult task, even for highly experienced programmers. Therefore GRASS is less likely to be an effective tool as although it is open source, it is relatively complex to create customised add-ins in comparison to other available applications.