SergioT59

Untitled

Feb 21st, 2022
456
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. !/usr/bin/python
  2. # -*- coding: iso-8859-15 -*-
  3.  
  4. # ---------
  5. # extract data events from MySql db and store data in xml, kmz and nnl output
  6. # scshowdata -lat x -lon y -d km ,-xml (for xml format) -kmz (Year, Month, Day, None), sv
  7.  
  8. import os, sys, zipfile, glob, shutil, string, MySQLdb, base64, time, locale, commands, calendar, expand, re, struct
  9. from expand import expand_var
  10. from optparse import OptionParser
  11. from subprocess import call, Popen,PIPE
  12. from datetime import datetime,date,timedelta
  13. #from time import strftime
  14. from xml.etree.ElementTree import Element, SubElement, tostring
  15. from xml.dom import minidom
  16. import tempfile,math, urllib, json
  17.  
  18. up="\033[F"
  19. reload(sys)
  20. sys.setdefaultencoding('utf8')
  21. precision=expand_var('scheme.precision.location')
  22. class specification:
  23. def __init__(self, anno, giorno, ore, minuti, secondi, reserved, msec):
  24. self.anno = struct.unpack('!H',self)
  25. self.giorno = giorno
  26. self.ore = ore
  27. self.minuti = minuti
  28. self.secondi = secondi
  29. self.reserved = reserved
  30. self.millisec = msec
  31.  
  32. class MSeed:
  33. def __init__(self, numPack, dataType, reserved, stazCode, stazLoc, canCode, netCode, packTime, campNum, rate, rateMult, actFlags, IOflag, qualFlag, blockNum, corrTime, offsetData, offsetInizio, blocchetto):
  34. print numPack
  35. self.numPack = numPack
  36. self.dataType = dataType
  37. self.reserved = reserved
  38. self.stazCode = stazCode
  39. self.stazLoc = stazLoc
  40. self.canCode = canCode
  41. self.netCode = netCode
  42. self.packTime = packTime
  43. self.campNum = campNum
  44. self.rate = rate
  45. self.rateMult = rateMult
  46. self.actFlags = actFlags
  47. self.IOflag = IOflag
  48. self.qualFlag = qualFlag
  49. self.blockNum = blockNum
  50. self.corrTime = corrTime
  51. self.offsetData = offsetData
  52. self.offsetInizio = offsetInizio
  53. self.blocchetto = blocchetto
  54.  
  55. fileReading = '/home/sysop/seiscomp3/sc3utils/20151225_003551.689.osb2015zedh.mseed'
  56. fileHeader = open(fileReading , 'rb')
  57.  
  58. allread = fileHeader.read(64)
  59.  
  60. inputData = MSeed
  61. packTime = specification
  62. inputData.numPack = ''.join(struct.unpack('cccccc',allread[:6]))
  63. inputData.dataType = ''.join(struct.unpack('c',allread[6]))
  64. inputData.reserved = ''.join(struct.unpack('c',allread[7]))
  65. inputData.stazCode = ''.join(struct.unpack('ccccc',allread[8:13]))
  66. inputData.stazLoc = ''.join(struct.unpack('cc',allread[13:15]))
  67. inputData.canCode = ''.join(struct.unpack('ccc',allread[15:18]))
  68. inputData.netCode = ''.join(struct.unpack('cc',allread[18:20]))
  69. print struct.unpack('!H',allread[20:22])[0]
  70. packTime.anno = struct.unpack('!H',allread[20:22])[0]
  71. packTime.giorno = struct.unpack('!H',allread[22:24])[0]
  72. packTime.ore = struct.unpack('b',allread[24])[0]
  73. packTime.minuti = struct.unpack('b',allread[25])[0]
  74. packTime.secondi = struct.unpack('b',allread[26])[0]
  75. packTime.reserved = struct.unpack('b',allread[27])[0]
  76. packTime.msec = struct.unpack('!h',allread[28:30])[0]
  77.  
  78. inputData.packTime = packTime
  79. print inputData.packTime.anno
  80. print inputData.packTime.giorno
  81. print inputData.packTime.ore
  82. print inputData.packTime.minuti
  83. print inputData.packTime.secondi
  84. print inputData.packTime.reserved
  85. print inputData.packTime.msec
  86.  
Add Comment
Please, Sign In to add comment