
In both Ireland and the UK, the Ordnance survey divides down the country into a series of lettered 100km x 100km squares, represented by 1 letter (Ireland) or 2 (UK mainland), and then measures / reports and Easting / Northing within that square.
Example:
ST645332 (UK, box ST, 64.5 km east, 33.2 km north)
J665543 (Ireland, box J, 66.5 km east, 54.3 km north)
For Graphic Information systems and for other comparisons, there's a need to remove the letter and add extra numbers onto the Easting and Northing to produce a pair of system wide co-ordinates, and due to the lack of a pattern in the letters, that's typically done with a lookup table.
Yesterday, I wrote a python program to do the conversion ...
Dorothy:d2 grahamellis$ ./irish_grid G552844
155200 384400 G552844
Dorothy:d2 grahamellis$
... which also handles a whole load of other formats (and reports to two more significant figures)
You are welcome to view / copy / use that program
[source code here] which is an excellent expression of how regular expressions are used and captured in Python, and of course you are very welcome to come to our
Python Course if you want to learn more about how to do this sort of thing yourself!
Illustration - Trim Castle [link]
P.S. Answer to a totally different question - look
here for the class that lets you read Excel spread sheets into Python (Answer for course delegate!)
(written 2009-01-28)
Associated topics are indexed under
Y110 - Python - File Handling [3558] Python or Lua - which should I use / learn? - (2011-12-21)
[3465] How can I do an FTP transfer in Python? - (2011-10-05)
[3442] A demonstration of how many Python facilities work together - (2011-09-16)
[3083] Python - fresh examples from recent courses - (2010-12-11)
[2870] Old prices - what would the equivalent price have been in 1966? - (2010-07-14)
[2282] Checking robots.txt from Python - (2009-07-12)
[1442] Reading a file multiple times - file pointers - (2007-11-23)
[183] The elegance of Python - (2005-01-19)
[114] Relative or absolute milkman - (2004-11-10)
Y105 - Python - Functions, Modules and Packages [3474] Python Packages - groupings of modules. An introduction - (2011-10-11)
[3472] Static variables in functions - and better ways using objects - (2011-10-10)
[3464] Passing optional and named parameters to python methods - (2011-10-04)
[3459] Catching the fishes first? - (2011-09-27)
[3280] Passing parameters to Python functions - the options you have - (2011-05-07)
[3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
[2998] Using an exception to initialise a static variable in a Python function / method - (2010-10-13)
[2994] Python - some common questions answered in code examples - (2010-10-10)
[2929] Passing a variable number of parameters in to a function / method - (2010-08-20)
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19)
[2766] Optional and named parameters to Python functions/methods - (2010-05-15)
[2718] Python - access to variables in the outer scope - (2010-04-12)
[2520] Global and Enable - two misused words! - (2009-11-30)
[2506] Good example of recursion in Python - analyse an RSS feed - (2009-11-18)
[2481] Sample code with errors in it on our web site - (2009-10-29)
[2440] Optional parameters to Python functions - (2009-10-07)
[2439] Multiple returns from a function in Python - (2009-10-06)
[1879] Dynamic code - Python - (2008-11-11)
[1871] Optional and named parameters in Python - (2008-11-05)
[1870] What to do with a huge crop of apples - (2008-11-04)
[1869] Anonymous functions (lambdas) and map in Python - (2008-11-04)
[1790] Sharing variables with functions, but keeping them local too - Python - (2008-09-09)
[1784] Global - Tcl, PHP, Python - (2008-09-03)
[1464] Python Script - easy examples of lots of basics - (2007-12-08)
[1202] Returning multiple values from a function (Perl, PHP, Python) - (2007-05-24)
[1163] A better alternative to cutting and pasting code - (2007-04-26)
[1134] Function / method parameters with * and ** in Python - (2007-04-04)
[959] It's the 1st, not the 1nd 1rd or 1th. - (2006-12-01)
[949] Sludge off the mountain, and Python and PHP - (2006-11-27)
[913] Python - A list of methods - (2006-11-03)
[912] Recursion in Python - (2006-11-02)
[900] Python - function v method - (2006-10-20)
[821] Dynamic functions and names - Python - (2006-08-03)
[775] Do not duplicate your code - (2006-06-23)
[749] Cottage industry or production line data handling methods - (2006-06-07)
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus. - (2006-06-05)
[668] Python - block insets help with documentation - (2006-04-04)
[561] Python's Generator functions - (2006-01-11)
[418] Difference between import and from in Python - (2005-08-18)
[386] What is a callback? - (2005-07-22)
[340] Code and code maintainance efficiency - (2005-06-08)
[308] Call by name v call by value - (2005-05-11)
[303] Lambdas in Python - (2005-05-06)
[294] Python generator functions, lambdas, and iterators - (2005-04-28)
[105] Distance Learning - (2004-10-31)
[96] Variable Scope - (2004-10-22)
Some other Articles
Service Excellence AwardsFirst ClasswxPython - Introduction and sampleThe Wiltshire PoliceConversion of OSI grid references to Eastings and NorthingsHow long should a training module be?The Royal Mail ReceiptThe Month Ahead - What is happening in MelkshamLaunch of Melksham Food and Drink FestivalContrast