Names and Identifiers for Physical Locations [UPDATED]

Earlier this week I managed to miss a talk about Erewhon, an Oxford University project that “exists to research and develop methods of accessing University information and services from mobile devices”. The project maintains, amongst other things, oxpoints, a ‘name and location’ server that provides a dictionary of geocoded names relating to Oxford University sites and departments. (Fortunately, @ostephens blogged the talk here: Telstar blog: Erewhon).

It was interesting to see one of the early mashup examples on the Erewhon blog was a Simple Library mashup that allows you to “(f)ind the nearest copy of a book from a reading list” using the oxpoints service.

The whole ‘bringing places to the browser’ took another step forward today as well with the announcement of Place Pages for Google Maps. The idea appears to be to have a (wiki like?) page for every location… but what particularly caught my eye was the structure of the URIs, which are human readable and based on the actual address… So for example:

which you’d probably expect to be there… and locations like:

which you possibly wouldn’t?

So now you can guess at the human readable, and human hackable, URL of a particular location.

PS each location also seems to have a machine URI, rather than the human readable URIs, containing a cid argument which I’m guessing is some sort of place identifier? For example:

It probably bears no relation to Yahoo’s WOEIDs, though, which are also used by flickr, but it would make sense for someone to start publishing relations between them?


Hmmm – that Downing Street link just goes to a placeholder page…

But this more detailed page also exists:

That is, after the address give the ‘business name’, in this case:

So if you have an address – e.g.
and you add “-BUSINESSNAME”, you get a business page?


What seems to be happening is that the first part of the URI provides a geographical context for a business search term.

So for example:

That is, the URI seems to be implementing a 2D search: a location part (eg gb/london/mayfair) and a business name part (harrods, identified by the leading )?

(For more 2D search thoughts, see: Mashlib Pipes Tutorial: 2D Journal Search or searchfeedr.)

MPs Expenses by Constituency (Sort Of…)

A few weeks ago, I posted several maps visualising MPs’ expenses (Visualising MPs’ Expenses Using Scatter Plots, Charts and Maps). A couple of days later, I created another map that I didn’t post at the time, partly becuase it’s very approximate, but it does demonstrate something I haven’t logged on before – how to do overlays on Google maps…

So here’s a the link: MPs expenses block map.

The blocks are defined using the bounding box co-ordinates for each MP’s constituency as made available by TheyWorkForYou (specifically, using the getGeometry API call).

The data set for the map was constructed by adding bounding box data for each constituency to a Dabble DB table, and then joining it with expenses data from another table.

PS following this tweet from @ElrikMerlin “Oh, that IS cool. What happens if you colour boxes by party and simply have area proportional to amount?” I knocked up a quick proportional symbol map that shows the total travel expenses claimed by party, where the circle diameter is proportional to the total expenses and the colour denotes the party.

MPs total travel expenses by party

But’ that’s enough for now… this is supposed to be a holiday weekend, after all…!

Barriers to Open Availability of Information? IW Planning Committee Audio Recordings

Chatting to Simon Perry of the Ventnor Blog over a pint at the Yarbridge Inn last week, he mentioned that recording of the Isle of Wight Council Planning Committee were available on the Isle of Wight Council website, albeit in an obfuscated and hard to find way (you know the sort of thing: a full stop or 1×1.gif is used as the link text and the anchor has {text-decoration: none};-).

So I thought it might be interesting to see how easy it would be to plot the recordings on a map, “locating” the recording of each application at the place where the planned changes would actually take place. The idea being, of course, that a map based index makes it easier to find information about planning applications in your own locale.

The recipe I had in mind was something like the following:

– scrape a list of recordings, along with the location each one referred to, and make it available as JSON or RSS feed;
– take the feed, geocode it as required, and hook it into a “geopodcast” map, (that is, a pre-existing application that would take a geocoded podcast feed and display it on a map, letting you click on a marker and play the audio file located at that point).

Easy, right? A half hour job, I thought…

Hmmm…maybe not:

– the only place I could find links to the audio files were in the minutes of the relevant committee meeting, minutes that are only published as PDF documents; and PDF scraping is not something I know how to do (yet…?!);
– a quick search around turned up no obvious geopodcast plotting maps.

(Maybe the 4ip funded AudioBoo project, which lets users users to record and share audio from their mobile phones, will also spin off an easy to use “geopodcast map plotter”…? (Let’s also hope AudioBoo gets more traction than audiotagger did!))

So here’s what I ended up doing instead for a proof of concept. Firstly, from the Planning Committee webpage, I opened one of the minutes PDFs, and cut and pasted the details of a planning decision into a Yahoo pipe to create a test feed. (The title of the application links to the audio recording of it’s consideration – so you can check the veracity of the minutes if you want to…)

Here’s the pipe:

A couple of things to note:
– the planning committee minutes don’t make it easy to get a geocoded position for the application; I ended up using the Post Office postcode finder to get a postcode from the address stated in the application, so that I could get a reasonable fix on the location with the (rather crappy) Yahoo pipes geocoder block.

– the URl of the audio files are very long and truly horrible; when I was testing embed codes for various media players, they would occasionally choke on the URI (possibly because I wasn’t escaping or encoding it when I should have been?); anyway, a simple fix was to just get a minified version of the URI and pass that to the audio player (the block is one I found that will minify a supplied URI).

So that’s the pipe.

For the map, I pulled out the code from my (now broken…) geotwitterous app, and added the ability to display an embedded audio player in marker pop-up box:

Here’s the demo: GeoAudio demo: IW planning applications.

For the future? An obvious next step would be to just cut details from planning committee minutes and paste them into a Google spreadsheet, then take a CSV output into a pipe, geocode it, and pass it into the map. But that’s for another day…

In the longer term, pulling together all the relevant documents associated with a planning application (maybe using the Plannig Alerts API?) into a single interface would be handy. (I’d also love to see kids in local schools and the local college doing some practical ICT/DT CAD work generating 3D Sketch-up versions of planning applications so they can be viewed in Google Earth;-)

Google MyMaps Now With RSS (= Easy Geoblogging)

A tweet from Jim Groom earlier this week alerted me to a post he had just written entitled Google My Maps with RSS.

Now some time earlier this year, I’d hacked together a Yahoo Pipe that would generate an RSS feed from the KML feed output of a map, and so provide an ad hoc geoblogging environment from Google MyMaps (MyMaps GeoBlogger – Blogging From Google Maps).

But the availability of the RSS feed direct from the MyMap just makes this a whole lot easier…

And yes, the RSS output is geocoded (that is, the feed is GeoRSS):

PS Google also just changes the Terms of Service on Google Maps. As with all rights issues, I’m not totally sure I understand what the actual consequences are… For a discussion, see Ed Parsons’ Who reads the Terms of Service anyway...

PPS for easy maps data mashups, check out The CogDog gives an eduview here: Geocommons Makes it Easy for Anyone to Mashup Data & Maps. You might also find this technique for geocoding data from a Google spreadsheet useful…

Olympic Medal Table Map

Every four years, I get blown away by the dedication of people who have spent the previous four years focussed on their Olympic Challenge (I find it hard to focus for more than an hour or two on any one thing!)

Anyway, I was intrigued to see this post on Google Maps Mania yesterday – Olympic Heat Maps – that displayed the Olympics medal table in the form of a heat map, along with several variants (medal tallies normalised against population, or GDP, for example).

The maps were neat, but static – they’d been derived by cutting and pasting a snapshot of a medals table into a Google spreadsheet, and then creating a Heat Map widget using the data…

Hmmm… ;-)

So I had a look round for a ‘live’ data source for the medals table, didn’t find anything obvious, so looked for a widget that might be pulling on a hidden data source somewhere… Whereupon I found a reference to a WordPress Olympic Medal Tally widget

A quick peek at the code shows the widget pulling on a data feed from the 08:08:08 Olympics blog, so I ‘borrowed’ the feed and some of the widget code to produce a simple HTML table containing the ISO country codes that the Google Heat Map widget requires, linked to it from a Google Spreadsheet (Google Spreadsheets Lets You Import Online Data) and created a live Olympic medal table map (top 10).

If you want to use the heat map as an iGoogle widget, here it is: Olympic Medal Table Map Widget.