Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- !/usr/bin/python
- # -*- coding: iso-8859-15 -*-
- # ---------
- # extract data events from MySql db and store data in xml, kmz and nnl output
- # scshowdata -lat x -lon y -d km ,-xml (for xml format) -kmz (Year, Month, Day, None), sv
- import os, sys, zipfile, glob, shutil, string, MySQLdb, base64, time, locale, commands, calendar, expand, re, struct
- from expand import expand_var
- from optparse import OptionParser
- from subprocess import call, Popen,PIPE
- from datetime import datetime,date,timedelta
- #from time import strftime
- from xml.etree.ElementTree import Element, SubElement, tostring
- from xml.dom import minidom
- import tempfile,math, urllib, json
- up="\033[F"
- reload(sys)
- sys.setdefaultencoding('utf8')
- precision=expand_var('scheme.precision.location')
- class specification:
- def __init__(self, anno, giorno, ore, minuti, secondi, reserved, msec):
- self.anno = struct.unpack('!H',self)
- self.giorno = giorno
- self.ore = ore
- self.minuti = minuti
- self.secondi = secondi
- self.reserved = reserved
- self.millisec = msec
- class MSeed:
- def __init__(self, numPack, dataType, reserved, stazCode, stazLoc, canCode, netCode, packTime, campNum, rate, rateMult, actFlags, IOflag, qualFlag, blockNum, corrTime, offsetData, offsetInizio, blocchetto):
- print numPack
- self.numPack = numPack
- self.dataType = dataType
- self.reserved = reserved
- self.stazCode = stazCode
- self.stazLoc = stazLoc
- self.canCode = canCode
- self.netCode = netCode
- self.packTime = packTime
- self.campNum = campNum
- self.rate = rate
- self.rateMult = rateMult
- self.actFlags = actFlags
- self.IOflag = IOflag
- self.qualFlag = qualFlag
- self.blockNum = blockNum
- self.corrTime = corrTime
- self.offsetData = offsetData
- self.offsetInizio = offsetInizio
- self.blocchetto = blocchetto
- fileReading = '/home/sysop/seiscomp3/sc3utils/20151225_003551.689.osb2015zedh.mseed'
- fileHeader = open(fileReading , 'rb')
- allread = fileHeader.read(64)
- inputData = MSeed
- packTime = specification
- inputData.numPack = ''.join(struct.unpack('cccccc',allread[:6]))
- inputData.dataType = ''.join(struct.unpack('c',allread[6]))
- inputData.reserved = ''.join(struct.unpack('c',allread[7]))
- inputData.stazCode = ''.join(struct.unpack('ccccc',allread[8:13]))
- inputData.stazLoc = ''.join(struct.unpack('cc',allread[13:15]))
- inputData.canCode = ''.join(struct.unpack('ccc',allread[15:18]))
- inputData.netCode = ''.join(struct.unpack('cc',allread[18:20]))
- print struct.unpack('!H',allread[20:22])[0]
- packTime.anno = struct.unpack('!H',allread[20:22])[0]
- packTime.giorno = struct.unpack('!H',allread[22:24])[0]
- packTime.ore = struct.unpack('b',allread[24])[0]
- packTime.minuti = struct.unpack('b',allread[25])[0]
- packTime.secondi = struct.unpack('b',allread[26])[0]
- packTime.reserved = struct.unpack('b',allread[27])[0]
- packTime.msec = struct.unpack('!h',allread[28:30])[0]
- inputData.packTime = packTime
- print inputData.packTime.anno
- print inputData.packTime.giorno
- print inputData.packTime.ore
- print inputData.packTime.minuti
- print inputData.packTime.secondi
- print inputData.packTime.reserved
- print inputData.packTime.msec
Add Comment
Please, Sign In to add comment