Advertisement
Guest User

Untitled

a guest
May 4th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. #maiden head to lon/lat
  3.  
  4. __MH__ = 'HK34wh'
  5.  
  6. def GetLon(ONE, THREE, FIVE):
  7. StrStartLon = ''
  8. StrEndLon = ''
  9.  
  10. Field = ((ord(ONE.lower()) - 97) * 20)
  11. Square = int(THREE) * 2
  12. SubSquareLow = (ord(FIVE.lower()) - 97) * (2/24)
  13. SubSquareHigh = SubSquareLow + (2/24)
  14.  
  15. StrStartLon = str(Field + Square + SubSquareLow - 180 )
  16. StrEndLon = str(Field + Square + SubSquareHigh - 180 )
  17.  
  18. return StrStartLon, StrEndLon
  19.  
  20. def GetLat(TWO, FOUR, SIX):
  21. StrStartLat = ''
  22. StrEndLat = ''
  23.  
  24. Field = ((ord(TWO.lower()) - 97) * 10)
  25. Square = int(FOUR)
  26. SubSquareLow = (ord(SIX.lower()) - 97) * (1/24)
  27. SubSquareHigh = SubSquareLow + (1/24)
  28.  
  29. StrStartLat = str(Field + Square + SubSquareLow - 90)
  30. StrEndLat = str(Field + Square + SubSquareHigh - 90)
  31.  
  32. return StrStartLat, StrEndLat
  33.  
  34. def main(strMaidenHead = __MH__):
  35. if len(strMaidenHead) < 6: strMaidenHead = __MH__
  36.  
  37. ONE = strMaidenHead[0:1]
  38. TWO = strMaidenHead[1:2]
  39. THREE = strMaidenHead[2:3]
  40. FOUR = strMaidenHead[3:4]
  41. FIVE = strMaidenHead[4:5]
  42. SIX = strMaidenHead[5:6]
  43.  
  44. (strStartLon, strEndLon) = GetLon(ONE, THREE, FIVE)
  45. (strStartLat, strEndLat) = GetLat(TWO, FOUR, SIX)
  46.  
  47. print ('Start Lon = ' + strStartLon)
  48. print ('End Lon = ' + strEndLon)
  49. print ()
  50. print ('Start Lat = ' + strStartLat)
  51. print ('End Lat = ' + strEndLat)
  52.  
  53. return strStartLon, strEndLon, strStartLat, strEndLat
  54.  
  55. #BEGIN
  56. if __name__ == '__main__':
  57. main ()
  58. sys.exit ('end of script: '+ os.path.basename(__file__) + os.linesep + 'by: Edwin van Mierlo')
  59. #END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement