Introduction

Accessibility and its importance

Since we move along transportation networks such as streets or sidewalks, in practice it is a distance or even a travel time along these routes, which is important rather than a straight-line distance (Fig. 1). This network distance is a core component of the spatial accessibility concept.

Fig. 1
figure 1

A straight-line distance versus a network distance

Accessibility can be defined as a travel cost to a location of interest (Burdziej 2009) and can be expressed in different units (e.g. distance, time, money). It is also argued that the accessibility to certain facilities has a significant influence on the quality of life. Accessibility was considered to be a spatial “poverty line”, an indicator of well-being and development opportunities of rural areas (Pozzi and Robinson 2008). Nelson (2008), the author of the global map of accessibility, stated that “accessibility—whether it is to markets, schools, hospitals, or water—is a precondition for the satisfaction of almost any economic need.” Furthermore, he argued that accessibility is “relevant at all levels, from local development to global trade” (Nelson 2008).

There is a growing awareness that the accessibility is one of the main indicators of the economic development. If the level of accessibility is low, it constitutes a hindering factor for economic growth. Cleaver (in Barwell 1996) in the context of studies on the rural development in Africa stated that “improved accessibility will reduce the economic costs of moving goods from local markets and ease the barriers to social facilities. This will contribute to economic growth and enhanced social well-being.”

It is argued that good and equal access to services, e.g., health care (Felder and Brinkmann 2002; Rosero-Bixby 2004), parks and recreational areas (Erkip Beler 1997; Perkins et al. 2004; Oh and Jeong 2007; Comber et al. 2008), and other facilities (Olvera et al. 2003; Burns and Inglis 2007) is essential in providing certain quality of life. The equity of spatial access is also important for a sustainable development of a city or a region.

Spatial attractiveness of a given location may be defined by its accessibility, which is often regarded as the ease with which certain facilities may be reached from this location (Hansen 1959; Zhu and Liu 2004). Zhu et al. (2005, 2006) in the accessibility analysis for housing development in Singapore used the following list of criteria: access to public transport, shopping centers, health-care services, banks, schools, community centers, post offices, and parks. The list may include many other facilities, such as cinemas, theaters, sport centers etc. However, each citizen has its own priorities and needs. Parents with little children may look for a good access to kindergartens or schools, while older people may search for areas with a good access to parks and health-care services. From the municipal authorities’ point of view, it is important not only to assess the general accessibility to different services but also to assess its adequacy with respect to certain target groups. This complexity creates a need for an automated approach. Spatial decision support systems can be efficiently used to handle a multiple criteria analysis and combine it with a spatial location (Malczewski 1999; Boroushaki and Malczewski 2010). Moreover, when published in the Web environment, they can be utilized by all interested parties, contributing to the idea of democratization of spatial data (Dragićević 2004). These benefits of the Web-based SDSS has lead to a growing number of projects aimed at opening the access to spatial information and tools for both citizens and local decision makers (Dragićević and Shivanand 2004; Neis et al. 2007; Boroushaki and Malczewski 2010).

Objective

This paper describes the concept of a spatial decision support system (SDSS), which combines network analysis and spatial analysis of accessibility with a free and open source Web-based map service. There are two main objectives of this project: (1) to assess the spatial variation of accessibility to certain services within the city area, based on the network analysis and (2) to share this knowledge with potential users (citizens and local decision makers) in the form of a Web-based SDSS.

An open source Web-based spatial decision support system is proposed. Its prototype is based on the GeoServer, which is used as a main data provider. The data are exposed as a Web Map Service (WMS). The Web user interface is built using the ExtJS and the GeoExt frameworks with the OpenLayers as a main map client. Finally, a dynamic Styled Layer Descriptor (SLD), generated with a PHP script is incorporated for creating interactive and user-oriented maps (Fig. 2). The proposed system is currently in the prototype phase. The suitability of different data sources (such as network datasets and POI databases) has still to be evaluated. Once accomplished, the Web-based SDSS will be published in the Internet and will be available for both citizens and decision makers to support their spatial decisions.

Fig. 2
figure 2

The architecture of the proposed Web-based SDSS

Study area

The proposed SDSS will be applied to the city of Torun in central Poland. The city has roughly 200,000 inhabitants and an area of approximately 115 km2. The Vistula river, which passes from East to West, divides the city into two parts. There is only one bridge over the river available for cars and pedestrians, which connects the two parts. This creates significant discrepancies between straight-line distances and the actual accessibility of facilities from the southern part, especially during rush hours. However, several major road constructions (including a new bridge) are planned in the near future to address transportation problems. The accessibility analysis of the current situation, as well as the analysis for different development scenarios, may help local authorities take better decisions, resulting in a more equalized accessibility and a more sustainable development of the town.

Methodology

The main aim of the proposed Web-based SDSS is to find the most suitable locations for a given set of user-specified criteria, using accessibility measures. To achieve this aim, the system performs a multi-criteria accessibility assessment of the whole city area. Based on this analysis, the most suitable locations are selected. Additionally, the least accessible areas can be easily identified and the accessibility in a given location can be determined.

The accessibility is calculated in a regular grid of hexagons. The hexagonal grid has been chosen as a sampling pattern due to several advantages over the rectangular grids. It provides more equally distributed polygon centroids, the higher spatial resolution with the same number of sampling polygons (de Sousa et al. 2006), the simpler and less ambiguous nearest neighbor analysis and the greater clarity in visualization (Birch et al. 2007).

Each hexagon in the analysis has a 100-m side length and an area of about 2.6 ha. The whole study area is covered with 4,693 hexagons. Accessibility is calculated using the network analysis, with the centroid of each hexagon as the origin and each facility location as destination point for all routing analyzes.

The location is regarded as the most suitable, when its “average accessibility” is the highest. In order to quantify the measure of accessibility, the Accessibility Index (AI) is proposed. It is calculated as a weighted average of accessibility to different types of facilities. Depending on the user’s choice, the accessibility can be measured using distance (meters) and time (minutes) units. Users can specify a descriptive priority for each category, which is translated into a numerical weight and used in the AI calculations.

The final output of the proposed SDSS is a thematic map, which shows the AI values with a gradient color ramp. This map directly indicates areas with the highest, average or the lowest accessibility values. Additionally, users will be able to click on the map and retrieve the AI value for a given location. Moreover, raw accessibility values, such as time or distance to the nearest shop, theater, or school, can be retrieved.

Network analysis

The main aim of network analysis in this project is to supply the Web-based SDSS with raw accessibility data. In practice, the network analysis is used to find the shortest and the fastest routes between many pairs of points. Each pair consists of a source point (a centroid of each hexagon) and a destination point (represented by different points of interest, i.e. locations of facilities, such as hospitals and schools). This approach enables application of the network analysis, which is basically a point-to-point approach, to a spatial (areal) research.

In this project, the network analysis is undertaken using the ArcGIS Network Analyst (ESRI 2010). Specifically, the origin–destination analysis tool is used, as it provides a fast algorithm for calculating routes between a large number of pairs of origin and destination points. The final result is a table (called the origin–destination Cost Matrix) with distance and travel time calculated for all pairs of points. Although the final datasets have not yet been prepared, it is estimated that there will be approximately 4,700 hexagon centroids as the source points and over 400 points of interest (POI) as the destination points. This will result in more than 1,880,000 routes to be calculated.

Accessibility analysis

The results acquired during the network analysis have to be filtered to obtain final accessibility values for each hexagon:

  • The shortest time to each facility category

  • The shortest distance to each facility category

Each hexagon will be assigned an accessibility value for different categories (e.g., parks or schools) in two types of units: time (minutes) and distance (meters). At this stage of the analysis, a spatial variation of accessibility in the city can be mapped, and regions with low and high accessibility to certain service categories can be identified. Moreover, accessibility measured using different units can be compared. A correlation between time and distance accessibility values can be calculated and evaluated.

Multi-criteria analysis

The overall attractiveness of a given location depends on a number of different criteria, i.e., the accessibility to different service categories. Therefore, an average accessibility can be calculated for each hexagon. However, from the user’s points of view, the “average” approach is not very useful, as each citizen has its own priorities and different understanding of the term “suitable location”. Thus, it is important to allow users to choose, which categories should be taken into account when evaluating a level of accessibility. Moreover, from the user’s point of view, some facilities contribute to the general “suitability” more than the others. A simple statistical measure, such as a weighted mean, can be applied for the purpose of averaging the accessibility.

The AI is proposed. It is calculated as a weighted mean of accessibility to the different types of facilities with non-negative weights. The weights are calculated based on the user-specified descriptive importance ranks, e.g., “Very high,” “High,” “Medium,” “Low,” “Very Low,” and “None.” These priorities are translated into temporary weights (5, 4, 3, 2, 1, and 0, respectively), which are then normalized into final weights, so that they sum up to 1. Therefore, the final AI formula can be simplified to (AI calculation):

$$ {\text{AI}} = \sum\limits_{{i = 1}}^n {{w_i}{x_i}} $$
(1)

where:

w i :

Normalized weight of the category i

x i :

Accessibility of the category i

Table 1 shows a sample category weighting for a given set of user-defined priorities along with raw accessibility values for one sample hexagon.

Table 1 An example of category weighting

Using values from the table above, the AI can be calculated for both the minimum time and the shortest distance. The resulted AI value will be ∼12.50 min and ∼11,283 m, respectively.

In this way, the AI for all hexagons can be calculated. Based on the final AI (expressed in time or distance units), hexagons should be rendered with a color ramp to create a thematic map of the accessibility.

Web-based spatial decision support system

The proposed Web-SDSS will have a form of a publicly available geoportal, created with the ExtJS, the GeoExt, and the OpenLayers frameworks (Fig. 3). This Web environment has certain implications on how the methodology described above can be implemented and how the main objective can be achieved.

Fig. 3
figure 3

A user interface of the proposed SDSS

JavaScript frameworks

The core structure and the interface of the geoportal is built with the ExtJS framework. The ExtJS is a popular JavaScript library used for building Web applications (Sencha 2010). It provides a wide range of customizable GUI controls, such as text fields, list boxes, combo boxes, radio buttons, checkboxes, tree controls, toolbars, tab panels, sliders, etc. The ExtJS is available in a dual-licensing model with the free and Open Source license available for works compatible with the GNU GPL license (Sencha 2010).

Mapping capabilities for the proposed Web-SDSS are provided by the OpenLayers, an open source JavaScript mapping library (OpenLayers 2010). The OpenLayers offers various classes and interfaces for creating advanced Web-based geographic applications. It is well known for its compliance with GIS standards such as the WMS and the Web Feature Service (WFS) protocols or the SLD.

The GeoExt (2010), another JavaScript framework, makes it easier to use the ExtJS with the OpenLayers. It provides ready-to-use geographic Web controls, such as map panel, legend panel, layer tree, or scale chooser. The GeoExt embeds mapping functionality of the OpenLayers wrapped in the ExtJS interfaces. These three JavaScript libraries are employed to achieve the final goal: the interactive Web-based SDSS for the accessibility analysis.

Criteria weighting

In the first stage of the accessibility analysis user has to set the importance level for each category. It can be defined using linguistic descriptions, such as “Very high,” “High,” “Medium,” “Low,” “Very Low,” and “None,” available from the drop-down menu. The Ext.form.ComboBox control is used for this purpose (Fig. 3). Before proceeding, the user has to specify priorities for all categories of facilities. To exclude the given facility type from the accessibility analysis, “None” priority has to be selected from the list. In the next step, descriptive priorities are substituted by the values (5, 4, 3, 2, 1, and 0, respectively), defined in the priorities array. The final weight (normalized to 0–1 range) for each category is calculated based on these values.

Mapping environment

The Web environment creates two main problems with map rendering. The first one is the large number of objects that have to be rendered on the map at once (the hexagon layer contains approximately 4,700 polygons). The second problem deals with creating custom thematic map dynamically, based on the virtual attribute (AI) using a defined classification schema.

Another difficulty is that the data are dispersed between the client and the server. On the server side, there is the hexagon layer, which contains geometry (polygons) with “raw” accessibility values: minimum time or distance. Priorities and weights for each category are defined and calculated on the client side. In order to render each polygon properly, the Accessibility Index has to be calculated using the data both from the client (priorities and weights) and from the server (“raw” accessibility values). This information has to be used for styling the map and displaying it on the client side.

There are several techniques to visualize a polygon layer on a map in the Web-GIS environment. It can be stored as a vector layer with hexagons and their attributes in one of the standard GIS formats, e.g., GML or GeoJSON. Using this technique the objects can be parsed individually, the AI can be calculated based on their attributes and each polygon can be rendered with a proper color according to the classification schema. The OpenLayers and the JavaScript framework can be used for this task. However, loading and rendering such a large number of objects will cause significant performance issues.

An alternative approach is to expose a vector layer as a WMS, which serves data as raster images, instead of vector graphic. The main advantage of this approach is that the raster tiles are generated on the server. These tiles are sent to the client’s browser as compressed jpg or png files, which results in a faster map rendering. However, the WMS sends only map graphics without attributes. Therefore, it is not possible to directly calculate the AI using simple WMS layer. This is where the SLD can be applied for advanced and dynamic map rendering.

Styled Layer Descriptor

A Styled Layer Descriptor is an XML-based mark-up language that allows user-defined symbolization of map layers (OGC 2002, 2007; Zipf 2005). Although the SLD schema can be used for styling both vector and raster data, it is typically used for rendering layers provided by the Web Map Service. The SLD is an Open Geospatial Consortium (OGC) standard. It allows advanced symbolization of points, lines and polygons. In this project, the polygons (hexagons) have to be symbolized using custom <PolygonSymbolizer> element:

  1. Code 1.

    Symbolizing polygon with SLD.

    figure a

Filter encoding in SLD

The Styled Layer Descriptor can be used with filter encoding to identify a subset of data to be styled in a defined manner (OGC 2005). Creating thematic map with the SLD definition requires filter encoding. The following non-spatial filter uses the comparison operator <PropertyIsLessThan> to check if the AccessToSchools attribute value is less than 10:

  1. Code 2.

    Filtering with SLD.

    figure b

Each class can be defined in a different <Rule> with a proper <Filter> element. Using this syntax, the hexagon layer may be classified and rendered based on its attributes, e.g. time to the nearest school or distance to the nearest park. However, the layer has to be styled using a virtual attribute, calculated “on-the-fly.” Different approaches can be considered for creating dynamic and user-oriented maps with a combination of WMS and SLD (e.g., Zipf 2005).

For this work, the filter encoding with expressions was chosen for dynamic map rendering. The final AI can be calculated within the SLD body definition using a combination of <Add>, <Mul>, <PropertyName>, and <Literal> elements with the logical operator <And>. It takes into account weights defined for each category and “raw” accessibility values to calculate the AI dynamically for every single polygon in the WMS layer.

  1. Code 3.

    <Rule>with advanced filtering.

    figure c

WEIGHT_1 and WEIGHT_2 literal values have to be substituted by weights calculated on the base of the user-specified importance levels. The total number of possible AI results for one hexagon can be calculated using the following equation.

$$ \mathop{{\overline V }}\nolimits_n^k = {n^k} $$
(2)

where:

n :

Number of importance levels

k :

Number of facility types.

In the case of six importance levels (n) and ten facility types (k), there are 60,466,176 different variations, thus the same number of different accessibility maps that can be generated. Assuming the users can choose from two types of accessibility units (minutes or meters), the number of possible variations doubles. This is, why the AI cannot be calculated once and stored as attributes inside the base hexagon layer. For the same reason, the SLD definitions cannot be created for all possible variations. It has to be created “on-the-fly” individually for each user’s request.

SLD generated with a PHP script

In this work, the WMS layer is provided by the GeoServer. It is required that every vector layer stored in the GeoServer has a style (defined using the SLD) associated with it (GeoServer 2010). This style, however, cannot be directly modified by the client, thus cannot be adapted to meet specific user’s preferences. The WMS specification allows sending an additional parameter called SLD_BODY, which accepts a literal SLD definition (e.g., stored in a string variable), which is used for styling the WMS layer. However, the size of this definition may become an important limitation.

The sample SLD definition shown in Code [3] describes one final class of accessibility. In this example, only two categories of facilities (schools and parks) were used in the AI calculations. Provided that ten different POI categories and seven classes for thematic mapping will be used, the SLD definition becomes very large.

Basically, there are two main HTTP methods for sending requests (such as requesting the WMS layers) from the browser: GET and POST. In the first method all parameters of the request are encoded into a URL as name value pairs, while in the latter method all parameters are submitted within the message body of the request. It is a commonly reported issue that the HTTP-GET requests have limitations in terms of a maximum URL length allowed. Although this limit is not imposed by the HTTP protocol itself, it is dependent on both server (the GeoServer in this case) and the client (a Web browser). The HTTP-GET request is prone to instability and errors caused by long URLs (Microsoft 2010; W3C 1999), especially in such browsers as the Internet Explorer (Microsoft 2010). Alternatively HTTP-POST protocol can be used with large SLD definition, but browsers such as the Opera or the Mozilla may have problems with transparent WMS.POST layers (OpenLayers 2010). For these reasons it is more convenient and safer to store the SLD file externally (OGC 2007):

  1. Code 4.

    A sample WMS GetMap request referencing an external SLD file.

    figure d

However, as it was stated before, all possible SLD definitions cannot be pre-created due to a large number of possibilities. Therefore, the external SLD definition needs to be generated dynamically. A simple PHP script can be efficiently used for this purpose. The script will dynamically create an SLD definition using values passed via an URL:

  1. Code 5.

    Creating an URL to PHP-based SLD definition using the JavaScript.

    figure e

The JavaScript is responsible for reading user’s preferences and calculating weights on the client side. These values are used to generate an URL string (sld_url), which is a reference to the PHP script. The PHP script fetches weight values from the URL (using $_GET["w1"]) and inserts them into the SLD body. The SLD body is created as a string variable and is returned by the PHP script to the WMS request. With this method HTTP-GET request URL limit can be bypassed and the SLD can be generated dynamically using given weight values.

Creating dynamic layer with OpenLayers

Finally, a new WMS layer will be added to the map using the following (simplified) syntax:

  1. Code 6.

    Adding a new WMS layer using the OpenLayers.

    figure f

The layer will be rendered using the SLD definition returned by the external PHP script. In this way, using a mash-up of the JavaScript, PHP, WMS, and SLD frameworks, a custom thematic map can be dynamically generated and smoothly rendered in the client’s browser.

Conclusions

The accessibility has an important impact on people’s everyday life. It influences the amount of daily travels and related costs, it also determines, how easily certain facilities and services can be reached. Therefore, it is important for people to assess accessibility properly and use this assessment in order to take optimal decisions, e.g., while relocating.

The proposed approach shows how a point-to-point network analysis can be used to find and describe spatial patters of accessibility within a given area. Moreover, this paper describes a simple and intuitive method for the multi-criteria analysis of accessibility to certain services in a Web environment.

The proposed system is currently in the prototype phase. The suitability of different data sources (such as network datasets and POI databases) has still to be evaluated. Additionally, different methods of a multi-criteria evaluation need to be examined and a more complex approach to the AI calculations will be studied. The final system is intended to be applicable to any other regions, thus the standardization of input and output datasets is also a major concern.

Once accomplished, the Web-based SDSS will be published in the Internet and will be available for both citizens and decision makers to support their spatial decisions. The citizens may use the tool for finding areas that fulfill their current accessibility needs. The city planners may easily identify districts with low accessibility to certain services, e.g., kindergartens. This information, compared with, e.g., spatial distribution of families with little children, may help them to find the most suitable location for a new kindergarten.

Moreover, the approach proposed in this paper can be used to simulate future changes. For instance, the network dataset can be updated with a planned road and accessibility can be assessed for this scenario. A comparison of several different models can show how the accessibility will be affected in each case, and the most optimal solution can be chosen.

A combination of open standards, such as WMS, WFS, and SLD, with highly flexible and customizable open source map clients, such as the OpenLayers, can efficiently support the idea of an open GIS, not only in terms of the open source software, but also in terms of the open access to GIS tools. These tools can help translating a geographic data into useful information and knowledge. Furthermore, this knowledge can be shared and can be used for better decision making by all interested parties. In this way, the open source GIS can substantially support the idea of the information society and the sustainable spatial development.