Some Thoughts on the US Critical Facilities List

.........................................................

Naturally, as a Geographer the wikileaks release of facilities that the US believes critical to its security was interesting. Much like the chaps over at Floatingsheep some of us (Martin Austwick, James Cheshire, Peter Baudains, Alex Braithwaite) took it upon ourselves to map out the reported list. Martin came up with the following visualisation that I think is really rather nice.

Naturally, the same sort of caveats that floatingsheep note also applies here – most of these points are only accurate to the city level, such as for locating industries, or at the country-level such as for locating mines, or oil pipelines, where the features were not immediately apparent on maps. The uncertainty inherent means that the pattern of facilities is best understood from the global perspective, and it is from this vantage that I’ll attempt a brief analysis.

Firstly, the most interesting pattern I note is connected to the Spatial Division of Labour (aka new international division of labour) which is a concept extolled by globalisation theorists such as Doreen Massey, Paul Krugman etc. Essentially- look at how globalised a system of critical facilities the US identifies – the kind of bordered protectionism that we might have once expected from a hegemon is missing. Indeed, we could see this globally distributed network of critical sites as evidence of neo-imperialism and the reach of neo-liberalism, this is the corperate extension of the American empire, and in a sense, it maps the USs perceived vulnerabilities. It is the modern reproduction of the trade empires previously established by the European powers, and very much in this tradition it is the developing world countries, on the whole, that are responsible for raw materials production, and natural resources, and the developed ‘western’ world that is responsible for technology and medical products. The apparent primacy of the west is also demonstrated by the vastly larger numbers of critical sites that exist in the west, as opposed to the developing world.

Further to this, there is an interesting balance that is mediated by geopolitics and the nation state, on the one hand it is notable that the US privilleges ports as transport hubs (but, perhaps strangely, not railways or airports) demonstrating the global reach of trade and movement, but also heavily emphasises the importance of it’s physical land borders with Canada and Mexico, reiterating the perceived importance of the US as a nation state, a physical, defensible entity. In some sense this approach is reminiscent of Halford MacKinder’s ‘heartland’ hypothesis – the US, in this document is attempting to demonstrate, and encapsulate itself as a heartland state with a global reach and network of operations.

The importance of some resources is emphasised, and tends to relate to energy, such as the “Nadym Gas Pipeline Junction”, which is denoted “the most critical gas facility in the world”, likewise, Yemen’s “Bab al-Mendeb” Shipping lane is seen as “a critical supply chain node”. However, it is neither these remarks, nor the references to certain products being crucial to the Patriot missile production that really define the data here, rather it is the whole, which defines an incredibly diverse set of global interests for the US. The diversity of US interest in this map, both by type of critical facility identified and by where they occur reminds me of the chess-board analogy to geopolitics. I can’t remember who originally cited this analogy, or where I heard it, nonetheless it goes something like this: essentially a hegemonic entity, such as the US, is actually playing at geopolitics on a number of different chessboards. One chessboard relates to what the US do militarily, and certainly there are critical facilities on this list that best fit into this game, secondly there is a diplomatic chessboard, which relates to the persuasive power that the US has, how well it can negotiate and leverage its position as a functional hegemon. The military chessboard is perhaps best articulated by the positioning of military bases, and deployment of military personnel; the diplomatic chessboard is perhaps best understood in terms of the locations of embassies and diplomats. Additionally, with respect to the critical facilities, we might see a corperate chessboard, articulated through the interests of US companies and understood in terms of the locations of multi-nationals, and flows of currency from host countries back to the US. Finally, the US might also play chess on the basis of deterrence, this is the reasoning behind nuclear armaments etc. and to some extent the presence of a US list of facilities considered critical is curious evidence of what the US considers its reach and responsibilities, as well as what it has vested interest in maintaining oversight on. It might suggest that repercussions for challenging these listed site would be harsher that they might otherwise have been.

Continue Reading

Finnish Municipalities: A case for zone design?

.........................................................

In Finland, municipalities are incredibly powerful; like local authorities in the UK, municipalities are responsible for local administration, but they also levy an income tax and are responsible for providing most public services. Municipalities were founded on the assumption of equality, which forms the basis for the reform considerations currently ongoing in the Finnish government. The fact is, municipalities simply aren’t equal, they vary wildly in population size and area; numbering 342 they are of rough numerical equivalence to UK local authorities, despite Finland itself having around 1/11th of the UK’s population. The population skew is greatly emphasised by the presence of cities such as Helsinki which cross municipal boundaries, and more remote municipalities whose geographical extent was set out by horse-and-cart distance. It is therefore understandable that the Finnish government would be interested in the possibility of mergers to reduce the number of municipalities, and create a system in which muncipalities serve a similar number, or at least a threshold, population. It is believed that this would make administration more efficient, as services can be centralised to a greater degree, and small municipalities which already share services can formalise this.

Some mergers have already taken place, and there are governmental incentives for merging. However, with the specified model that municalities should be reformed such that they have a base population of 20-30,000 people, from the Association of Finnish Local and Regional Authorities (Kuntaliitto), we can apply automated zone design scenarios to test the ‘what if’ aspect of creating a new Finnish municipal system based on preserving different characteristics.

The zone design tool that I use to test a few basic scenarios is the regionalization library in pySAL, a spatial analysis module for Python. This implements the max-P algorithm for spatially contrained clustering subject to a similarity matrix, and a threshold value. I specified the research design so that I was testing for the optimal new aggregation of the pre-existing muncipalities and tested 3 different scenarios: 1) No similarity measure (all municipalities assumed equal, but for population) 2) Similarity based on municipal tax regime, and 3) Similarity based upon municipal tax regime and % non-finnish speakers, which accounts culturally for the Sami people of Lapland and ethnically Swedish Finns.

The regionalisation requires that you create a contiguity matrix for the zones, I arbitrarily chose the queen case, and added bespoke contiguity for Finnish islands based upon proximity, this is easy to do in GeoDa and it outputs a .gal file which you can read into python. Then all you really need to do is the following:

import pysal
import numpy as np #required as pysal uses numpy arrays

#Read in your population and similarity data in some way,
#I tend to create a python list from a csv.

#convert the population and similarity data into
#numpy arrays, from lists called pop and sim
pop = np.asarray(pop)
sim = np.asarray(sim)

# Read in your precomputed Weights matrix
w = pysal.open("...\\QueenWeights.gal").read()

# Create an (optional) array of 1s to represent equality
# (replace sim in Maxp function call)
nosim = np.ones((342,1))

# Run solutions for maxp algorithms with specific parameters
r= pysal.Maxp(w,sim,floor = 20000,floor_variable = pop,initial=100)

# Write r.regions to outfile to get regional assignments,
#this can be joined to shp in ArcGIS.

The maxP algorithm works by first randomly creating a set of possible zoning configurations, then it chooses the current optimum and seeks to refine it using a computationally expensive zone-swapping method. Optimality in this case is defined by minimising dissimilarity whilst obeying the threshold population constraint. The API reference for regionalisation in pysal is very good.

Here are some of the results I produced for this basic approach:

Zone Design - Pop > 20,000 with assumption of Municipal Equality

Zone Design - Pop > 20,000 with similarity of tax regime and language

Unlike some of the more advanced zone-design algorithms, pySAL doesn’t yet provide a way of preserving or optimising area shape characteristics, so you can get sliver-like polygons forming. Nonetheless it presents an interesting insight and a set of functions from which a more advanced/bespoke algorithm could be built.As it turns out the islands that I arbitrarily allocated to the contiguity matrix are actually quite a contentious topic and given their strategic significance to Sweden are in fact neutral territories which would be untouched by any redesign of municipal structure.

As ever, local knowledge is important, and for the economists at VATT this is a real task to undertake. They won’t be doing anything quite so crude, they do however have a curious spatial problem to deal with.

Continue Reading

New Visualisations Catching Up!

.........................................................

One of the maps that I liberated from the great LSE clearout sometime ago was this visually pleasing and well balanced representation of the ratio of Females to Males from the 1961 Census.

This kind of map has a specific story to tell, announcing that for a long time the women and men in the country have been unevenly distributed, placing emphasis on the demand for different types of labour. The dissaggregation by age and sex also demonstrates that in 1961 more boys are born than girls, but that more men die from occupational hazards resulting in a gender balance during adolescence and a surplus of women in old age.

Using Oliver O’Brien and Pablo Mateos’ superb Census Profiler it is possible to recreate this map using data from the most recent census.

Admittedly this map doesn’t allow you to map rates yet, although a percentage is fundamentally doing a similar job, but it really demonstrates the emerging power of online tools for creating sophisticated visualisations and analysis. What is more, the web-basis for this means that many users have access to this functionality so it reaches more people than the basic paper map, further the adaptable colour scheme and classes allow tailoring to your needs, and the multiple themes allow comparison with other data sets.

Where the paper map succeeds is in the expertise that created it, and the ability for the map to be annotated, this allows for an expert narrative to describe and explain the visualisation. The web map leaves this narrative up for discussion which is both good and bad – those who need help with interpretation don’t get it, but equally the reader is not constrained simply to the given interpretation.

It doesn’t seem like a great leap for the 2011 census to have an web-based geovisualisation site which could do these additional aspects, such as rates, perhaps wiki-based annotations by users and even create output graphs from the datatables such as the 1961 map has for age and sex. Nonetheless, it seems incredible to demonstrate this progression from paper to the web over time using this simple example.

Continue Reading

ArcGIS 10 – Field Calculator and Python

.........................................................

Python has been more tightly integrated in the new release of ArcGIS 10, allowing scripting to occur directly through a Python process without even opening up ArcMap. Admittedly this was available before, but now everything is more tightly coupled and a lot cleaner in it’s implementation. However, what has really interested, and indeed confused me of late is how to use Python in the ‘field calculator’.

Field Calculator is a really useful tool, when you are looking at an attribute table for a shapefile in ArcGIS and you want to derive a value for each object in the file based on a function you can input the function into the field calculator and it will work it out for you row by row. Sometimes the value you want to derive is a bit more complicated than simple arithmetic and you need to write a script. Previously you could do this in VBA, but I always found it limited and confusing, now however you can do it in Python – much simpler!

There are a few pitfalls to using Python in ArcGIS field calculator, and so I’m going to specify how to write simple field calculator python scripts in ArcGIS from my early experience.

Firstly, for Python in field calculator the way to do it seems to be in write a Python function, and then call it for each row. In addition to this, because you are writing a function you have to give it the relevant parameters (i.e fields) with which to do the computation. Finally, and annoyingly you have to write your function in a little box, and use a consistent indentation standard (1 space works best for reasons of space) as Python requires.

Here is a basic recipe for achieving field calculations in ArcGIS using Python. Obvious this is overly simplistic as you do not need a script to do this calculation, but it serves as an introductory example.

1) Name a function and parameterise it with the fields to base the calculation on. Do this in the lower box.

In the image you can see I’ve input: density( !sum_pop!, !Area!) This means send the values in the fields called sum_pop and Area to the function called density.

2) Define the function you are calling in the larger upper box.

You define a function in python using the “def” command. In the image i have defined the “density” function by writing the line: def density( pop,area):

This function definition means: define a function called density which takes the parameters pop and area. The parameters could be called anything, but it is useful to call them something that makes sense for use in the function. These parameters are variable names that the function uses to identify the fields you have passed the function when you called it, as in 1).

Normally you’d do some sort of calculation within the function, however this example is so simple that all we need to do is “return” a value to the function call. This function is the density defined as population over area: pop/area.

Looking at the field calculator I have found that you are limited to the basic, math and datetime modules in python, without the ability to import other modules. You can however define several functions and call them from within your main function.

For details on the basic syntax of using python, this site is particularly good: http://www.tutorialspoint.com/python/index.htm

Continue Reading

Drawing maps with Python

.........................................................

There’s an increasing amount of useful packages that allow for spatial analysis in python. Having said that, actually drawing a map remains relatively tricky, here I am sharing a few of the methods that I have come up with recently to help in this area. Firstly, let’s consider the basic set of prerequisites that you should have installed to do some useful things in Python.

Numpy and Scipy – easy_install Numpy / easy_install Scipy

Numeric Python and Scientific Python vastly extend the scientific programming capabilities of Python. Numpy adds the array() object which, for numeric matters, is far superior to the standard Python List, as well as numerous mathematical methods. SciPy then makes use of these methods to provide interfaces to allow the use of numerous mathematical techniques, I have made use of SciPy’s Clustering routines, as well as elements that allow Multi Dimensional Scaling.

matplotlib – easy_install matplotlib

Standard Python plotting library, with excellent graphic data visualisation capabilities built in and an excellent set of examples and tutorials. We can leverage the ‘patch’ plotting capabilities for creating maps.

descartes – easy_install descartes

This is the matplotlib lever that allows us to draw geojson-like geometries on a matplotlib canvas effectively.

gdal and ogr – install gdal, then easy_install gdal

This is a c/c++ library which is accessible in Python which makes reading and writing many different spatial data formats easy, this includes shapefiles, kml, gml etc. GDAL works specifically with raster data, and OGR with vectors. Actually setting this up can be tricky, for a start you need to make sure you have a c compiler installed, and that all the paths work. Pretty easy on a Mac (and i guess Linux), but a nightmare on Windows. Be prepared to consult forums.

PySALdownload only as ongoing project.

This is a superb spatial analysis library that is currently under development. Provides a shapefiel reader is gdal is out of the question as well as numerous other modules. I’ve been using the ESDA, exploratory spatial data analysis, module a lot as it includes a series of useful map classification functions.

Now, the first attempt we will make to draw a map in Python will be a simple one. This will involve using data that is already in a projected coordinate system, so no need for coordinate transformations and we will simply visualise one aspect of the data using different classes. The model we will follow to create the map is a standard approach as such:

  1. Read in data, in this example as a shapefile
  2. Parse attributes to create the boundary values for classification
  3. Draw geometries, styling as per the previously defined boundary values
  4. Add a Legend, North Arrow, Scale Bar and add any required text
  5. Display or save the map.

The attached file demonstrates the drawing of the image below:

In creating the above map there are a few elements to remember that add to the challenge. Firstly, the north arrow is an image that I made and simply loaded into the map, secondly, the scale bar is simply an appropriately scaled square patch with some explanatory text and thirdly the class colours come from colour brewer. For the map I’m using the freely available population data from london.data.gov.uk and district boundaries the OS Boundary Line open data release. These are both subject to Crown Copyright of course, but I provide them rather than force you to expressly download them. I’ve also included the north arrow image that I made in Processing. I last used the population data shapefile to visualise population cartograms in Processing.

Resources:

Python Script

Shapefile NorthArrow

Continue Reading

k-nearest neighbour weights using PySAL

.........................................................

I found a nice little time saving device when testing different numbers of nearest neighbour weights in the excellent PySAL library in python, so I thought I’d share it.

Basically I wanted to test a number of different values of k when choosing a weighting scheme for spatial smoothing using nearest neighbours, but I didn’t want to have to continually recalculate the weight’s matrix for different values of k. Here’s what I did:

  1. Calculate a k nearest neighbour vector for a high value of k, this should be the same size, or larger than what you anticipate as being your maximum value of k.
  2. Store this table in a database, the database is useful as for large values of k for a large set of data you create k x n rows. Databases are optimised to store and query this amount of data in a way that text files aren’t!
  3. Create the weights matrix in PySAL from first principles: grab all the data from the database and order it by the ‘from’ neighbour id, and then the weights of the ‘to’ neighbours, Create the weights matrix as specified in the PySAL docs on weighting, but only use as many observations as you want to test by slicing the input matrixes.

Here is my code showing how this works:

import _mysql    #Library that connects to Mysql
from pysal import W    #Weights part of pysal

# Important - Database connection!
db = _mysql.connect(host="localhost",user="root",passwd="",db="data")

# Now Create a Spatial Weights Object

# These first 4 lines pull in the weights data from my MySQL database
# and store it as a list of tuples called 'resultWeight'
getWeights = "select * from `spatialweight` order by `polyID`,`weight`"
db.query(getWeights)
r = db.store_result()
resultWeight = r.fetch_row(maxrows=0)

nList = []    # Empty list for neighbours
wList = []    # Empty list for weights
neighbours = {}    # Empty dictionary to hold neighbours
weights = {}    # Empty dictionary to hold weights

# Now iterate through the results to form dictionaries with lists of
# neighbours and weights for each relevant point in the dataset

recNum = 1
while recNum < (len(resultWeight)+1):
    # append data from resultWeights until the limit
    # for k is reached for each point
    nList.append(int(resultWeight[recNum-1][1]))
    wList.append(float(resultWeight[recNum-1][2]))

    if recNum % 50 == 0:    # 50 as I used a maximum value of k = 50
        # Slice nList and wList depending on the value of k to test
        neighbours[int(resultWeight[recNum-1][0])] = nList[0:20]
        weights[int(resultWeight[recNum-1][0])] = wList[0:20]
        # Reset nList and wList for the next point in the weights data.
        nList = []
        wList = []
    recNum += 1

# Now simply create the weights matrix for the value of k specified.
w = W(neighbours,weights)

#the order the matrix for use later.
if not w.id_order_set:
    w.id_order = range(1,n)
# Where n = number of observations in the dataset (assuming
# point IDs are sequential integers starting at 1.)

Continue Reading

P ≠ NP : Relevance to Computational Geography

.........................................................

In computational complexity theory the biggest unanswered question is P ≟ NP, that is whether or not a set of problems that fall into a certain complexity class P also fall into the class NP. Basically, this question asks: can all decision-based problems of the class NP in computing be solved in feasible length of time? This is a timely topic because a mathematician named Vinay Deolalikar claims to have found a proof that P ≠ NP, meaning that there are problems for which solutions cannot be found computationally.

First, let’s consider what the terms P and NP mean:

The complexity class NP contains all problems for which a known solution can be verified, this means that if you have a decision problem and you know the answer to be yes, you can write a program to check that that is the case. What it does not contains is all problems for which lacking an answer, a solution can be generated in a feasible period of time.

A good geographical example of an NP problem, albeit an optimisation problem, is the ‘travelling salesman problem’ (TSP). The TSP says, given a list of cities and the pairwise distances between them, what is the shortest route that a travelling salesman could take so that he visits each city only once? This is a complex problem because the more cities there are the longer it takes to solve, after only a few cities the set of possible solutions becomes so large as to make the problem unsolvable in a realistic time frame. Thus for large numbers of cities the only solutions available are created by heuristics, in which a solution is assumed to be near-optimal but unprovable as a ‘best’ solution. This is an example of an NP problem which it is believed does not belong to the set of problems known as P, because the TSP does not currently have a solution which can compute the ‘best’ solution.

The complexity class P is a subset of NP and contains all decision-based problems that can be solved by a computer in a feasible amount of time. A decision problem is essentially a yes-no question that can be solved by an algorithm on a single computer running in a sequential manner (i.e. step-by-step). Decision problems, and the complexity class P are linked to other types of problems, such as search problems (i.e. find a particular element/structure in some set of data), function problems (like decision problems, but returning more complex answer than yes/no), and optimisation problems (for given starting conditions, find the best solution to a question from a set of feasible solutions).

An optimisation problem that falls into the P complexity class is the transportation problem of linear programming. This is an optimisation problem that says: for a given set of supply and demand sites, with a set of associated costs which differ for each pair of demand and supply sites, what is the best way of allocating resources from the supply to the demand site so that the cost is minimised. As a geographer this is a useful problem, I’ve used it to find an optimal set of GP service areas, where local areas ‘supply’ a certain number of people who want to enroll with a doctor, to a set of GPs who meet the ‘demand’ based on the fact that people see GPs as a location based service, and want to travel as short a distance as possible to get to a GP, thus reducing the ‘cost’ to them. The virtues of Linear Programming mean that this problem can be solved reasonably efficiently, however it may not be exactly P as the efficiency of the solution may depend on the constraints you use in the problem. One constraint that I used was that each GP can only serve a certain number of people, and when it is full no one else can go there; adding constraints increases the complexity of a problem and may lead to the definition of an unsolvable problem.

So essentially what we have are NP problems, some of which are known to be P. If the question does P = NP is found to be true, it would mean that there exists somewhere a solution for all NP problems that could calculate an exact, best answer in a feasible amount of time. This would mean we could effectively solve problems like the TSP for large numbers of cities. However, if as suggested by Vinay Deolalikar P does not = NP then we are resigned to the fact that we will only be able to guess at the answer to problems such as the TSP.

Computational Geography uses numerous optimisation methods and looks for solutions to problems that are likely to be NP but not P, in all of these cases we are left in the situation of being able to approximate, but not know for sure, and this limits the certainty with which researchers can claim any particular result to be socially useful, or policy relevant. NP problems that are relevant to computational geography but may not now be solvable include problems in network analysis, including routing, flows and spanning trees; data storage; scheduling and optimisation; automata; geometry and mathematical programming.

In a sense if P ≠ NP it only goes to further enhance the mystery of the spatial and the geographical.

Continue Reading

Community Informatics: Better Websites for the Health of Local Areas

.........................................................

A comment I received by a chap called Bob Stott, on a previous post, got me thinking. I want to pick up this part of the comment in particular:

“It also, as far as IT initiatives are concerned, reflects the need for more thought about ‘Community Informatics’ to feed realistic data regarding NHS Policy and Strategy.”

This set of a couple of neurons firing, firstly, I was reminded that the Guardian recently had a piece lamenting the state of NHS websites, and secondly I remembered some critique I wrote a while ago suggesting that NHS Choices wasn’t up to scratch.

What I thought was: community informatics! What a great term! Here is a concept that might actually work under the new NHS structure! However, rather than Bob’s truly ambitious idea about communicating policy and strategy, what if we keep it simple at first and thought about communicating effectively with local communities about their care choices?

Now, the suggestion that the Guardian makes is that the NHS is wasting money on hundreds of websites, many of which are out-of-date, misleading or just wrong. In fact many of these website actually relate to primary care doctors surgeries, who, it could be argued, have better things to do than maintain a website. In fact there are numerous GPs who do not even have a web presence outside of the NHS Choices search page. Likewise, NHS Choices is an improving website – it has added several search filters and patient feedback methods since I last cast a critical eye over it, but it still acts as a centralised inforamtion portal. This is fine on the one hand, because the NHS is a national system of care, and such a system needs a centralised presence to some extent, however it may be limited when dealing with local issues. This is largely the thinking behind proposed changes to the NHS, the Conservative-Liberal government believe that previously too much power was centralised within the NHS system through explicit heirarchies. This, they claim, meant that central government had too much control over health spending, despite the fact that around 80% of funding was left to the lowest level authority- the primary care trust- to spend. The conservative-liberal system remotes the explicit national-regional-local linkage in favour of local consortia, groups of GPs, and instills a shadowy national body – the NHS commisioning board- about which we do not know too much at the moment, to oversee the consortia. Whilst there are numerous critiques one might make, upon reflection this seems like a potentially advantageous position from the vantage of ‘community informatics’.

Clearly a well maintained website for individual surgeries, or GP consortia, will be highly advantageous to the local users of the service, and as well as providing general information it could provide highly personalised insight that is tailored to the specific issues faced by either the communities, or the individual themselves. These websites were traditionally the responsibility of GPs who may not have kept them updated, as opposed to the PCTs, who had more important things to do, and perhaps were somewhat inefficient with respect to information dissemination and web media. However, a consortium, which is responsible for a group of local GPs, and which has a more marketised responsibility to provide tailored care may gain an advantage from the potential for several GPs to bring together resources and collaborate on providing community-based information and online services. This is simply because the shifting situation will mean that it is increasingly in the interest of the GPs and the consortia to advertise access to care and provide effective local solutions. Of course, whether this is a realistic possibility remains to be seen, I certainly hope that it could be a positive upshot of the NHS plans, but again there seems potential for the system to become increasingly inequitable for patients across the social scale.

Continue Reading

Carl Steinitz, Symap and Place

.........................................................

Recently, all and sundry had the chance to rummage through LSE Geography’s map library and liberate any maps of their choosing. Naturally some got over excited (cf. James Cheshire) and took numerous maps of all sorts. I was slightly more selective, and whilst being mostly on the look out for maps that represented social areas (cf. Booth Maps) I did find one particularly interesting map.

The map is by Carl Steinitz, from a time when he was at MIT Department of City and Regional Planning, it appears to be made using Symap. The map is entitled “The Principle Local Activity of a Place”. I think this title is both fascinating, and in terms of the development of spatial analysis quite telling. First however, some background.

Carl Steinitz is a Professor at Harvard Graduate School of Design, and has been a regular visitor at CASA for as long as I’ve been at UCL. He trained as an architect and planner, but became known as an early evangelist of Geographic Information Systems (GIS), his ongoing work concerns the design of environments, often urban, and the use of GIS to describe possible development trajectories. I respect him most for his impassioned stance against needless 3d visualisations, particularly if those visualisation have a musical backing.

Symap, aka synergraphic mapping system, is one of the first software packages that could create outputs that actively resemble current desktop GIS outputs. It was developed in the mid-1960s and carried with it a distinctive style of using ascii characters in order to draw map elements. Andrew Crooks has a couple of interesting examples and some background on his blog.

Now the map in question here doesn’t seem to have a date, which is a shame, and it does not give a specific location to the mapped area, although given that the map was made in MIT it becomes apparent that the area in question is Boston, Massachusetts with the Charles River Basin in the north of the map, and Boston Harbour to the east. The legend denotes different kinds of ‘principle local activity’, using different ascii characters to create a colour graduation. Unfortunately some of the particular legend categories are lost due to the low quality of reproduction on this particular map, nevertheless we see that Boston exhibits a distinct spatial patterning with respect to principle activity. This kind of map is not unusual, land use mapping is still an actively researched area that continues to generate copious debate – what interests me actually seems rather minor, it is the description of the map as presenting “The principle local activity of a place” (emphasis added). Initially I wondered whether this phrasing was simply standard boilerplate, but a google search couldn’t find the exact phrase, or variations on it, anywhere else on the web (which is not to say that it isn’t standard, simply that it doesn’t exist on google, I imagine it would have appeared had it been related to statistical reporting at some time or another). What it may mean then is that it marks the way in which the author Carl Steinitz saw the representation at the time: as a representation of the local activity of a place.

This is interesting, first it is easy to assume that by place he meant ‘Boston’, Boston is after all a place. However, scale has a very interesting role to play in how we think about place: we can conceive of many places within Boston centred around communities of all kinds, these places will be at least partially defined by the ‘local activities’ that occur there. As such the gridded representation of this map hints at the possibility of lots of places within Boston each with particular autobiographies, and each engaging people in different ways and offering different opportunities. Subsequent advances in GIS formalised the discourse of ‘space’ and spatial analysis, after all GIS does fundamentally hinge on the euclidian system of representation, and as such the vast, expansive idea of space sits much better than a nuanced, specific, local concept such as place. It would be easy to disregard Steinitz’s map and say that of course it simply assesses land use in Boston by a grid of systematically defined areas, but that designation of ‘place’ – purposeful or not- adds another layer of interpretation. Fundamentally it gives a different sense to what it is being represented here.

Continue Reading

Hospital Outpatients in Southwark 08/09

.........................................................

Amongst other things, I’m beginning to tap into a data source I have acquired for my research known as Hospital Episode Statistics (HES). These are datasets which record the particulars of hospital service by patients. Generally they have a bit of a learning curve, and require the gathering of several additional datasets in order to make them useful. Having gathered all this data and put in all within a MySQL database I decided to conduct a basic analysis, using my study site of Southwark as a guinea pig. Essentially I wanted to known whether more people from Southwark were using hospitals of outpatient appointments than we would expect from national (England) figures. There are many reasons why any given area might be using health care services at a greater or lesser rate than other areas, but for the moment I simply wanted to see whether there was any interesting patterns.

In the HES data it is simple to calculate the total number of people using outpatient care, what is more complex is deriving an expected score from the national data. I went about it in the following way:

Firstly, I took the ONS experimental population projections from mid-2008 and calculated the number of people in each Southwark LSOA, and at the national (England) level, for each of the available age bands by men and women. The population projection age bands are quite coarse, giving totals for 5 population groups: 0-15, 16-29, 30-44, 45-64 (for men) or 45-59 (for women) and 65+ (for men) and 60+ for women. This isn’t ideal, but the age bands do roughly correlate with the different groups of mortality causes in the Grim Reaper’s road map (Shaw, Thomas, Smith and Dorling, 2008). Then I calculated the admission totals for all of the age-sex bands nationally (England), with this I could create a ratio of admissions against popualtion nationally. By applying this ratio to the Southwark LSOA population projects I could create an expected value for number of admissions per areas. Finally it is simply a case of dividing the observed admissions by the expected and multipling by 100 to get a score.

I mapped the results as follows, a score of 100 suggests that the area is not different from the national picture, whereas a value higher than 100 suggests that the area has more people using hospitals than we would expect and a value lower than 100 suggests the converse.

In the case of Southwark, the pattern seems to follow those that are often observed in my work on Southwark, in that the Bankside areas, and the southern part of the borough, in addition with the north-eastern former docklands area have levels of admissions that are equivilant too, or lower than what we would expect nationally, whereas the central areas have admission numbers higher than the national level.

Continue Reading

The Blogroll

Search this Site


[]