Changeset 788 for SHX/trunk


Ignore:
Timestamp:
10/18/12 17:24:39 (8 years ago)
Author:
marcus
Message:
  • more on inventory...
Location:
SHX/trunk/SeismicHandler
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/modules/filters.py

    r594 r788  
    8484                self.__doc__ += line[1:] 
    8585                continue 
     86            import pdb; pdb.set_trace() 
    8687            # test for "magic" number 1357913578 
    8788            if not line.startswith("1357913578"): 
  • SHX/trunk/SeismicHandler/modules/stations.py

    r786 r788  
    2020    """ 
    2121    Table holding stations inventory for single channels (e.g. GR.GRA1..BHZ). 
     22 
     23    All floating point data is stored as string in order to prevent floating 
     24    point issues. 
    2225    """ 
    2326    __tablename__ = "meta" 
     
    4750    offdate = sa.Column(sa.DateTime, index=True) 
    4851    offdatems = sa.Column(sa.Integer, index=True) 
    49     latitude = sa.Column(sa.Float(precision=13)) 
    50     longitude = sa.Column(sa.Float(precision=13)) 
    51     elevation = sa.Column(sa.Float(precision=2)) 
    52     depth = sa.Column(sa.Float(precision=2), default=0.) 
     52    latitude = sa.Column(sa.String(length=20)) 
     53    longitude = sa.Column(sa.String(length=20)) 
     54    elevation = sa.Column(sa.String(length=20)) 
     55    depth = sa.Column(sa.String(length=20), default="0.") 
    5356    # array coordinate offset 
    54     offsetx = sa.Column(sa.Float(precision=3), default=None) 
    55     offsety = sa.Column(sa.Float(precision=3), default=None) 
    56     gain = sa.Column(sa.Float(precision=5), default=1.) 
     57    offsetx = sa.Column(sa.String(length=20), default="") 
     58    offsety = sa.Column(sa.String(length=20), default="") 
     59    gain = sa.Column(sa.String(length=20), default="1.") 
    5760    zeros = sa.Column(sa.Text) 
    5861    poles = sa.Column(sa.Text) 
     
    109112        station and location (name) and location, stream and component (canal). 
    110113        """ 
    111         if name.lower() not in ["start", "end", "name", "canal"]: 
    112             return self.__getattribute__(name) 
    113  
    114         if name.lower() == "name": 
     114        name = name.lower() 
     115        if name not in ["start", "end", "name", "canal"]: 
     116            value = self.__getattribute__(name) 
     117            if name in ["latitude", "longitude", "depth", "elevation", "gain"]: 
     118                return float(value) 
     119 
     120            return value 
     121 
     122        if name == "name": 
    115123            return ".".join([ 
    116124                self.__dict__["network"], 
     
    119127            ]) 
    120128 
    121         if name.lower() == "canal": 
     129        if name == "canal": 
    122130            return "".join([ 
    123131                self.__dict__["stream"], 
     
    126134 
    127135        # build UTCDateTime from o[n|ff]date[ms] 
    128         if name.lower() == "start": 
     136        if name == "start": 
    129137            return UTCDateTime(self.__dict__["ondate"]) + \ 
    130138                                                 self.__dict__["ondatems"] / 1e6 
     
    304312 
    305313        session = self.dbsessions[self.dbreadwrite] 
     314 
     315        # check for update 
     316        try: 
     317            update = self[station.channel, station.start] 
     318        except: 
     319            pass 
     320 
    306321        session.add(station) 
    307322 
Note: See TracChangeset for help on using the changeset viewer.