4

Most bank statements (at least mine here in the UK) contain coded information for cash withdrawls such as:

CASH RB SCOT JAN11 TESCO STREAT@08:56
CASH SAINSBY JUN23 STREATHAM C @10:46

I'm fairly sure this can be broken down into the following tuple (tran_type, operator, date, location, @time)

What I'd like to do is translate from (operator,location) to GPS coordinates, a postcode, or some other geographic identifier.

Is anyone aware of where I might find such an information source? Is it commercial, or open-source?

N.B. Imported from Data Science

4

You'll probably have to generate the dataset in some way. Two ideas:


OPTION 1

If you search Google Maps for "RB SCOT STREATHAM UK" or "SAINSBY STREATHAM UK" then you'll get lat/long and a structured address as a json/xml response.

 https://maps.googleapis.com/maps/api/geocode/json?address=RB+SCOT,+STREATHAM,+UK

gives you

   {
   "exclude_from_slo" : true,
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Streatham",
               "short_name" : "Streatham",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "London",
               "short_name" : "London",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "London",
               "short_name" : "London",
               "types" : [ "postal_town" ]
            },
            {
               "long_name" : "Greater London",
               "short_name" : "Gt Lon",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "England",
               "short_name" : "England",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United Kingdom",
               "short_name" : "GB",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "SW16",
               "short_name" : "SW16",
               "types" : [ "postal_code_prefix", "postal_code" ]
            }
         ],
         "formatted_address" : "Streatham, London SW16, UK",
         "geometry" : {
            "location" : {
               "lat" : 51.4278711,
               "lng" : -0.1240577
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 51.4348276,
                  "lng" : -0.1080503
               },
               "southwest" : {
                  "lat" : 51.4209136,
                  "lng" : -0.1400651
               }
            }
         },
         "partial_match" : true,
         "place_id" : "ChIJYy_GLicEdkgR8tZDk3J6iO0",
         "types" : [ "neighborhood", "political" ]
      }
   ],
   "status" : "OK"
}

If you can enhance the address before sending it to the geocoding service (i.e. add country, convert STREAT to STREATHAM), you'll have better success.

Some geolocation web services:


OPTION 2

OpenStreetMap has an ATM tag that you may be able to map to your data. Here are two questions from our network related to this data source:

3

Open data campaigner Owen Boswarva identifies cash machines and their location as an obvious data set held by private sector organisations which should be released as open data, and I'd certainly agree with that! On that blog post he says...

"The national dataset is maintained by LINK, an industry-backed scheme. The public can search the dataset from the LINK website, but bulk data is available only on commercial terms."

OpenStreetMap has a lot of cash machines. You can query for such things using Overpass API This is a very flexible API which has made the older "XAPI" obsolete. It lets you ask for "amenity=atm objects in the UK in CSV format" for example.

The OpenStreetMap community is busy creating open data for the location of these things, and anyone can join in. I added one today in fact! But we've probably got a way to go before we're near "complete" on that. The map gets built more in the areas where people are more interested, and with the data types people find more interesting. Cash machines are actually an example of something where, perhaps with a few more apps and services using OpenStreetMap data, we might boost community interest in adding that data. So you're encouraged to build an app with it, with a little note saying "See a missing cash machine? Go to OpenStreetMap.org to add it!"

Incidentally when I'm on the move and looking for a cash machine I'll use a bookmark I have on my iPhone homescreen to: http://thenextis.com ...so there are some examples of using this data already.

Your question also made me ponder another possibility: if we could somehow get hold of an "open" sample of lots of people's bank statements (!?) we could use that as a source to check and find missing cash machines in OpenStreetMap.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.